From 93c038139059191846452e880aee35336d975b3a Mon Sep 17 00:00:00 2001 From: Osma Suominen Date: Wed, 23 May 2018 18:16:07 +0300 Subject: [PATCH] Change feedback message headers to use Reply-To and make name and e-mail optional. Fixes #761 --- config.inc.dist | 5 +- controller/WebController.php | 25 ++- model/GlobalConfig.php | 18 ++ resource/js/docready.js | 2 +- .../translations/en/LC_MESSAGES/skosmos.mo | Bin 10783 -> 10970 bytes .../translations/fi/LC_MESSAGES/skosmos.mo | Bin 11094 -> 11280 bytes resource/translations/skosmos_en.po | 54 +---- resource/translations/skosmos_fi.po | 197 +----------------- resource/translations/skosmos_sv.po | 191 +---------------- .../translations/sv/LC_MESSAGES/skosmos.mo | Bin 11068 -> 11222 bytes view/feedback.twig | 3 +- 11 files changed, 55 insertions(+), 440 deletions(-) diff --git a/config.inc.dist b/config.inc.dist index d73532109..0d1a4a939 100644 --- a/config.inc.dist +++ b/config.inc.dist @@ -31,9 +31,12 @@ define("TEMPLATE_CACHE", "/tmp/skosmos-template-cache"); // set to "JenaText" instead if you use Fuseki with jena-text index define("DEFAULT_SPARQL_DIALECT", "Generic"); -// default email address to send the feedback +// default email address where to send the feedback define("FEEDBACK_ADDRESS", ""); +// email address to set as the sender for feedback messages +define("FEEDBACK_SENDER", ""); + // email address to set as the envelope sender for feedback messages define("FEEDBACK_ENVELOPE_SENDER", ""); diff --git a/controller/WebController.php b/controller/WebController.php index 74bb301cd..d34d0e815 100644 --- a/controller/WebController.php +++ b/controller/WebController.php @@ -273,15 +273,19 @@ public function invokeFeedbackForm($request) )); } - private function createFeedbackHeaders($fromName, $fromEmail, $toMail) + private function createFeedbackHeaders($fromName, $fromEmail, $toMail, $sender) { $headers = "MIME-Version: 1.0″ . '\r\n"; $headers .= "Content-type: text/html; charset=UTF-8" . "\r\n"; - if ($toMail) { + if (!empty($toMail)) { $headers .= "Cc: " . $this->model->getConfig()->getFeedbackAddress() . "\r\n"; } + if (!empty($fromEmail)) { + $headers .= "Reply-To: $fromName <$fromEmail>\r\n"; + } - $headers .= "From: $fromName <$fromEmail>" . "\r\n" . 'X-Mailer: PHP/' . phpversion(); + $service = $this->model->getConfig()->getServiceName(); + $headers .= "From: $fromName via $service <$sender>"; return $headers; } @@ -299,16 +303,23 @@ public function sendFeedback($request, $message, $fromName = null, $fromEmail = $message = 'Feedback from vocab: ' . strtoupper($fromVocab) . "
" . $message; } - $subject = SERVICE_NAME . " feedback"; - $headers = $this->createFeedbackHeaders($fromName, $fromEmail, $toMail); - $envelopeSender = FEEDBACK_ENVELOPE_SENDER; + $envelopeSender = $this->model->getConfig()->getFeedbackEnvelopeSender(); + $subject = $this->model->getConfig()->getServiceName() . " feedback"; + // determine the sender address of the message + $sender = $this->model->getConfig()->getFeedbackSender(); + if (empty($sender)) $sender = $envelopeSender; + if (empty($sender)) $sender = $toAddress; + + // determine sender name - default to "anonymous user" if not given by user + if (empty($fromName)) $fromName = "anonymous user"; + + $headers = $this->createFeedbackHeaders($fromName, $fromEmail, $toMail, $sender); $params = empty($envelopeSender) ? '' : "-f $envelopeSender"; // adding some information about the user for debugging purposes. $message = $message . "

Debugging information:" . "
Timestamp: " . date(DATE_RFC2822) . "
User agent: " . $request->getServerConstant('HTTP_USER_AGENT') - . "
IP address: " . $request->getServerConstant('REMOTE_ADDR') . "
Referer: " . $request->getServerConstant('HTTP_REFERER'); try { diff --git a/model/GlobalConfig.php b/model/GlobalConfig.php index e2881851a..075843d3e 100644 --- a/model/GlobalConfig.php +++ b/model/GlobalConfig.php @@ -141,6 +141,24 @@ public function getFeedbackAddress() return $this->getConstant('FEEDBACK_ADDRESS', null); } + /** + * Returns the feedback sender address defined in the configuration. + * @return string + */ + public function getFeedbackSender() + { + return $this->getConstant('FEEDBACK_SENDER', null); + } + + /** + * Returns the feedback envelope sender address defined in the configuration. + * @return string + */ + public function getFeedbackEnvelopeSender() + { + return $this->getConstant('FEEDBACK_ENVELOPE_SENDER', null); + } + /** * Returns true if exception logging has been configured. * @return boolean diff --git a/resource/js/docready.js b/resource/js/docready.js index b464c0464..57b5688ee 100644 --- a/resource/js/docready.js +++ b/resource/js/docready.js @@ -774,7 +774,7 @@ $(function() { // DOCUMENT READY var emailMessageVal = $("#message").val(); var emailAddress = $("#email").val(); var requiredFields = true; - if (emailAddress === '' || emailAddress.indexOf('@') === -1) { + if (emailAddress != '' && emailAddress.indexOf('@') === -1) { $("#email").addClass('missing-value'); requiredFields = false; } diff --git a/resource/translations/en/LC_MESSAGES/skosmos.mo b/resource/translations/en/LC_MESSAGES/skosmos.mo index c948cb0b3238f440ab0cfca60213866fa03a218e..f3de1fa6ff826f792c71aa3ca45549cbaa8cfd97 100644 GIT binary patch delta 3724 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 diff --git a/resource/translations/fi/LC_MESSAGES/skosmos.mo b/resource/translations/fi/LC_MESSAGES/skosmos.mo index 697793fb49f498e93c0cd199a1cb16f7a4ffa17a..7099e17e3f04e05ad3e4a3d67186a1fed183f067 100644 GIT binary patch delta 3722 zcmYk;32anF9LMp2QVzSc94&={?P58F7AOdUpaF`Q0HzQwwOF>W(52libhkju@dS#3 z+$;rD5P`}mhe5GmG~gmZO*l+YBM5>h5^E$u(?S&e{@5Y$W&it`H*em&ng7h&_M7o* zCpuSJG^jKjhlqB>hFD{6p(~Crj>GZBq~rVe1YX1#j7u}rA zK4v^$jd2?4dT~_8lu>9z#S+vrS73A8gw1fTtv`-!IX`XducHQV2Rq_jYZ^DHzhS6; zMqwMwLz4f<|@)lkp~MApfF98b>b;FbQ3lf@zhXnwQ}lpFn24#!Dwy8b6o;T@m}8w` z>nl+GtVd;TAEx1H%)(#L(ahSkjHVfszoFXKTI(|lWvFQ)`B%dvDwOIDs17nwnHXptX|Ly^I-G{;u*9A(Kn;Ak zJ>O{Ef$H}ls=sP`eg^g2uM^3?I=V)MtU*1X7PV$ENzswIP}dVtsZK);v_I+r!%>+U zjmlI3>i&7C{wh#Qu@;r7J;)=>F^7U~JZt?K^?<)ouTv{7>c$?Jg2PeQ^HC3)k7~CD zA9RdbqGQ&tP&5AlHG$vlc^ztiPGfr4Oq!!on1*WD-JbVDmd#|NZkUMb&||O9LfyX* zHK3LD`Zm-I525-!g&Noed;O=Vj=4iY4P%&wI&O_R?}F-Zkgd@D`F>Q;V8N!lTiFwL?9x8#+qyU<$fnEb133A2pBydtQc`k%MH- zthU#8qdKleb@(}U#!IM~$1oc9nMpMqB8ae>ZiHBJDRB`s8pw*GL(hN%m{3c6LB1tqcVFQGx3^3K^--t zl?ITE8hM7bFY1BMpfWNB)h^#&pNq=CB2>!Ppk}-iHN$FD=1!s7eSylvx2Oy{S1D)! zw`|32)Bx_GMjG>2bViA&0c4<3I0)5lsI4D~`rXL2*QcYF!jEd_pzdFWdfsMqQ*E|U zV1t_zsD_tNGr55pc^&G8e{cde;J=YIn2Ty(gKGB|@-g@L(*3EdpE8k!`8XU0;y%=U zH?gVS|JxL_X7^ERoXpl_1Dj5$5oe=PHx@~X$+zbfs2Q)v$8jrapl492KZhE?C0l>n zp4ZxQS0~!@eAAKwzX>Jroj!+m-zHpm3RrCg>uMeXtd34M(7E%tOtn9Eafs)BwImwXZ=9 zw0*Z|eHLl}*~qpr`KXL8MYUUjx_^sO#;a@&QlT5p+6y(-`&f_qJ>hzBEk{*RQsT6Y z4iP#QMlo+&AF_bLON8dHT`-%_kxgU~Tf&~Wmi-q|YDkPGbo3;&xl4$biE%`b@Dodj zox~(!M)*Kn`rv((bTG&VM=9TPZTUItO58z=ATo#?;s7y}cqQE2m7KJd(*F-FNLhH0 zE3JJYB{%Ujv6#@?F`S4Ywi5;61+KPTcT?(4JWFgN`V+;3j@Jooanfw2hfliN#uibU z7QW_6b~aPe@dmM!XiSVJwBY4LeL{=(0`c&eLqR`>Gi}9s^xE=rTxZKZe3xKDKG;~= zOs^6B2zzug?@*ddXsh!l(yS%42_7CE3LC>)oAz*Cr8JMIB;F)85fg}q$3Y6ah%v+p zTR8x=$2JgCiC7{`u+`0eB1BXWtBAdX-r%>0`9uRkhxUA2Gz+}O52|>LQGX<-5V=Hv zSQhrjr`KD3WL><|u(j7aHQzI(FwYwZc}wyF9=|uw>-YGIj>IQ*jCZ^xCB^Q5&+iTT z+%r7xV5F*`FmiNeaWLd74i@`DAum_D)4~^U&-MgE9*^Jebq9Tc(xM`-yTBVL^c6*p z78VzTJiefpyE5J5xy@bRDJl(lgF%n_jZ}p~k*Y|Qd#0zzQ>s1#Zhu+iXwaRYM|1J0 QKT;KlRAnCNmEN)OfBHa*?EnA( delta 3519 zcmYk<2~bs49LMp4@CfAjTmYYnBJd1B1@n=(qa~@6l}Z8bnz@9iM4?z(`ERR+xeO znIZf{U>>S{Qc%YfPITvZXo~UsK zU|Sr4bTI{(j76Ac99Bp{Gpj={{)n2$E!0f!V;H&^&5cb_{k^CaCSYsKuAs1**fj6tHM&0;Dq_3HY%)u0+R#0y1D^dMxP!l?d zn&7vnOkPIyZ?N7)W$2%1@~@6AmZen3pazIXWulw4ziodGHDDfUz$x~8HfrKU_I!X2@eQ?NAq_qXz6{+lQhCcnLM3DYktf zYK5y&<5Z$1w%@jYYW*7N=a`GO;`d;Md59V?n&s(+$*2J{Q3DP~wU0)vybv{!rKpsb z*!l|Vek7UZ7^+_#>iR1fsrUaD1#O1Etr6r|H}axp-pQJY>NgCPnS5Jci2Rvie$>7d z)xHn4fa9o%o<&XMGU}1u(YfA#H)raQgjzuc-U~5iAnHrii;qJ$oQQf|*P}M&M(Z|= z=X^J6g{P1tn(t5x`2{txyQm3-bO>g^i;gbnLP1}q-l&OW+4B*o3v-d=n5nkC7&UMi zYQP=X84saWei7MD<|b-lVf<(uAL>)>$21%rPyV%%HB{(=GE~a;qUsN$R(t}LnbWA( zt`0Tvdej%~I_gn{bE3`K2DN7rQR8Hy7MO(^CmTtw8QIYZuAtC1tiVn*l%oDC_X%p| zM^KyQ4C<3ykIK|fs8ruZWhf#cn3+UOsBx}46qLf7sF{aym2{(S z7>mkC3aVdk+x`M71No?wPeZM^2(`j8ROTvC{dS=;QG?3hVblbiQ?}wu)Q!JK&GaH_ zMZcmZ5SkQBVKk~=TU31#>bv2$?E_GcVlb*-E~?)|)D7og0xm=zfnzEtsN*5jN{*vu zUWdBi2h7JysD6I_HKO)@$e$U+kFJ}F%D^I=f~D9WZ=&@ZWbvljo}Wdnv>vY-y!D78^Gmsy@@653uJs)-lMdZzf|T_cx0v zxNsF}pb|WZ6{s8LCI?qA8TAYcP_N%yWaFD#sDam`Uau3_59?7GjbS$3 zF$uK^b5hCwlN82Np=Y=Wb>Uvriay6@@DgeQ3FKY<{iun~K-DioO`rtXCZ-x)_zkMx zIaI%&kvG-+iRvHIm6uly{;ol@F@*E|ftFFxu^&)U;1^JrIf}IJqSJX zg@lf5!cXi7%#Difvz$^mF^bUf1W`uJB_hw#@_^)f^z^6K@e4 zh-$)3R1!;wFhWOLA}W{#V_t8p;(r3LwJndw*~HpFvBwuuT3h9D!fX4+`aHEaeZGkQ E0QY}Eq5uE@ diff --git a/resource/translations/skosmos_en.po b/resource/translations/skosmos_en.po index f1b85d0ed..deedf0c00 100644 --- a/resource/translations/skosmos_en.po +++ b/resource/translations/skosmos_en.po @@ -761,53 +761,7 @@ msgstr "" "if the truncation symbol is not entered manually: thus, cat will yield the " "same results as cat*." -#~ msgid "dc11:contributor" -#~ msgstr "Contributor" - -#~ msgid "dc11:creator" -#~ msgstr "Creator" - -#~ msgid "dc11:description" -#~ msgstr "Description" - -#~ msgid "dc11:license" -#~ msgstr "License" - -#~ msgid "dc11:publisher" -#~ msgstr "Publisher" - -#~ msgid "dc11:relation" -#~ msgstr "Relation" - -#~ msgid "dc11:rights" -#~ msgstr "Rights" - -#~ msgid "dc11:source" -#~ msgstr "Source" - -#~ msgid "dc11:title" -#~ msgstr "Title" - -#~ msgid "Error: the vocabulary does not contain terms beginning with" -#~ msgstr "The vocabulary does not contain terms beginning with" - -#~ msgid "Vocabularies on the server" -#~ msgstr "Available vocabularies and ontologies" - -#~ msgid "Modified concepts" -#~ msgstr "Modified concepts" - -#~ msgid "New concepts" -#~ msgstr "New concepts" - -#~ msgid "All" -#~ msgstr "All" - -#~ msgid "results" -#~ msgstr "results:" - -#~ msgid "results for" -#~ msgstr "results for" - -#~ msgid "Language literal" -#~ msgstr "In English" +msgid "feedback_enter_name_email" +msgstr "" +"Please enter your name and email address if you wish to receive a direct " +"response. You also have the option to submit your feedback anonymously." diff --git a/resource/translations/skosmos_fi.po b/resource/translations/skosmos_fi.po index c5026b5ca..f88f10e44 100644 --- a/resource/translations/skosmos_fi.po +++ b/resource/translations/skosmos_fi.po @@ -760,196 +760,7 @@ msgstr "" "esimerkiksi: *eläimet tai: *patentti*. Jos et käytä tähtimerkkiä haku " "tehdään käyttäen loppukatkaisua." -#~ msgid "dc11:contributor" -#~ msgstr "Muu tekijä" - -#~ msgid "dc11:creator" -#~ msgstr "Tekijä" - -#~ msgid "dc11:description" -#~ msgstr "Kuvaus" - -#~ msgid "dc11:license" -#~ msgstr "Lisenssi" - -#~ msgid "dc11:publisher" -#~ msgstr "Julkaisija" - -#~ msgid "dc11:relation" -#~ msgstr "Suhde" - -#~ msgid "dc11:rights" -#~ msgstr "Oikeudet" - -#~ msgid "dc11:source" -#~ msgstr "Lähde" - -#~ msgid "dc11:title" -#~ msgstr "Nimi" - -#~ msgid "Error: the vocabulary does not contain terms beginning with" -#~ msgstr "Sanasto ei sisällä termejä jotka alkavat kirjaimella" - -#~ msgid "Vocabularies on the server" -#~ msgstr "Sanastot ja ontologiat" - -#~ msgid "Modified concepts" -#~ msgstr "Muokatut käsitteet" - -#~ msgid "New concepts" -#~ msgstr "Uudet käsitteet" - -#~ msgid "All" -#~ msgstr "Näytetään kaikki" - -#~ msgid "results" -#~ msgstr " hakutulosta (haku" - -#~ msgid "results for" -#~ msgstr " tulosta haulle" - -#~ msgid "Language literal" -#~ msgstr "suomeksi" - -#~ msgid "isothes:subGroup" -#~ msgstr "Alaryhmä" - -#~ msgid "skos:hiddenLabel" -#~ msgstr "Piilokäsitteet" - -#~ msgid "concepts within the group" -#~ msgstr "Ryhmän sisältämät käsitteet" - -#~ msgid "dc11:created" -#~ msgstr "Luontipäivä" - -#~ msgid "dc11:modified" -#~ msgstr "Muokkauspäivä" - -#~ msgid "language_changed_message" -#~ msgstr "" -#~ "Valitsemaasi kieltä ei ollut tuettuna tässä sanastossa. Siksi emme näytä " -#~ "sivua suomeksi." - -#~ msgid "Show matches in any language" -#~ msgstr "Näytä myös muunkieliset osumat" - -#~ msgid "ar" -#~ msgstr "arabiaksi" - -#~ msgid "bg" -#~ msgstr "bulgariaksi" - -#~ msgid "cs" -#~ msgstr "tšekiksi" - -#~ msgid "da" -#~ msgstr "tanskaksi" - -#~ msgid "de" -#~ msgstr "saksaksi" - -#~ msgid "el" -#~ msgstr "nykykreikaksi" - -#~ msgid "en" -#~ msgstr "englanniksi" - -#~ msgid "es" -#~ msgstr "espanjaksi" - -#~ msgid "et" -#~ msgstr "eestiksi" - -#~ msgid "fa" -#~ msgstr "persiaksi" - -#~ msgid "fi" -#~ msgstr "suomeksi" - -#~ msgid "fr" -#~ msgstr "ranskaksi" - -#~ msgid "hi" -#~ msgstr "hindiksi" - -#~ msgid "hr" -#~ msgstr "kroatiaksi" - -#~ msgid "hu" -#~ msgstr "unkariksi" - -#~ msgid "it" -#~ msgstr "italiaksi" - -#~ msgid "ja" -#~ msgstr "japaniksi" - -#~ msgid "ko" -#~ msgstr "koreaksi" - -#~ msgid "la" -#~ msgstr "latinaksi" - -#~ msgid "lo" -#~ msgstr "laoksi" - -#~ msgid "lt" -#~ msgstr "liettuaksi" - -#~ msgid "lv" -#~ msgstr "latviaksi" - -#~ msgid "mt" -#~ msgstr "maltaksi" - -#~ msgid "nl" -#~ msgstr "hollanniksi" - -#~ msgid "pl" -#~ msgstr "puolaksi" - -#~ msgid "pt" -#~ msgstr "portugaliksi" - -#~ msgid "ro" -#~ msgstr "romaniaksi" - -#~ msgid "ru" -#~ msgstr "venäjäksi" - -#~ msgid "sk" -#~ msgstr "slovakiksi" - -#~ msgid "sl" -#~ msgstr "sloveniaksi" - -#~ msgid "sr" -#~ msgstr "serbiaksi" - -#~ msgid "sv" -#~ msgstr "ruotsiksi" - -#~ msgid "te" -#~ msgstr "teluguksi" - -#~ msgid "th" -#~ msgstr "thaiksi" - -#~ msgid "tr" -#~ msgstr "turkiksi" - -#~ msgid "zh" -#~ msgstr "kiinaksi" - -#~ msgid "Download" -#~ msgstr "Lataa" - -#~ msgid "Instructions" -#~ msgstr "Ohje" - -#~ msgid "skos:prefLabel_help" -#~ msgstr "Käsitteestä käytettävän termin kirjoitusasu." - -#~ msgid "short_search_example" -#~ msgstr "esim. kissa tai *talous" +msgid "feedback_enter_name_email" +msgstr "" +"Kerro nimesi ja sähköpostiosoitteesi, niin vastaamme sinulle " +"henkilökohtaisesti. Voit halutessasi jättää palautteen myös nimettömänä." diff --git a/resource/translations/skosmos_sv.po b/resource/translations/skosmos_sv.po index 5e3d9639d..b718da681 100644 --- a/resource/translations/skosmos_sv.po +++ b/resource/translations/skosmos_sv.po @@ -759,190 +759,7 @@ msgstr "" "ex.: *nät eller: *patent*. Om du inte använder asterisk görs sökningen med " "trunkering i slutet." -#~ msgid "dc11:contributor" -#~ msgstr "Medförfattare" - -#~ msgid "dc11:creator" -#~ msgstr "Författare" - -#~ msgid "dc11:description" -#~ msgstr "Beskrivning" - -#~ msgid "dc11:license" -#~ msgstr "Licens" - -#~ msgid "dc11:publisher" -#~ msgstr "Utgivare" - -#~ msgid "dc11:relation" -#~ msgstr "Relation" - -#~ msgid "dc11:rights" -#~ msgstr "Rättigheter" - -#~ msgid "dc11:source" -#~ msgstr "Källa" - -#~ msgid "dc11:title" -#~ msgstr "Namn" - -#~ msgid "Error: the vocabulary does not contain terms beginning with" -#~ msgstr "Vokabulären innehåller inga termer som börjar med" - -#~ msgid "Vocabularies on the server" -#~ msgstr "Tillgängliga tesaurusar och ontologier" - -#~ msgid "Modified concepts" -#~ msgstr "Editerade begrepp" - -#~ msgid "New concepts" -#~ msgstr "Nya begrepp" - -#~ msgid "All" -#~ msgstr "Visar alla" - -#~ msgid "results" -#~ msgstr "sökresultat" - -#~ msgid "results for" -#~ msgstr "sökresultat för" - -#~ msgid "Language literal" -#~ msgstr "På svenska" - -#~ msgid "skos:hiddenLabel" -#~ msgstr "Dolda begrepp" - -#~ msgid "concepts within the group" -#~ msgstr "Begrepp inom gruppen" - -#~ msgid "dc11:created" -#~ msgstr "Skapad" - -#~ msgid "dc11:modified" -#~ msgstr "Ändringsdatum" - -#~ msgid "language_changed_message" -#~ msgstr "" -#~ "Språket som du valt stöds inte i den här vokabulären. Därför visas sidan " -#~ "inte på svenska." - -#~ msgid "Show matches in any language" -#~ msgstr "Visa även träffar på andra språk" - -#~ msgid "ar" -#~ msgstr "arabiska" - -#~ msgid "bg" -#~ msgstr "bulgariska" - -#~ msgid "cs" -#~ msgstr "tjeckiska" - -#~ msgid "da" -#~ msgstr "danska" - -#~ msgid "de" -#~ msgstr "tyska" - -#~ msgid "el" -#~ msgstr "grekiska" - -#~ msgid "en" -#~ msgstr "engelska" - -#~ msgid "es" -#~ msgstr "spanska" - -#~ msgid "et" -#~ msgstr "estniska" - -#~ msgid "fa" -#~ msgstr "persiska" - -#~ msgid "fi" -#~ msgstr "finska" - -#~ msgid "fr" -#~ msgstr "franska" - -#~ msgid "hi" -#~ msgstr "hindi" - -#~ msgid "hr" -#~ msgstr "kroatiska" - -#~ msgid "hu" -#~ msgstr "ungerska" - -#~ msgid "it" -#~ msgstr "italienska" - -#~ msgid "ja" -#~ msgstr "japanska" - -#~ msgid "ko" -#~ msgstr "koreanska" - -#~ msgid "la" -#~ msgstr "på latinska" - -#~ msgid "lo" -#~ msgstr "laotiska" - -#~ msgid "lt" -#~ msgstr "litauiska" - -#~ msgid "lv" -#~ msgstr "lettiska" - -#~ msgid "mt" -#~ msgstr "maltesiska" - -#~ msgid "nl" -#~ msgstr "nederländska" - -#~ msgid "pl" -#~ msgstr "polska" - -#~ msgid "pt" -#~ msgstr "portugisiska" - -#~ msgid "ro" -#~ msgstr "rumänska" - -#~ msgid "ru" -#~ msgstr "ryska" - -#~ msgid "sk" -#~ msgstr "slovakiska" - -#~ msgid "sl" -#~ msgstr "slovenska" - -#~ msgid "sr" -#~ msgstr "serbiska" - -#~ msgid "sv" -#~ msgstr "svenska" - -#~ msgid "te" -#~ msgstr "telugu" - -#~ msgid "th" -#~ msgstr "thailändska" - -#~ msgid "tr" -#~ msgstr "turkiska" - -#~ msgid "zh" -#~ msgstr "kinesiska" - -#~ msgid "Download" -#~ msgstr "Ladda ned" - -#~ msgid "skos:prefLabel_help" -#~ msgstr "Skrivsätt för den föredragna termen för begreppet." - -#~ msgid "short_search_example" -#~ msgstr "t.ex. katt eller *nät" +msgid "feedback_enter_name_email" +msgstr "" +"Ange ditt namn och din e-postadress så svarar vi dig personligen. Om du vill " +"kan du också ge respons anonymt." diff --git a/resource/translations/sv/LC_MESSAGES/skosmos.mo b/resource/translations/sv/LC_MESSAGES/skosmos.mo index c86d281670d55b7c722ad44322c67a18dbd659df..77cc991cf1d23ee5379e2f5731248e00779bfb5e 100644 GIT binary patch delta 3706 zcmYk-d2EzL7{~E}9u&JRv~;-&?TdwS6k3h|R=~(nixCu%qX-B~yOctA7rF&4*UG5~ z$gvbe!ODFoMNBjBJhV|IE<*@Uw24+(`P^P&O7hCGtbQX_Soo) zV?vjcqbm)^0iqSLKE{}v=!)luVGVoLEi5D;m;~N=6Q_~2aKsPo=2ODB8CgVWl z&y40L4yT~52O@?{1%(DwEJi(Z1t#G}Y>azt{Si#%{EV%?iWD;9L@=*N@ z#TGabX<{lc6PIHb6JmxGG_uRs3~!(Y@-J$n@$?dnZggQwRQvX*8Fs~{IM7~y1vP+T zdp&?^zX&zp6{w7@#WbF8Hd9dQkD^BSEovaYVl3(@dO!nA!8BwQOb<-J0jL=cvre=1 zOHlo+LuGCsrsEmxj@L1ynYCyVNl6-NhIz>3%?Q+k3z4>F4l*XQ3N?c&TfYz0{y1tt zXHf&Zgv#VCRQvnZ`piNZN=PC9YUrjyscwtvARCp5zSbf3`gl}_Q&1h2+4K3RfiJh` z8?4(<{Z^y;``n(_qMmy`h5W0dD^$qas0Z9ftyz>iGEx`ndI~Dl>8OF`q8^Zs%G7XF zrlz9qpNr~m32G_Upfa@wd4xF}qM#ekTCbrV@HgspYRX03n1d}bA9Z~)>Ou2R?N(!5 z$EYPbZ2b~7^B++YxMR;BpavLh}xOz|Pt0KSvCiyA;$gifO3h=BV=ys1Ezt`eC+y5~{;l_WB~!%qvj? z*@a5^L0f;qdJajdxr%D{0F(9p$C6L2VGGoz$gp-tJ*Yow_lZ^KWadyt!GgK z`3|)tKcP0`9n{S3p&rnX&zmOXpxXDe=Y3HV7>*k71XN}U(?fhtDa@jRWijhf4XcrT zX^x;$eI9kgH>erhM6K~d)J)@?$b*}r`pH7I%R}`u3P++3HQ-a&2QP#uDCJ3QA~(8G zGt9B}MSZ)UM-9x2n&C{;440uYwhCEhvmG_i6Q}{6M{VvasP?x|{rrK-MCcz|5zWG? zL1Wa7%}^a>qB?lWo)18^8)+SfYCjpZBr~mZPGf!Z|fF@SlfJ@Xl=-EnM>r%);X4fUY+p=N#@)$ch}KeuiDBh1nKod&2eNn+)ASNw@VS4iGvP zL@*y%A2XlAI6@1cxy~kZ3?jM{o5P;?Cb|TE32o=G#N*>N3R;&LwqhN6ZFxDawdE4rNw6X7ULoz?Hwk?J z?2&0cq%?`p4$`-C4WTd0h%mv{HXjk?#1di^v6s*b@;)(-h$eLCUrBr<3w&AYs*L#*e@4I`bUglmzrt6ZZ3cUN!IC16d09Ury)~UOlH>jZ9*TFv delta 3519 zcmYk;d2miw7{~Dw@{)L8FS0Zu&E_S<@+ui3wpu#UsdS2JQcJ6(cB+CB5f`zvX*BAs zEj1yPlG5lOY0)Z1O=naMrKJlKe{`l9L#w)J#@6pI_n7G&&-*#|+;h)8=Q-!zxRm#K zu2UZszS(dbARZ;kJjPtZyRG=)*yT4SfK}KRzr^Nv2We^^pqhHx7}FlxVkD+x6lNg* z%t(GBFc)=wva4feQD{lULiA!0w!`(<7Ps5_eVD-cL0f+THGrS7GhVZ{;U@Lh7uC;T zjK^n?CT13^@2ifa6s19>c9Zt39^H2jXwCC%r zn^65$qWY_`=Z8_x{UV0^tE2N&$SbG^G@#b(Pt-{7+Uw!5?f~1MI!;7os0%7XLs0jP zLG?2MwFJ{q8CrpKWy(?aRXetD1hs}2P_NMq)Quimb-+Z__5P>_jYYMahD{x#mZscV zg_?04YGNnt`B~He>rt6@8Yn1rf1?^UM+w@&qj4H4mF^u_WEMf z4A-LisXz^Euf6`M^(&;EV}7(1zqu9WKB~iLrl$v{p*rk`>Tne5`tzun&p{1jIV$C) zwtkCsFOp1i7}f49>i#PjsrUaT1#N~#YXo`LgW^yl?_}+VYWE~6GkLat4)V_w^P}rq zQP=mNCh!?*pr=s-xr|!UTRPYK@8e7jI-+Kffw#kqc^uO@&*bCK9jBmP*A1w4o2-?{ z>Y070B|L!|_!-np>roTBg>-4|qcR$wNd9$0kb=JHS*VT%qdq+2P!F1j9dQO~W~Hbv zStXJ*Q;j|GC@RI*t&OPuS|+)fNJ6Si5QCVLME>=96;Ywol%NK*-CB(r$VaFd97Ju# zlc<@UK|SCqYDWK{+I#uT={yQGfi9>4XP`2Zg)}vzk{x&LW>cYtYmohCHlk8pgSw#> zwU)4t)TTU*%EU!m-+)@vww>J>2T&bnqWT$Y>+?|qUxLliLA^C4=;irl z2ZeB~L8ZJFKgL7o!MSN}2L;w;s0Xh`l43Ta9()*kXc%fwjYqw% zi?Qkb-%a5$Dh{AVb`{mZzsNQ)KGLA`AZim1#}v#%Wn`(f6xDtQYVD6<27ZmY?*Vql z7}BjJ8JbT1gA{V8Xi7b5W@V`Nb0?0(W2hN;y15^YMAUnqgW81os6AAGB+abE7PtpB zz*^MaI*x1ya}jxCO=CBD)q5S!u=L<`48y&lcHZdN-IR3OAmRX_qd3&t7ni!6(nLb( z*31?YI-Vf<5buT-c%!pcQqnNS5IU6Ow}=JAi^Ow80Wp_YO}t0EK+Fmq^#+E0KuL!( zrehJYq^ZQ;AnTi0MT{b}q@#%si4lYoO7+FX?x6JlqZcPjLr?pXQ)g33A%+mE2qiL` z&>r1I%m{7pC8Y16)PvA6R1#UlD};_Wh!q6e#7qyJ_a%7dP?{FH<%@H+Qqr-FSVKe* zxr8=qA<>M`<{eKwJYJ)qRhVxp-o}@0`E}fA%QLZ>=t@Kq+MDZ$Ou`;%W+$bWh#;Xa zWI3Vl$irg_h0USb*1epyl$H_i5Zj3@L>}?*sHN~eF_tK`l>@LH5hC&l53z}0qndrh zLZXByBWegAQ9%?D;e?KO!s}+im{*&s_{)IW+Bzl?^N97KVt*iPLtT~MX;C*I*6XkP IB#;{MAFf|SDgXcg diff --git a/view/feedback.twig b/view/feedback.twig index f67420332..f5869e9be 100644 --- a/view/feedback.twig +++ b/view/feedback.twig @@ -29,10 +29,11 @@ {% endif %} +

{% trans "feedback_enter_name_email" %}

{% trans %}Name:{% endtrans %}

-

{% trans %}E-mail:{% endtrans %} *

+

{% trans %}E-mail:{% endtrans %}

{% trans %}Message:{% endtrans %} *