Commit e46a8704 authored by Simonas's avatar Simonas

pre release 1.5.0

parent ac091624
......@@ -168,7 +168,7 @@ services:
# - wp-init.sh
command: >
/bin/sh -c '
sleep 60;
sleep 30;
echo "WP CLI init";
wp core update --force;
......@@ -185,11 +185,11 @@ services:
wp plugin install pods --version=2.7.12 --activate-network;
# wp plugin update pods --version=2.7.12;
wp plugin install polylang --version=2.5.4;
# wp plugin update polylang --version=2.5.4;
wp plugin install polylang --version=2.6 --activate-network;
# wp plugin update polylang --version=2.6;
wp plugin install wordpress-seo --version=11.4 --activate-network;
# wp plugin update wordpress-seo --version=11.4;
wp plugin install wordpress-seo --version=11.5 --activate-network;
# wp plugin update wordpress-seo --version=11.5;
wp plugin update akismet --version=4.1.2;
wp plugin uninstall hello;
......
......@@ -25,6 +25,18 @@ location /wp-json/api/v1/contacts {
auth_basic_user_file /etc/nginx/.htpasswd;
}
location = /wp-admin/admin-post.php {
access_log /var/log/nginx/postdata.log postdata;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass wordpress:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
......
......@@ -62,6 +62,11 @@ http {
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format postdata '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio" $request_time "$request_body"';
# Log access to this file
# This is only used when you don't override it on a server{} level
# Default: logs/access.log combined
......@@ -157,9 +162,11 @@ http {
font/woff2 "*";
}
# Include files in the conf.d folder.
# server{} configuration files should be placed in the conf.d folder.
# The configurations should be disabled by prefixing files with a dot.
client_max_body_size 10M;
# Include files in the conf.d folder.
# server{} configuration files should be placed in the conf.d folder.
# The configurations should be disabled by prefixing files with a dot.
include h5bp/ssl/ocsp_stapling.conf;
include h5bp/ssl/policy_modern.conf;
......
msgid ""
msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-01 19:14+0000\n"
"PO-Revision-Date: 2019-05-01 19:17+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: German\n"
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.1.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
msgstr "Dieses Feld wird benötigt"
#: public/class-biuro-contacts-public.php:162
msgid "Phone or email field is required"
msgstr "Telefon oder E-Mail-Feld ist erforderlich"
#: public/class-biuro-contacts-public.php:173
msgid "Incorrect phone number"
msgstr "Falsche Telefonnummer"
#: public/class-biuro-contacts-public.php:183
msgid "Email or phone field is required"
msgstr "E-Mail- oder Telefonfeld ist erforderlich"
#: public/class-biuro-contacts-public.php:190
msgid "Email format is incorrect"
msgstr "Das E-Mail-Format ist falsch"
#: public/class-biuro-contacts-public.php:205
msgid "You have to agree with conditions"
msgstr "Sie müssen den Bedingungen zustimmen"
#: public/partials/biuro-contacts-public--employees--step-2.php:23
#: public/partials/biuro-contacts-public--position--step-2.php:98
msgid "City"
msgstr "Stadt"
#: public/partials/biuro-contacts-public--employees--step-2.php:30
#: public/partials/biuro-contacts-public--position--step-2.php:105
#: public/partials/biuro-contacts-public--employers--step-2.php:30
msgid "Message"
msgstr "Nachricht"
#: public/partials/biuro-contacts-public--employees--step-2.php:37
#: public/partials/biuro-contacts-public--position--step-2.php:112
msgid "CV"
msgstr "CV anhängen"
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employees--step-1.php:78
#: public/partials/biuro-contacts-public--employers--step-1.php:78
#: public/partials/biuro-contacts-public--employers--step-2.php:47
msgid "Submit"
msgstr "Schicken"
#: public/partials/biuro-contacts-public--position--step-2.php:60
#: public/partials/biuro-contacts-public--employees--step-1.php:41
#: public/partials/biuro-contacts-public--employers--step-1.php:41
msgid "Name, surname"
msgstr "Name, Nachname"
#: public/partials/biuro-contacts-public--position--step-2.php:73
#: public/partials/biuro-contacts-public--employees--step-1.php:53
#: public/partials/biuro-contacts-public--employers--step-1.php:53
msgid "Phone no."
msgstr "Telefon"
#: public/partials/biuro-contacts-public--position--step-2.php:86
#: public/partials/biuro-contacts-public--employees--step-1.php:65
#: public/partials/biuro-contacts-public--employers--step-1.php:65
msgid "Email address"
msgstr "E-Mail Adresse"
#: public/partials/biuro-contacts-public--position--step-2.php:121
#: public/partials/biuro-contacts-public--employees--step-1.php:85
msgid ""
"I agree, that my personal data will be used for offering me a job. For more "
"detailed information view our <a href=\"https://biuro.eu/privacy-en.html\" "
"target=\"_blank\" rel=\"noopener\">Personal Data Protection Policy.</a>"
msgstr ""
"Ich bin damit einverstanden, dass meine persönlichen Daten verwendet werden, "
"um mir einen Job anzubieten. Ausführliche Informationen finden <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Sie in unserer Datenschutzerklärung.</a>"
#: public/partials/biuro-contacts-public--position--step-2.php:132
#: public/partials/biuro-contacts-public--position--step-1.php:24
msgid "Apply"
msgstr "Sich bewerben"
#: public/partials/biuro-contacts-public--position.php:64
msgid "Thank You! Your data was send successfully."
msgstr "Danke dir! Ihre Daten wurden erfolgreich gesendet."
#: public/partials/biuro-contacts-public--position.php:65
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
#: public/partials/biuro-contacts-public--employers.php:58
#: public/partials/biuro-contacts-public--employers.php:90
msgid "OK"
msgstr "OK"
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
msgstr "Vielen Dank, wir haben erfolgreich Daten über Sie erhalten."
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr ""
"Sie können Informationen über sich selbst hinzufügen, indem Sie eine Stadt, "
"eine Nachricht oder einen Lebenslauf hinzufügen"
#: public/partials/biuro-contacts-public--employees.php:90
#: public/partials/biuro-contacts-public--employers.php:89
msgid "Thank You! The information has been successfully supplemented."
msgstr "Danke dir! Die Informationen wurden erfolgreich ergänzt."
#: public/partials/biuro-contacts-public--employers.php:56
msgid "Thank You for contacting!"
msgstr "Vielen Dank für Ihre Kontaktaufnahme!"
#: public/partials/biuro-contacts-public--employers.php:57
msgid "You request was send successfully, we will contact You."
msgstr ""
"Ihre Anfrage wurde erfolgreich versendet, wir werden uns mit Ihnen in "
"Verbindung setzen."
#: public/partials/biuro-contacts-public--employers--step-1.php:85
msgid ""
"I agree, that my personal data will be used for communicating during the pre-"
"contractual relationship. For more detailed information view our <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Personal Data Protection Policy.</a>"
msgstr ""
"Ich bin damit einverstanden, dass meine persönlichen Daten im Rahmen der "
"vorvertraglichen Beziehung zur Kommunikation verwendet werden. Ausführliche "
"Informationen finden Sie in unserer <a href=\"https://biuro.eu/privacy-en."
"html\" target=\"_blank\" rel=\"noopener\"> Datenschutzerklärung.</a>\n"
#: public/partials/biuro-contacts-public--employers--step-2.php:23
msgid "Company"
msgstr "Unternehmen"
#. Name of the plugin
msgid "Biuro Contacts"
msgstr "Biuro Contacts"
#. Description of the plugin
msgid ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
msgstr ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr "https://www.biuro.lt"
#. Author of the plugin
msgid "Biuro"
msgstr "Biuro"
msgid ""
msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-02 11:49+0000\n"
"PO-Revision-Date: 2019-05-02 11:49+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: \n"
"Language: en_US\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.1.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:162
msgid "Phone or email field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:173
msgid "Incorrect phone number"
msgstr ""
#: public/class-biuro-contacts-public.php:183
msgid "Email or phone field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:190
msgid "Email format is incorrect"
msgstr ""
#: public/class-biuro-contacts-public.php:205
msgid "You have to agree with conditions"
msgstr ""
#: public/partials/biuro-contacts-public--employees--step-2.php:23
#: public/partials/biuro-contacts-public--position--step-2.php:98
msgid "City"
msgstr ""
#: public/partials/biuro-contacts-public--employees--step-2.php:30
#: public/partials/biuro-contacts-public--position--step-2.php:105
#: public/partials/biuro-contacts-public--employers--step-2.php:30
msgid "Message"
msgstr ""
#: public/partials/biuro-contacts-public--employees--step-2.php:37
#: public/partials/biuro-contacts-public--position--step-2.php:112
msgid "CV"
msgstr ""
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employees--step-1.php:78
#: public/partials/biuro-contacts-public--employers--step-1.php:78
#: public/partials/biuro-contacts-public--employers--step-2.php:47
msgid "Submit"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:60
#: public/partials/biuro-contacts-public--employees--step-1.php:41
#: public/partials/biuro-contacts-public--employers--step-1.php:41
msgid "Name, surname"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:73
#: public/partials/biuro-contacts-public--employees--step-1.php:53
#: public/partials/biuro-contacts-public--employers--step-1.php:53
msgid "Phone no."
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:86
#: public/partials/biuro-contacts-public--employees--step-1.php:65
#: public/partials/biuro-contacts-public--employers--step-1.php:65
msgid "Email address"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:121
#: public/partials/biuro-contacts-public--employees--step-1.php:85
msgid ""
"I agree, that my personal data will be used for offering me a job. For more "
"detailed information view our <a href=\"https://biuro.eu/privacy-en.html\" "
"target=\"_blank\" rel=\"noopener\">Personal Data Protection Policy.</a>"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:132
#: public/partials/biuro-contacts-public--position--step-1.php:24
msgid "Apply"
msgstr ""
#: public/partials/biuro-contacts-public--position.php:64
msgid "Thank You! Your data was send successfully."
msgstr ""
#: public/partials/biuro-contacts-public--position.php:65
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
#: public/partials/biuro-contacts-public--employers.php:58
#: public/partials/biuro-contacts-public--employers.php:90
msgid "OK"
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:90
#: public/partials/biuro-contacts-public--employers.php:89
msgid "Thank You! The information has been successfully supplemented."
msgstr ""
#: public/partials/biuro-contacts-public--employers.php:56
msgid "Thank You for contacting!"
msgstr ""
#: public/partials/biuro-contacts-public--employers.php:57
msgid "You request was send successfully, we will contact You."
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-1.php:85
msgid ""
"I agree, that my personal data will be used for communicating during the pre-"
"contractual relationship. For more detailed information view our <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Personal Data Protection Policy.</a>"
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-2.php:23
msgid "Company"
msgstr ""
#. Name of the plugin
msgid "Biuro Contacts"
msgstr ""
#. Description of the plugin
msgid ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
msgstr ""
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr ""
#. Author of the plugin
msgid "Biuro"
msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-30 14:01+0000\n"
"PO-Revision-Date: 2019-05-30 14:01+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: \n"
"Language: en_US\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.2.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:162
msgid "Phone or email field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:173
msgid "Incorrect phone number"
msgstr ""
#: public/class-biuro-contacts-public.php:183
msgid "Email or phone field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:190
msgid "Email format is incorrect"
msgstr ""
#: public/class-biuro-contacts-public.php:205
msgid "You have to agree with conditions"
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-2.php:23
msgid "Company"
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-2.php:30
#: public/partials/biuro-contacts-public--position--step-2.php:107
#: public/partials/biuro-contacts-public--employees--step-2.php:30
msgid "Message"
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-2.php:47
#: public/partials/biuro-contacts-public--employers--step-1.php:80
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employees--step-1.php:80
msgid "Submit"
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
#: public/partials/biuro-contacts-public--employers.php:58
#: public/partials/biuro-contacts-public--employers.php:90
#: public/partials/biuro-contacts-public--position.php:65
msgid "OK"
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:90
#: public/partials/biuro-contacts-public--employers.php:89
msgid "Thank You! The information has been successfully supplemented."
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-1.php:41
#: public/partials/biuro-contacts-public--position--step-2.php:60
#: public/partials/biuro-contacts-public--employees--step-1.php:41
msgid "Name, surname"
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-1.php:53
#: public/partials/biuro-contacts-public--position--step-2.php:73
#: public/partials/biuro-contacts-public--employees--step-1.php:53
msgid "Phone no."
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-1.php:67
#: public/partials/biuro-contacts-public--position--step-2.php:86
#: public/partials/biuro-contacts-public--employees--step-1.php:67
msgid "Email address"
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-1.php:87
msgid ""
"I agree, that my personal data will be used for communicating during the pre-"
"contractual relationship. For more detailed information view our <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Personal Data Protection Policy.</a>"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:98
#: public/partials/biuro-contacts-public--employees--step-2.php:23
msgid "City"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:114
#: public/partials/biuro-contacts-public--employees--step-2.php:37
msgid "CV"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:123
#: public/partials/biuro-contacts-public--employees--step-1.php:87
msgid ""
"I agree, that my personal data will be used for offering me a job. For more "
"detailed information view our <a href=\"https://biuro.eu/privacy-en.html\" "
"target=\"_blank\" rel=\"noopener\">Personal Data Protection Policy.</a>"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:134
#: public/partials/biuro-contacts-public--position--step-1.php:24
msgid "Apply"
msgstr ""
#: public/partials/biuro-contacts-public--employers.php:56
msgid "Thank You for contacting!"
msgstr ""
#: public/partials/biuro-contacts-public--employers.php:57
msgid "You request was send successfully, we will contact You."
msgstr ""
#: public/partials/biuro-contacts-public--position.php:64
msgid "Thank You! Your data was send successfully."
msgstr ""
#. Name of the plugin
msgid "Biuro Contacts"
msgstr ""
#. Description of the plugin
msgid ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
msgstr ""
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr ""
#. Author of the plugin
msgid "Biuro"
msgstr ""
msgid ""
msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 12:11+0000\n"
"PO-Revision-Date: 2019-06-18 05:05+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Estonian\n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
msgstr "Selle välja täitmine on kohustuslik"
#: public/class-biuro-contacts-public.php:162
msgid "Phone or email field is required"
msgstr "E-posti või telefoni väli on vajalik"
#: public/class-biuro-contacts-public.php:173
msgid "Incorrect phone number"
msgstr "Telefoni number ei ole korrektne"
#: public/class-biuro-contacts-public.php:183
msgid "Email or phone field is required"
msgstr "E-posti või telefoni väli on vajalik"
#: public/class-biuro-contacts-public.php:190
msgid "Email format is incorrect"
msgstr "E-posti formaat on vale"
#: public/class-biuro-contacts-public.php:205
msgid "You have to agree with conditions"
msgstr "Te peate tingimustega nõustuma"
#: public/partials/biuro-contacts-public--employers--step-2.php:23
msgid "Company"
msgstr "Ettevõte"
#: public/partials/biuro-contacts-public--employers--step-2.php:30
#: public/partials/biuro-contacts-public--position--step-2.php:107
#: public/partials/biuro-contacts-public--employees--step-2.php:30
msgid "Message"
msgstr "Sõnum"
#: public/partials/biuro-contacts-public--employers--step-2.php:47
#: public/partials/biuro-contacts-public--employers--step-1.php:80
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employees--step-1.php:80
msgid "Submit"
msgstr "Esita"
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
msgstr "Täname teid, oleme edukalt teie kohta andmeid saanud."
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr "Saate lisada teavet enda kohta, lisades linna, sõnumi või CV'd."
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
#: public/partials/biuro-contacts-public--employers.php:58
#: public/partials/biuro-contacts-public--employers.php:90
#: public/partials/biuro-contacts-public--position.php:65
msgid "OK"
msgstr "OK"
#: public/partials/biuro-contacts-public--employees.php:90
#: public/partials/biuro-contacts-public--employers.php:89
msgid "Thank You! The information has been successfully supplemented."
msgstr "Aitäh! Teie andmed on edukalt saadetud."
#: public/partials/biuro-contacts-public--employers--step-1.php:41
#: public/partials/biuro-contacts-public--position--step-2.php:60
#: public/partials/biuro-contacts-public--employees--step-1.php:41
msgid "Name, surname"
msgstr "Nimi, Perekonnanimi"
#: public/partials/biuro-contacts-public--employers--step-1.php:53
#: public/partials/biuro-contacts-public--position--step-2.php:73
#: public/partials/biuro-contacts-public--employees--step-1.php:53
msgid "Phone no."
msgstr "Telefoni number"
#: public/partials/biuro-contacts-public--employers--step-1.php:67
#: public/partials/biuro-contacts-public--position--step-2.php:86
#: public/partials/biuro-contacts-public--employees--step-1.php:67
msgid "Email address"
msgstr "E-post"
#: public/partials/biuro-contacts-public--employers--step-1.php:87
msgid ""
"I agree, that my personal data will be used for communicating during the pre-"
"contractual relationship. For more detailed information view our <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Personal Data Protection Policy.</a>"
msgstr ""
"Olen nõus, et minu isikuandmeid kasutatakse lepingueelsete suhete ajal "
"suhtlemiseks. Üksikasjalikuma teabe saamiseks vaadake meie <a href=\"https:"
"//biuro.eu/privacy-ee.html\" target=\"_blank\" rel=\"noopener\"> "
"isikuandmete kaitse poliitikat. </a>"
#: public/partials/biuro-contacts-public--position--step-2.php:98
#: public/partials/biuro-contacts-public--employees--step-2.php:23
msgid "City"
msgstr "Linn"
#: public/partials/biuro-contacts-public--position--step-2.php:114
#: public/partials/biuro-contacts-public--employees--step-2.php:37
msgid "CV"
msgstr "Lisa CV"
#: public/partials/biuro-contacts-public--position--step-2.php:123
#: public/partials/biuro-contacts-public--employees--step-1.php:87
msgid ""
"I agree, that my personal data will be used for offering me a job. For more "
"detailed information view our <a href=\"https://biuro.eu/privacy-en.html\" "
"target=\"_blank\" rel=\"noopener\">Personal Data Protection Policy.</a>"
msgstr ""
"Olen nõus, et minu isikuandmeid kasutatakse mulle töö pakkumiseks. "
"Üksikasjalikuma teabe saamiseks vaadake meie <a href=\"https://biuro."
"eu/privacy-ee.html\" target=\"_blank\" rel=\"noopener\"> isikuandmete kaitse "
"poliitikat. </a>"
#: public/partials/biuro-contacts-public--position--step-2.php:134
#: public/partials/biuro-contacts-public--position--step-1.php:24
msgid "Apply"
msgstr "Kandideeri"
#: public/partials/biuro-contacts-public--employers.php:56
msgid "Thank You for contacting!"
msgstr "Täname Teid!"
#: public/partials/biuro-contacts-public--employers.php:57
msgid "You request was send successfully, we will contact You."
msgstr "Teie taotlus on edukalt saadetud, võtame Teiega ühendust."
#: public/partials/biuro-contacts-public--position.php:64
msgid "Thank You! Your data was send successfully."
msgstr "Aitäh! Teie andmed on edukalt saadetud."
#. Name of the plugin
msgid "Biuro Contacts"
msgstr "Biuro Kontaktid"
#. Description of the plugin
msgid ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
msgstr ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr "https://www.biuro.ee"
#. Author of the plugin
msgid "Biuro"
msgstr "Biuro"
......@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 12:11+0000\n"
"PO-Revision-Date: 2019-05-31 12:21+0000\n"
"PO-Revision-Date: 2019-06-18 06:26+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Estonian\n"
"Language: et\n"
......@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.2.1"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
......@@ -24,10 +24,7 @@ msgstr "E-posti või telefoni väli on vajalik"
#: public/class-biuro-contacts-public.php:173
msgid "Incorrect phone number"
msgstr ""
"\n"
"22/5000\n"
"Vale telefoninumber"
msgstr "Telefoni number ei ole korrektne"
#: public/class-biuro-contacts-public.php:183
msgid "Email or phone field is required"
......@@ -56,7 +53,7 @@ msgstr "Sõnum"
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employees--step-1.php:80
msgid "Submit"
msgstr "Saada"
msgstr "Esita"
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
......@@ -64,7 +61,7 @@ msgstr "Täname teid, oleme edukalt teie kohta andmeid saanud."
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr "Saate lisada teavet enda kohta, lisades linna, sõnumi või CV"
msgstr "Saate lisada teavet enda kohta, lisades linna, sõnumi või CV'd."
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
......@@ -72,12 +69,12 @@ msgstr "Saate lisada teavet enda kohta, lisades linna, sõnumi või CV"
#: public/partials/biuro-contacts-public--employers.php:90
#: public/partials/biuro-contacts-public--position.php:65
msgid "OK"
msgstr "Okei"
msgstr "OK"
#: public/partials/biuro-contacts-public--employees.php:90
#: public/partials/biuro-contacts-public--employers.php:89
msgid "Thank You! The information has been successfully supplemented."
msgstr "Thank You! The information has been successfully supplemented."
msgstr "Aitäh! Teie andmed on edukalt saadetud."
#: public/partials/biuro-contacts-public--employers--step-1.php:41
#: public/partials/biuro-contacts-public--position--step-2.php:60
......@@ -134,7 +131,7 @@ msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:134
#: public/partials/biuro-contacts-public--position--step-1.php:24
msgid "Apply"
msgstr "Rakenda"
msgstr "Kandideeri"
#: public/partials/biuro-contacts-public--employers.php:56
msgid "Thank You for contacting!"
......@@ -142,11 +139,11 @@ msgstr "Täname Teid!"
#: public/partials/biuro-contacts-public--employers.php:57
msgid "You request was send successfully, we will contact You."
msgstr "Teie taotlus saadeti edukalt, võtame Teiega ühendust."
msgstr "Teie taotlus on edukalt saadetud, võtame Teiega ühendust."
#: public/partials/biuro-contacts-public--position.php:64
msgid "Thank You! Your data was send successfully."
msgstr "Aitäh! Teie andmed saadeti edukalt."
msgstr "Aitäh! Teie andmed on edukalt saadetud."
#. Name of the plugin
msgid "Biuro Contacts"
......
msgid ""
msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-01 18:13+0000\n"
"PO-Revision-Date: 2019-05-01 18:54+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.1.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
msgstr "Būtinas laukas"
#: public/class-biuro-contacts-public.php:162
msgid "Phone or email field is required"
msgstr "Telefono nr. arba el. paštas yra būtinas"
#: public/class-biuro-contacts-public.php:173
msgid "Incorrect phone number"
msgstr "Neteisingas tel. numeris"
#: public/class-biuro-contacts-public.php:183
msgid "Email or phone field is required"
msgstr "Telefono nr. arba el. paštas yra būtinas"
#: public/class-biuro-contacts-public.php:190
msgid "Email format is incorrect"
msgstr "Neteisingas el. pašto formatas."
#: public/class-biuro-contacts-public.php:205
msgid "You have to agree with conditions"
msgstr "Kad galėtume susisiekti, turite sutikti su sąlygomis"
#: public/partials/biuro-contacts-public--employees--step-2.php:23
#: public/partials/biuro-contacts-public--position--step-2.php:98
msgid "City"
msgstr "Miestas"
#: public/partials/biuro-contacts-public--employees--step-2.php:30
#: public/partials/biuro-contacts-public--position--step-2.php:105
#: public/partials/biuro-contacts-public--employers--step-2.php:30
msgid "Message"
msgstr "Žinutė"
#: public/partials/biuro-contacts-public--employees--step-2.php:37
#: public/partials/biuro-contacts-public--position--step-2.php:112
msgid "CV"
msgstr "Prisegti CV (neprivaloma)"
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employees--step-1.php:78
#: public/partials/biuro-contacts-public--employers--step-1.php:78
#: public/partials/biuro-contacts-public--employers--step-2.php:47
msgid "Submit"
msgstr "Siųsti"
#: public/partials/biuro-contacts-public--position--step-2.php:60
#: public/partials/biuro-contacts-public--employees--step-1.php:41
#: public/partials/biuro-contacts-public--employers--step-1.php:41
msgid "Name, surname"
msgstr "Vardas, pavardė"
#: public/partials/biuro-contacts-public--position--step-2.php:73
#: public/partials/biuro-contacts-public--employees--step-1.php:53
#: public/partials/biuro-contacts-public--employers--step-1.php:53
msgid "Phone no."
msgstr "Telefonas"
#: public/partials/biuro-contacts-public--position--step-2.php:86
#: public/partials/biuro-contacts-public--employees--step-1.php:65
#: public/partials/biuro-contacts-public--employers--step-1.php:65
msgid "Email address"
msgstr "El. paštas"
#: public/partials/biuro-contacts-public--position--step-2.php:121
#: public/partials/biuro-contacts-public--employees--step-1.php:85
msgid ""
"I agree, that my personal data will be used for offering me a job. For more "
"detailed information view our <a href=\"https://biuro.eu/privacy-en.html\" "
"target=\"_blank\" rel=\"noopener\">Personal Data Protection Policy.</a>"
msgstr ""
"Sutinku, kad mano asmens duomenys būtų tvarkomi pateikti darbo pasiūlymus. "
"Išsamią informaciją rasite <a href=\"https://biuro.eu/privacy-lt.html\" "
"target=\"_blank\" rel=\"noopener\">Asmens duomenų tvarkymo politikoje.</a>"
#: public/partials/biuro-contacts-public--position--step-2.php:132
#: public/partials/biuro-contacts-public--position--step-1.php:24
msgid "Apply"
msgstr "Kandidatuoti"
#: public/partials/biuro-contacts-public--position.php:64
msgid "Thank You! Your data was send successfully."
msgstr "Dėkojame! Informacija išsiųsta sėkmingai."
#: public/partials/biuro-contacts-public--position.php:65
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
#: public/partials/biuro-contacts-public--employers.php:58
#: public/partials/biuro-contacts-public--employers.php:90
msgid "OK"
msgstr "Gerai"
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
msgstr "Dėkojame, duomenis apie tave sėkmingai gavome. "
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr ""
"Informaciją apie save gali papildyti pridėdamas miestą, žinutę arba CV."
#: public/partials/biuro-contacts-public--employees.php:90
#: public/partials/biuro-contacts-public--employers.php:89
msgid "Thank You! The information has been successfully supplemented."
msgstr "Dėkojame! Informacija papildyta sėkmingai."
#: public/partials/biuro-contacts-public--employers.php:56
msgid "Thank You for contacting!"
msgstr "Dėkojame, kad kreipiatės! "
#: public/partials/biuro-contacts-public--employers.php:57
msgid "You request was send successfully, we will contact You."
msgstr "Jūsų užklausa išsiųsta sėkmingai, su Jumis susisieksime."
#: public/partials/biuro-contacts-public--employers--step-1.php:85
msgid ""
"I agree, that my personal data will be used for communicating during the pre-"
"contractual relationship. For more detailed information view our <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Personal Data Protection Policy.</a>"
msgstr ""
"Sutinku, kad mano asmens duomenys būtų tvarkomi būtų tvarkomi komunikuojant "
"ikisutartiniuose santykiuose. Išsamią informaciją rasite <a href=\"https:"
"//biuro.eu/privacy-lt.html\" target=\"_blank\" rel=\"noopener\">Asmens "
"duomenų tvarkymo politikoje.</a>"
#: public/partials/biuro-contacts-public--employers--step-2.php:23
msgid "Company"
msgstr "Įmonė"
#. Name of the plugin
msgid "Biuro Contacts"
msgstr "Biuro Contacts"
#. Description of the plugin
msgid ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
msgstr ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr "https://www.biuro.lt"
#. Author of the plugin
msgid "Biuro"
msgstr "Biuro"
msgid ""
msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-06-27 05:55+0000\n"
"PO-Revision-Date: 2019-06-27 05:55+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.3.0; wp-5.2.2"
#: public/partials/biuro-contacts-public--employees--step-1.php:42
#: public/partials/biuro-contacts-public--employers--step-1.php:41
#: public/partials/biuro-contacts-public--position--step-2.php:65
msgid "Name, surname"
msgstr "Vardas, pavardė"
#: public/partials/biuro-contacts-public--employees--step-1.php:54
#: public/partials/biuro-contacts-public--employers--step-1.php:53
#: public/partials/biuro-contacts-public--position--step-2.php:78
msgid "Phone no."
msgstr "Telefonas"
#: public/partials/biuro-contacts-public--employees--step-1.php:68
#: public/partials/biuro-contacts-public--employers--step-1.php:67
#: public/partials/biuro-contacts-public--position--step-2.php:91
msgid "Email address"
msgstr "El. paštas"
#: public/partials/biuro-contacts-public--employees--step-1.php:88
#: public/partials/biuro-contacts-public--employees--step-2.php:63
#: public/partials/biuro-contacts-public--employees--step-2.php:67
#: public/partials/biuro-contacts-public--employers--step-1.php:80
#: public/partials/biuro-contacts-public--employers--step-2.php:47
msgid "Submit"
msgstr "Siųsti"
#: public/partials/biuro-contacts-public--employees--step-1.php:113
#: public/partials/biuro-contacts-public--position--step-2.php:168
msgid ""
"We process your personal data to offer you jobs. More information at <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Personal Data Protection Policy.</a>"
msgstr ""
#: public/partials/biuro-contacts-public--employees--step-2.php:23
#: public/partials/biuro-contacts-public--position--step-2.php:103
msgid "City"
msgstr "Miestas"
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employers--step-2.php:30
#: public/partials/biuro-contacts-public--position--step-2.php:132
msgid "Message"
msgstr "Žinutė"
#: public/partials/biuro-contacts-public--employees--step-2.php:52
#: public/partials/biuro-contacts-public--position--step-2.php:139
msgid "CV"
msgstr "Prisegti CV (neprivaloma)"
#: public/partials/biuro-contacts-public--employees.php:45
msgid "Thank You, we have successfully received data about you."
msgstr "Dėkojame, duomenis apie tave sėkmingai gavome. "
#: public/partials/biuro-contacts-public--employees.php:46
msgid "You can add information about yourself by adding a city, message or CV"
msgstr ""
"Informaciją apie save gali papildyti pridėdamas miestą, žinutę arba CV."
#: public/partials/biuro-contacts-public--employees.php:47
#: public/partials/biuro-contacts-public--employees.php:83
#: public/partials/biuro-contacts-public--employers.php:47
#: public/partials/biuro-contacts-public--employers.php:68
#: public/partials/biuro-contacts-public--position.php:54
msgid "OK"
msgstr "Gerai"
#: public/partials/biuro-contacts-public--employees.php:82
#: public/partials/biuro-contacts-public--employers.php:67
msgid "Thank You! The information has been successfully supplemented."
msgstr "Dėkojame! Informacija papildyta sėkmingai."
#: public/partials/biuro-contacts-public--employers--step-1.php:102
msgid ""
"We process your personal data for service cooperation. More information at "
"<a href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" "
"rel=\"noopener\">Personal Data Protection Policy.</a>"
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-2.php:23
msgid "Company"
msgstr "Įmonė"
#: public/partials/biuro-contacts-public--employers.php:45
msgid "Thank You for contacting!"
msgstr "Dėkojame, kad kreipiatės! "
#: public/partials/biuro-contacts-public--employers.php:46
msgid "You request was send successfully, we will contact You."
msgstr ""
"Jūsų užklausa išsiųsta sėkmingai, su Jumis susisieksime. Galite papildyti "
"užklausą įrašydami įmonės pavadinimą ar žinutę."
#: public/partials/biuro-contacts-public--position--step-1.php:24
#: public/partials/biuro-contacts-public--position--step-2.php:175
msgid "Apply"
msgstr "Kandidatuoti"
#: public/partials/biuro-contacts-public--position.php:53
msgid "Thank You! Your data was send successfully."
msgstr "Dėkojame! Informacija išsiųsta sėkmingai."
#. Name of the plugin
msgid "Biuro Contacts"
msgstr "Biuro Contacts"
#. Description of the plugin
msgid ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
msgstr ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr "https://www.biuro.lt"
#. Author of the plugin
msgid "Biuro"
msgstr "Biuro"
msgid ""
msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 11:13+0000\n"
"PO-Revision-Date: 2019-05-31 11:16+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Latvian\n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=n % 10 == 1 && n % 100 != 11 ? 0 : n != 0 ? "
"1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.2.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:162
msgid "Phone or email field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:173
msgid "Incorrect phone number"
msgstr ""
#: public/class-biuro-contacts-public.php:183
msgid "Email or phone field is required"
msgstr ""
#: public/class-biuro-contacts-public.php:190
msgid "Email format is incorrect"
msgstr ""
#: public/class-biuro-contacts-public.php:205
msgid "You have to agree with conditions"
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-2.php:23
msgid "Company"
msgstr "Kompānijā "
#: public/partials/biuro-contacts-public--employers--step-2.php:30
#: public/partials/biuro-contacts-public--position--step-2.php:107
#: public/partials/biuro-contacts-public--employees--step-2.php:30
msgid "Message"
msgstr "Ziņojums"
#: public/partials/biuro-contacts-public--employers--step-2.php:47
#: public/partials/biuro-contacts-public--employers--step-1.php:80
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employees--step-1.php:80
msgid "Submit"
msgstr "Nosūtīt"
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr ""
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
#: public/partials/biuro-contacts-public--employers.php:58
#: public/partials/biuro-contacts-public--employers.php:90
#: public/partials/biuro-contacts-public--position.php:65
msgid "OK"
msgstr "Labi"
#: public/partials/biuro-contacts-public--employees.php:90
#: public/partials/biuro-contacts-public--employers.php:89
msgid "Thank You! The information has been successfully supplemented."
msgstr ""
#: public/partials/biuro-contacts-public--employers--step-1.php:41
#: public/partials/biuro-contacts-public--position--step-2.php:60
#: public/partials/biuro-contacts-public--employees--step-1.php:41
msgid "Name, surname"
msgstr "Vārds, Uzvārds"
#: public/partials/biuro-contacts-public--employers--step-1.php:53
#: public/partials/biuro-contacts-public--position--step-2.php:73
#: public/partials/biuro-contacts-public--employees--step-1.php:53
msgid "Phone no."
msgstr "Telefons"
#: public/partials/biuro-contacts-public--employers--step-1.php:67
#: public/partials/biuro-contacts-public--position--step-2.php:86
#: public/partials/biuro-contacts-public--employees--step-1.php:67
msgid "Email address"
msgstr "E-pasts"
#: public/partials/biuro-contacts-public--employers--step-1.php:87
msgid ""
"I agree, that my personal data will be used for communicating during the pre-"
"contractual relationship. For more detailed information view our <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Personal Data Protection Policy.</a>"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:98
#: public/partials/biuro-contacts-public--employees--step-2.php:23
msgid "City"
msgstr "Pilsēta"
#: public/partials/biuro-contacts-public--position--step-2.php:114
#: public/partials/biuro-contacts-public--employees--step-2.php:37
msgid "CV"
msgstr "Pievienot CV"
#: public/partials/biuro-contacts-public--position--step-2.php:123
#: public/partials/biuro-contacts-public--employees--step-1.php:87
msgid ""
"I agree, that my personal data will be used for offering me a job. For more "
"detailed information view our <a href=\"https://biuro.eu/privacy-en.html\" "
"target=\"_blank\" rel=\"noopener\">Personal Data Protection Policy.</a>"
msgstr ""
#: public/partials/biuro-contacts-public--position--step-2.php:134
#: public/partials/biuro-contacts-public--position--step-1.php:24
msgid "Apply"
msgstr ""
#: public/partials/biuro-contacts-public--employers.php:56
msgid "Thank You for contacting!"
msgstr ""
#: public/partials/biuro-contacts-public--employers.php:57
msgid "You request was send successfully, we will contact You."
msgstr ""
#: public/partials/biuro-contacts-public--position.php:64
msgid "Thank You! Your data was send successfully."
msgstr ""
#. Name of the plugin
msgid "Biuro Contacts"
msgstr ""
#. Description of the plugin
msgid ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
msgstr ""
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr "https://www.biuro.lv"
#. Author of the plugin
msgid "Biuro"
msgstr "Biuro"
msgid ""
msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-30 14:01+0000\n"
"PO-Revision-Date: 2019-06-18 06:24+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Russian\n"
"Language: ru_RU\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
msgstr "Вы должны заполнить это поле"
#: public/class-biuro-contacts-public.php:162
msgid "Phone or email field is required"
msgstr "Требуется телефон или электронная почта"
#: public/class-biuro-contacts-public.php:173
msgid "Incorrect phone number"
msgstr "Неверный номер телефона"
#: public/class-biuro-contacts-public.php:183
msgid "Email or phone field is required"
msgstr "Требуется телефон или электронная почта"
#: public/class-biuro-contacts-public.php:190
msgid "Email format is incorrect"
msgstr "Неверный формат электронной почты"
#: public/class-biuro-contacts-public.php:205
msgid "You have to agree with conditions"
msgstr "Вы должны согласиться с условиями"
#: public/partials/biuro-contacts-public--employers--step-2.php:23
msgid "Company"
msgstr "Компания"
#: public/partials/biuro-contacts-public--employers--step-2.php:30
#: public/partials/biuro-contacts-public--position--step-2.php:107
#: public/partials/biuro-contacts-public--employees--step-2.php:30
msgid "Message"
msgstr "Сообщение"
#: public/partials/biuro-contacts-public--employers--step-2.php:47
#: public/partials/biuro-contacts-public--employers--step-1.php:80
#: public/partials/biuro-contacts-public--employees--step-2.php:45
#: public/partials/biuro-contacts-public--employees--step-1.php:80
msgid "Submit"
msgstr "Отправить"
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
msgstr "Спасибо, мы успешно получили ваши данные."
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr ""
"Вы можете добавить информацию о себе, добавив город, сообщение или резюме"
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
#: public/partials/biuro-contacts-public--employers.php:58
#: public/partials/biuro-contacts-public--employers.php:90
#: public/partials/biuro-contacts-public--position.php:65
msgid "OK"
msgstr "Хорошо"
#: public/partials/biuro-contacts-public--employees.php:90
#: public/partials/biuro-contacts-public--employers.php:89
msgid "Thank You! The information has been successfully supplemented."
msgstr "Спасибо! Информация была успешно дополнена."
#: public/partials/biuro-contacts-public--employers--step-1.php:41
#: public/partials/biuro-contacts-public--position--step-2.php:60
#: public/partials/biuro-contacts-public--employees--step-1.php:41
msgid "Name, surname"
msgstr "Имя, Фамилия"
#: public/partials/biuro-contacts-public--employers--step-1.php:53
#: public/partials/biuro-contacts-public--position--step-2.php:73
#: public/partials/biuro-contacts-public--employees--step-1.php:53
msgid "Phone no."
msgstr "Телефон"
#: public/partials/biuro-contacts-public--employers--step-1.php:67
#: public/partials/biuro-contacts-public--position--step-2.php:86
#: public/partials/biuro-contacts-public--employees--step-1.php:67
msgid "Email address"
msgstr "Адрес электронной почты"
#: public/partials/biuro-contacts-public--employers--step-1.php:87
msgid ""
"I agree, that my personal data will be used for communicating during the pre-"
"contractual relationship. For more detailed information view our <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"Personal Data Protection Policy.</a>"
msgstr ""
"Я согласен, что мои личные данные будут использоваться для общения во время "
"преддоговорных отношений. Для более подробной информации просмотрите наше <a "
"href=\"https://biuro.eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">"
"политику защиты персональных данных.</a>"
#: public/partials/biuro-contacts-public--position--step-2.php:98
#: public/partials/biuro-contacts-public--employees--step-2.php:23
msgid "City"
msgstr "Город"
#: public/partials/biuro-contacts-public--position--step-2.php:114
#: public/partials/biuro-contacts-public--employees--step-2.php:37
msgid "CV"
msgstr "Приложить CV"
#: public/partials/biuro-contacts-public--position--step-2.php:123
#: public/partials/biuro-contacts-public--employees--step-1.php:87
msgid ""
"I agree, that my personal data will be used for offering me a job. For more "
"detailed information view our <a href=\"https://biuro.eu/privacy-en.html\" "
"target=\"_blank\" rel=\"noopener\">Personal Data Protection Policy.</a>"
msgstr ""
"Я согласен, что мои личные данные будут использованы для предложения работы. "
"Для более подробной информации просмотрите наше <a href=\"https://biuro."
"eu/privacy-en.html\" target=\"_blank\" rel=\"noopener\">политику защиты "
"персональных данных.</a>"
#: public/partials/biuro-contacts-public--position--step-2.php:134
#: public/partials/biuro-contacts-public--position--step-1.php:24
msgid "Apply"
msgstr "Подать заявку"
#: public/partials/biuro-contacts-public--employers.php:56
msgid "Thank You for contacting!"
msgstr "Спасибо за обращение!"
#: public/partials/biuro-contacts-public--employers.php:57
msgid "You request was send successfully, we will contact You."
msgstr ""
"Ваш запрос был успешно отправлен, мы свяжемся с Вами. Вы можете добавить в "
"свой запрос название компании или сообщение."
#: public/partials/biuro-contacts-public--position.php:64
msgid "Thank You! Your data was send successfully."
msgstr "Спасибо! Ваши данные были успешно отправлены."
#. Name of the plugin
msgid "Biuro Contacts"
msgstr "Biuro Contacts"
#. Description of the plugin
msgid ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
msgstr ""
"This is a short description of what the plugin does. It's displayed in the "
"WordPress admin area."
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr "https://www.biuro.ee"
#. Author of the plugin
msgid "Biuro"
msgstr "Biuro"
......@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Biuro Contacts\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-30 14:01+0000\n"
"PO-Revision-Date: 2019-05-31 10:37+0000\n"
"PO-Revision-Date: 2019-06-18 06:24+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
......@@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.2.1"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#: public/class-biuro-contacts-public.php:151
msgid "This field is required"
......@@ -58,12 +58,12 @@ msgstr "Отправить"
#: public/partials/biuro-contacts-public--employees.php:56
msgid "Thank You, we have successfully received data about you."
msgstr "Спасибо, мы успешно получили данные о вас."
msgstr "Спасибо, мы успешно получили ваши данные."
#: public/partials/biuro-contacts-public--employees.php:57
msgid "You can add information about yourself by adding a city, message or CV"
msgstr ""
"Вы можете добавить информацию о себе, добавив город, сообщение или резюме"
"Вы можете дополнить информацию о себе, добавив город, сообщение или резюме"
#: public/partials/biuro-contacts-public--employees.php:58
#: public/partials/biuro-contacts-public--employees.php:91
......@@ -164,7 +164,7 @@ msgstr ""
#. URI of the plugin
#. Author URI of the plugin
msgid "https://www.biuro.lt"
msgstr "https://www.biuro.lt"
msgstr "https://www.biuro.ee"
#. Author of the plugin
msgid "Biuro"
......
msgid ""
msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-04 13:05+0000\n"
"PO-Revision-Date: 2019-05-04 13:05+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: German\n"
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.1.1"
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
msgstr "Sorry, the page you are looking for does not exist!"
#: 404.php:27
msgid "Return to homepage"
msgstr "Zur Startseite zurückkehren"
#: single-job.php:48
msgid "Salary from"
msgstr "Gehalt von"
#: single-job.php:54
msgid "Salary to"
msgstr "Gehalt an"
#: single-job.php:66
msgid "Published"
msgstr "Veröffentlicht"
#: single-job.php:68
msgid "Valid till"
msgstr "Gültig bis"
#: single-job.php:75
msgid "Apply"
msgstr "Sich bewerben"
#: header.php:137
msgid "Get an offer"
msgstr "Erhalte ein Angebot"
#: header.php:155 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:215
msgid "Get a job offer"
msgstr "Erhalte ein Jobangebot"
#: front-page.php:43
msgid "Recent job ads"
msgstr "Aktuelle Stellenanzeigen"
#: front-page.php:70 template-parts/jobs/jobs-not-found.php:25
msgid "More job ads"
msgstr "Weitere Stellenanzeigen"
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "Sie vertrauen uns"
#. Name of the template
msgid "Search & Jobs page"
msgstr "Search & Jobs page"
#: search.php:32 page-vasaros-darbu-bankas.php:39
msgid "Other filters"
msgstr "Andere suchfilter"
#. Name of the template
msgid "VDB page"
msgstr ""
#: page-vasaros-darbu-bankas.php:30
msgid ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
msgstr ""
#: page-vasaros-darbu-bankas.php:170
#: template-parts/layout/aside-job-list.php:199
msgid "Didn't find a job offer you like?"
msgstr ""
#: page-vasaros-darbu-bankas.php:172
#: template-parts/layout/aside-job-list.php:201
msgid "Fill out the form and we will contact you"
msgstr ""
#: page-vasaros-darbu-bankas.php:196
msgid "900"
msgstr ""
#: page-vasaros-darbu-bankas.php:197
msgid ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
msgstr ""
#: searchform.php:114
msgid "Locations"
msgstr "Gebiet"
#: searchform.php:230
msgid "Keyword"
msgstr "Stichwort"
#: searchform.php:238
msgid "Search"
msgstr "Suche"
#. Name of the template
msgid "Sales page"
msgstr "Sales page"
#. Name of the template
msgid "Regions page"
msgstr "Regions-Seite"
#. Name of the template
msgid "Divisions page"
msgstr "Divisions page"
#: page-divisions.php:70
msgid "All"
msgstr "Alles"
#: template-parts/jobs/jobs-none.php:14
msgid "There are currently no job ads."
msgstr ""
"Derzeit gibt es keine Stellenanzeigen in deutscher Sprache. Aber wir haben "
"Job-Anzeigen in <a href=\"https://www.biuro.lt/darbuotojams/darbo-"
"pasiulymai/\">litauischer Sprache - wählen.</a>"
#: template-parts/jobs/jobs-not-found.php:14
msgid "No search results were found."
msgstr "Es wurden keine Suchergebnisse gefunden."
#: template-parts/layout/aside-job-list.php:144
msgid "More ..."
msgstr "Mehr..."
#: template-parts/layout/aside-job-list.php:168
msgid "City"
msgstr "Stadt"
#: template-parts/layout/aside-job-list.php:172
msgid "Job area"
msgstr "Arbeitsbereich"
#: template-parts/layout/aside-job-list.php:176
msgid "Job type"
msgstr "Auftragstyp"
#: template-parts/layout/aside-job-list.php:185
msgid "Reset filters"
msgstr ""
#: template-parts/layout/aside-job.php:11
msgid "Job position"
msgstr "Berufliche Stellung"
#: template-parts/layout/aside-job.php:11
msgid "I think you might like this job offer"
msgstr "Ich denke, dass Ihnen dieses Stellenangebot gefallen könnte"
#: template-parts/layout/aside-job.php:43
msgid "Suggest a friend"
msgstr "Für einen Freund vorschlagen"
#: template-parts/layout/aside-job-inactive.php:1
msgid "Job ad is inactive"
msgstr "Stellenanzeige ist inaktiv"
#. Name of the theme
#. Author of the theme
msgid "Biuro"
msgstr "Biuro"
#. Description of the theme
msgid "Biuro multiregion theme"
msgstr "Biuro multiregion theme"
#. Author URI of the theme
msgid "https://www.biuro.lt/"
msgstr "https://www.biuro.lt/"
msgid ""
msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 10:39+0000\n"
"PO-Revision-Date: 2019-06-11 12:43+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: English (United States)\n"
"Language: en_US\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#. Name of the template
msgid "Regions page"
msgstr ""
#. Name of the template
msgid "Divisions page"
msgstr ""
#: page-divisions.php:70
msgid "All"
msgstr ""
#: header.php:139
msgid "Get an offer"
msgstr ""
#: header.php:157 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:215
msgid "Get a job offer"
msgstr ""
#: searchform.php:114
msgid "Locations"
msgstr "Location"
#: searchform.php:230
msgid "Keyword"
msgstr ""
#: searchform.php:238
msgid "Search"
msgstr ""
#: front-page.php:43
msgid "Recent job ads"
msgstr ""
#: front-page.php:70 template-parts/jobs/jobs-not-found.php:25
msgid "More job ads"
msgstr ""
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "Trust in us"
#. Name of the template
msgid "Sales page"
msgstr ""
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
msgstr ""
#: 404.php:27
msgid "Return to homepage"
msgstr ""
#. Name of the template
msgid "VDB page"
msgstr ""
#: page-vasaros-darbu-bankas.php:30
msgid ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
msgstr ""
#: page-vasaros-darbu-bankas.php:39 search.php:32
msgid "Other filters"
msgstr ""
#: page-vasaros-darbu-bankas.php:170
#: template-parts/layout/aside-job-list.php:199
msgid "Didn't find a job offer you like?"
msgstr ""
#: page-vasaros-darbu-bankas.php:172
#: template-parts/layout/aside-job-list.php:201
msgid "Fill out the form and we will contact you"
msgstr ""
#: page-vasaros-darbu-bankas.php:196
msgid "900"
msgstr ""
#: page-vasaros-darbu-bankas.php:197
msgid ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
msgstr ""
#. Name of the template
msgid "Search & Jobs page"
msgstr ""
#: single-job.php:48
msgid "Salary from"
msgstr ""
#: single-job.php:54
msgid "Salary to"
msgstr ""
#: single-job.php:66
msgid "Published"
msgstr ""
#: single-job.php:68
msgid "Valid till"
msgstr ""
#: single-job.php:75
msgid "Apply"
msgstr ""
#: template-parts/layout/aside-job-inactive.php:1
msgid "Job ad is inactive"
msgstr ""
#: template-parts/layout/aside-job.php:11
msgid "Job position"
msgstr ""
#: template-parts/layout/aside-job.php:11
msgid "I think you might like this job offer"
msgstr ""
#: template-parts/layout/aside-job.php:43
msgid "Suggest a friend"
msgstr ""
#: template-parts/layout/aside-job-list.php:144
msgid "More ..."
msgstr ""
#: template-parts/layout/aside-job-list.php:168
msgid "City"
msgstr ""
#: template-parts/layout/aside-job-list.php:172
msgid "Job area"
msgstr ""
#: template-parts/layout/aside-job-list.php:176
msgid "Job type"
msgstr ""
#: template-parts/layout/aside-job-list.php:185
msgid "Reset filters"
msgstr ""
#: template-parts/jobs/jobs-not-found.php:14
msgid "No search results were found."
msgstr ""
#: template-parts/jobs/jobs-none.php:14
msgid "There are currently no job ads."
msgstr ""
"There are currently no job ads in English. However, we have lots of job ads "
"in <a href=\"https://biuro.ee/toeoeotsijatele/toeoepakkumised/\"> estonian - "
"choose the one you like.</a>"
#. Name of the theme
#. Author of the theme
msgid "Biuro"
msgstr ""
#. Description of the theme
msgid "Biuro multiregion theme"
msgstr ""
#. Author URI of the theme
msgid "https://www.biuro.lt/"
msgstr ""
......@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 10:39+0000\n"
"PO-Revision-Date: 2019-05-31 10:42+0000\n"
"PO-Revision-Date: 2019-06-16 18:39+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: English (United States)\n"
"Language: en_US\n"
......@@ -12,7 +12,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.2.1"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#. Name of the template
msgid "Regions page"
......@@ -57,7 +57,7 @@ msgstr ""
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "They trust in us"
msgstr "Trust in us"
#. Name of the template
msgid "Sales page"
......@@ -173,8 +173,8 @@ msgstr ""
msgid "There are currently no job ads."
msgstr ""
"There are currently no job ads in English. However, we have lots of job ads "
"in <a href=\"https://biuro.ee/toeoeotsijatele/toeoepakkumised/\"> estonian - "
"choose the one you like.</a>"
"in <a href=\"/toeoeotsijatele/toeoepakkumised/\"> estonian - choose the one "
"you like.</a>"
#. Name of the theme
#. Author of the theme
......
msgid ""
msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-06-11 22:21+0000\n"
"PO-Revision-Date: 2019-06-26 13:32+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Estonian\n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
msgstr "Kahjuks ei ole otsitav leht olemas!"
#: 404.php:27
msgid "Return to homepage"
msgstr "Tagasi avalehele"
#: single-job.php:48
msgid "Salary from"
msgstr "Palk alates"
#: single-job.php:54
msgid "Salary to"
msgstr "Palk kuni"
#: single-job.php:66
msgid "Published"
msgstr "Avaldatud"
#: single-job.php:68
msgid "Valid till"
msgstr "Kehtiv kuni"
#: single-job.php:75
msgid "Apply"
msgstr "Kandideeri"
#: header.php:100
msgid "Get an offer"
msgstr "Soovin tööpakkumist"
#: header.php:118 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:147
msgid "Get a job offer"
msgstr "Küsi pakkumist"
#: front-page.php:43
msgid "Recent job ads"
msgstr "Viimased töökuulutused"
#: front-page.php:70 template-parts/jobs/jobs-not-found.php:25
msgid "More job ads"
msgstr "Rohkem tööpakkumisi"
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "Meid usaldatakse"
#. Name of the template
msgid "Search & Jobs page"
msgstr "Search & Jobs page"
#: search.php:32 page-vasaros-darbu-bankas.php:39
msgid "Other filters"
msgstr "Muud filtrid"
#. Name of the template
msgid "Employees Landing Page I"
msgstr ""
#. Name of the template
msgid "VDB page"
msgstr "VDB page"
#: page-vasaros-darbu-bankas.php:30
msgid ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
msgstr ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
#: page-vasaros-darbu-bankas.php:170
#: template-parts/layout/aside-job-list.php:131
msgid "Didn't find a job offer you like?"
msgstr "Kas ei leidnud tööpakkumist mis meeldiks?"
#: page-vasaros-darbu-bankas.php:172
#: template-parts/layout/aside-job-list.php:133
msgid "Fill out the form and we will contact you"
msgstr "Täitke päringu vorm ja me võtame Teiega ühendust."
#: page-vasaros-darbu-bankas.php:196
msgid "900"
msgstr "900"
#: page-vasaros-darbu-bankas.php:197
msgid ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
msgstr ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
#: searchform.php:44
msgid "Locations"
msgstr "Asukoht"
#: searchform.php:61
msgid "Keyword"
msgstr "Märksõna"
#: searchform.php:66
msgid "Search"
msgstr "Otsing"
#. Name of the template
msgid "Sales page"
msgstr "Sales page"
#. Name of the template
msgid "Regions page"
msgstr "Regions page"
#. Name of the template
msgid "Divisions page"
msgstr "Divisions page"
#: page-divisions.php:53
msgid "All"
msgstr "Kõik"
#: template-parts/jobs/jobs-none.php:14
msgid "There are currently no job ads."
msgstr "Hetkel pole ühtegi tööpakkumist."
#: template-parts/jobs/jobs-not-found.php:14
msgid "No search results were found."
msgstr "Otsingutulemusi ei leitud."
#: template-parts/layout/aside-job-list.php:67
msgid "More ..."
msgstr "Rohkem..."
#: template-parts/layout/aside-job-list.php:100
msgid "City"
msgstr "Linn"
#: template-parts/layout/aside-job-list.php:104
msgid "Job area"
msgstr "Valdkond"
#: template-parts/layout/aside-job-list.php:108
msgid "Job type"
msgstr "Töötüüp"
#: template-parts/layout/aside-job-list.php:117
msgid "Reset filters"
msgstr "Tühista filtrid"
#: template-parts/layout/aside-job.php:11
msgid "Job position"
msgstr "Töökoht"
#: template-parts/layout/aside-job.php:11
msgid "I think you might like this job offer"
msgstr "Arvan, et sulle võiks see tööpakkumine meeldida"
#: template-parts/layout/aside-job.php:43
msgid "Suggest a friend"
msgstr "Soovita sõbrale"
#: template-parts/layout/aside-job-inactive.php:1
msgid "Job ad is inactive"
msgstr "Tööpakkumine pole aktiivne"
#. Name of the theme
#. Author of the theme
msgid "Biuro"
msgstr "Biuro"
#. Description of the theme
msgid "Biuro multiregion theme"
msgstr "Biuro multiregion theme"
#. Author URI of the theme
msgid "https://www.biuro.lt/"
msgstr "https://www.biuro.ee/"
......@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 11:52+0000\n"
"PO-Revision-Date: 2019-05-31 12:07+0000\n"
"POT-Creation-Date: 2019-06-11 22:21+0000\n"
"PO-Revision-Date: 2019-06-26 13:32+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Estonian\n"
"Language: et\n"
......@@ -12,40 +12,44 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.2.1"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#. Name of the template
msgid "Regions page"
msgstr "Regions page"
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
msgstr "Kahjuks ei ole otsitav leht olemas!"
#. Name of the template
msgid "Divisions page"
msgstr "Divisions page"
#: 404.php:27
msgid "Return to homepage"
msgstr "Tagasi avalehele"
#: page-divisions.php:70
msgid "All"
msgstr "Kõik"
#: single-job.php:48
msgid "Salary from"
msgstr "Palk alates"
#: header.php:139
msgid "Get an offer"
msgstr "Saa pakkumist"
#: single-job.php:54
msgid "Salary to"
msgstr "Palk kuni"
#: header.php:157 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:215
msgid "Get a job offer"
msgstr "Saa tööpakkumist"
#: single-job.php:66
msgid "Published"
msgstr "Avaldatud"
#: searchform.php:114
msgid "Locations"
msgstr "Asukoht"
#: single-job.php:68
msgid "Valid till"
msgstr "Kehtiv kuni"
#: searchform.php:230
msgid "Keyword"
msgstr "Märksõna"
#: single-job.php:75
msgid "Apply"
msgstr "Kandideeri"
#: searchform.php:238
msgid "Search"
msgstr "Otsing"
#: header.php:100
msgid "Get an offer"
msgstr "Soovin tööpakkumist"
#: header.php:118 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:147
msgid "Get a job offer"
msgstr "Küsi tööpakkumist"
#: front-page.php:43
msgid "Recent job ads"
......@@ -57,19 +61,19 @@ msgstr "Rohkem tööpakkumisi"
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "Meile usaldatakse"
msgstr "Meid usaldatakse"
#. Name of the template
msgid "Sales page"
msgstr "Sales page"
msgid "Search & Jobs page"
msgstr "Search & Jobs page"
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
msgstr "Kahjuks ei ole otsitav leht olemas!"
#: search.php:32 page-vasaros-darbu-bankas.php:39
msgid "Other filters"
msgstr "Muud filtrid"
#: 404.php:27
msgid "Return to homepage"
msgstr "Tagasi avalehele"
#. Name of the template
msgid "Employees Landing Page I"
msgstr ""
#. Name of the template
msgid "VDB page"
......@@ -83,19 +87,13 @@ msgstr ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
#: page-vasaros-darbu-bankas.php:39 search.php:32
msgid "Other filters"
msgstr "Muud filtrid"
#: page-vasaros-darbu-bankas.php:170
#: template-parts/layout/aside-job-list.php:199
#: template-parts/layout/aside-job-list.php:131
msgid "Didn't find a job offer you like?"
msgstr ""
"33/5000\n"
"Kas sulle ei meeldinud tööpakkumist?"
msgstr "Kas ei leidnud tööpakkumist mis meeldiks?"
#: page-vasaros-darbu-bankas.php:172
#: template-parts/layout/aside-job-list.php:201
#: template-parts/layout/aside-job-list.php:133
msgid "Fill out the form and we will contact you"
msgstr "Täitke päringu vorm ja me võtame Teiega ühendust."
......@@ -111,73 +109,77 @@ msgstr ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
#. Name of the template
msgid "Search & Jobs page"
msgstr "Search & Jobs page"
#: single-job.php:48
msgid "Salary from"
msgstr "Palk alates"
#: searchform.php:44
msgid "Locations"
msgstr "Asukoht"
#: single-job.php:54
msgid "Salary to"
msgstr "Palk kuni"
#: searchform.php:61
msgid "Keyword"
msgstr "Märksõna"
#: single-job.php:66
msgid "Published"
msgstr "Avaldatud"
#: searchform.php:66
msgid "Search"
msgstr "Otsing"
#: single-job.php:68
msgid "Valid till"
msgstr "Kehtiv kuni"
#. Name of the template
msgid "Sales page"
msgstr "Sales page"
#: single-job.php:75
msgid "Apply"
msgstr "Rakenda"
#. Name of the template
msgid "Regions page"
msgstr "Regions page"
#: template-parts/layout/aside-job-inactive.php:1
msgid "Job ad is inactive"
msgstr "Töö reklaam on mitteaktiivne"
#. Name of the template
msgid "Divisions page"
msgstr "Divisions page"
#: template-parts/layout/aside-job.php:11
msgid "Job position"
msgstr "Tööpiirkond"
#: page-divisions.php:53
msgid "All"
msgstr "Kõik"
#: template-parts/layout/aside-job.php:11
msgid "I think you might like this job offer"
msgstr "Ma arvan, et teile meeldib see tööpakkumine"
#: template-parts/jobs/jobs-none.php:14
msgid "There are currently no job ads."
msgstr "Hetkel pole ühtegi tööpakkumist."
#: template-parts/layout/aside-job.php:43
msgid "Suggest a friend"
msgstr "Soovita sõbrale"
#: template-parts/jobs/jobs-not-found.php:14
msgid "No search results were found."
msgstr "Otsingutulemusi ei leitud."
#: template-parts/layout/aside-job-list.php:144
#: template-parts/layout/aside-job-list.php:67
msgid "More ..."
msgstr "Rohkem..."
#: template-parts/layout/aside-job-list.php:168
#: template-parts/layout/aside-job-list.php:100
msgid "City"
msgstr "Linn"
#: template-parts/layout/aside-job-list.php:172
#: template-parts/layout/aside-job-list.php:104
msgid "Job area"
msgstr "Tööpiirkond"
msgstr "Valdkond"
#: template-parts/layout/aside-job-list.php:176
#: template-parts/layout/aside-job-list.php:108
msgid "Job type"
msgstr "Job type"
msgstr "Töötüüp"
#: template-parts/layout/aside-job-list.php:185
#: template-parts/layout/aside-job-list.php:117
msgid "Reset filters"
msgstr "Nulli filtrid"
msgstr "Tühista filtrid"
#: template-parts/jobs/jobs-not-found.php:14
msgid "No search results were found."
msgstr "Otsingutulemusi ei leitud."
#: template-parts/layout/aside-job.php:11
msgid "Job position"
msgstr "Töökoht"
#: template-parts/jobs/jobs-none.php:14
msgid "There are currently no job ads."
msgstr "Hetkel pole ühtegi tööpakkumist."
#: template-parts/layout/aside-job.php:11
msgid "I think you might like this job offer"
msgstr "Arvan, et sulle võiks see tööpakkumine meeldida"
#: template-parts/layout/aside-job.php:43
msgid "Suggest a friend"
msgstr "Soovita sõbrale"
#: template-parts/layout/aside-job-inactive.php:1
msgid "Job ad is inactive"
msgstr "Tööpakkumine pole aktiivne"
#. Name of the theme
#. Author of the theme
......
msgid ""
msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-04 13:03+0000\n"
"PO-Revision-Date: 2019-05-04 13:04+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.1.1"
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
msgstr "Atsiprašome, bet puslapis kurio jūs ieškote, neegzistuoja!"
#: 404.php:27
msgid "Return to homepage"
msgstr "Grįžti į pagrindinį puslapį"
#: single-job.php:48
msgid "Salary from"
msgstr "Darbo užmokestis nuo"
#: single-job.php:54
msgid "Salary to"
msgstr "Darbo užmokestis iki"
#: single-job.php:66
msgid "Published"
msgstr "Paskelbta"
#: single-job.php:68
msgid "Valid till"
msgstr "Galioja iki"
#: single-job.php:75
msgid "Apply"
msgstr "Kandidatuoti"
#: header.php:137
msgid "Get an offer"
msgstr "Gaukite pasiūlymą"
#: header.php:155 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:215
msgid "Get a job offer"
msgstr "Gauk darbo pasiūlymą"
#: front-page.php:43
msgid "Recent job ads"
msgstr "Naujausi darbo skelbimai"
#: front-page.php:70 template-parts/jobs/jobs-not-found.php:25
msgid "More job ads"
msgstr "Daugiau darbo skelbimų"
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "Mumis pasitiki"
#. Name of the template
msgid "Search & Jobs page"
msgstr "Paieškos ir darbo skelbimų puslapis"
#: search.php:32 page-vasaros-darbu-bankas.php:39
msgid "Other filters"
msgstr "Kiti paieškos filtrai"
#. Name of the template
msgid "VDB page"
msgstr "VDB puslapis"
#: page-vasaros-darbu-bankas.php:30
msgid ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
msgstr ""
"Kviečiame surasti darbą vasarai - peržvelk pasiūlymus, juos nuolat papildome "
"naujais!"
#: page-vasaros-darbu-bankas.php:170
#: template-parts/layout/aside-job-list.php:199
msgid "Didn't find a job offer you like?"
msgstr "Neradai tau tinkančio pasiūlymo?"
#: page-vasaros-darbu-bankas.php:172
#: template-parts/layout/aside-job-list.php:201
msgid "Fill out the form and we will contact you"
msgstr "Užpildyk formą ir mes su tavimi susisieksime"
#: page-vasaros-darbu-bankas.php:196
msgid "900"
msgstr "900"
#: page-vasaros-darbu-bankas.php:197
msgid ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
msgstr ""
"Tiek 2018 m. vasarą įdarbinome žmonių.<br/>Šiais metais kviečiame "
"prisijungti ir tave!"
#: searchform.php:114
msgid "Locations"
msgstr "Vietovė"
#: searchform.php:230
msgid "Keyword"
msgstr "Raktažodis"
#: searchform.php:238
msgid "Search"
msgstr "Ieškoti"
#. Name of the template
msgid "Sales page"
msgstr "Pardavimų puslapis"
#. Name of the template
msgid "Regions page"
msgstr "Regionų puslapis"
#. Name of the template
msgid "Divisions page"
msgstr "Padalinių puslapis"
#: page-divisions.php:70
msgid "All"
msgstr "Visi"
#: template-parts/jobs/jobs-none.php:14
msgid "There are currently no job ads."
msgstr "Šiuo metu nėra darbo pasiūlymų pagal Jūsų paiešką."
#: template-parts/jobs/jobs-not-found.php:14
msgid "No search results were found."
msgstr "Pagal Jūsų paiešką, darbo skelbimų šiuo metu neturime."
#: template-parts/layout/aside-job-list.php:144
msgid "More ..."
msgstr "Daugiau..."
#: template-parts/layout/aside-job-list.php:168
msgid "City"
msgstr "Miestas"
#: template-parts/layout/aside-job-list.php:172
msgid "Job area"
msgstr "Darbo sritis"
#: template-parts/layout/aside-job-list.php:176
msgid "Job type"
msgstr "Darbo tipas"
#: template-parts/layout/aside-job-list.php:185
msgid "Reset filters"
msgstr "Atstatyti paieškos filtrus"
#: template-parts/layout/aside-job.php:11
msgid "Job position"
msgstr "Darbo pasiūlymas"
#: template-parts/layout/aside-job.php:11
msgid "I think you might like this job offer"
msgstr "Manau, tau turėtų patikti šis darbo pasiūlymas"
#: template-parts/layout/aside-job.php:43
msgid "Suggest a friend"
msgstr "Pasiūlyk draugui"
#: template-parts/layout/aside-job-inactive.php:1
msgid "Job ad is inactive"
msgstr "Darbo skelbimas yra neaktyvus"
#. Name of the theme
#. Author of the theme
msgid "Biuro"
msgstr "Biuro"
#. Description of the theme
msgid "Biuro multiregion theme"
msgstr "Biuro multiregion theme"
#. Author URI of the theme
msgid "https://www.biuro.lt/"
msgstr "https://www.biuro.lt/"
......@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-04 13:03+0000\n"
"PO-Revision-Date: 2019-05-04 13:04+0000\n"
"PO-Revision-Date: 2019-06-19 05:52+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\n"
......@@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.1.1"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
......@@ -108,7 +108,7 @@ msgstr ""
#: searchform.php:114
msgid "Locations"
msgstr "Vietovė"
msgstr "Miestas"
#: searchform.php:230
msgid "Keyword"
......
msgid ""
msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 11:11+0000\n"
"PO-Revision-Date: 2019-05-31 11:49+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Latvian\n"
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=n % 10 == 1 && n % 100 != 11 ? 0 : n != 0 ? "
"1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.2.1"
#. Name of the template
msgid "Regions page"
msgstr "Regions page"
#. Name of the template
msgid "Divisions page"
msgstr "Divisions page"
#: page-divisions.php:70
msgid "All"
msgstr "Visi"
#: header.php:139
msgid "Get an offer"
msgstr "Saņemiet piedāvājumu"
#: header.php:157 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:215
msgid "Get a job offer"
msgstr "Saņemiet darba piedāvājumu"
#: searchform.php:114
msgid "Locations"
msgstr "Atrašanās vieta"
#: searchform.php:230
msgid "Keyword"
msgstr "Atslēgvārds"
#: searchform.php:238
msgid "Search"
msgstr "Meklēt"
#: front-page.php:43
msgid "Recent job ads"
msgstr "Jaunākie darba sludinājumi"
#: front-page.php:70 template-parts/jobs/jobs-not-found.php:25
msgid "More job ads"
msgstr "Vairāk darba sludinājumu"
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "Kompānijas, kuras mums uzticas"
#. Name of the template
msgid "Sales page"
msgstr "Sales page"
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
msgstr "Atvainojiet, lapa, kuru meklējat, nepastāv!"
#: 404.php:27
msgid "Return to homepage"
msgstr "Atgriezties sākumlapā"
#. Name of the template
msgid "VDB page"
msgstr "VDB page"
#: page-vasaros-darbu-bankas.php:30
msgid ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
msgstr ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
#: page-vasaros-darbu-bankas.php:39 search.php:32
msgid "Other filters"
msgstr "Citi filtri"
#: page-vasaros-darbu-bankas.php:170
#: template-parts/layout/aside-job-list.php:199
msgid "Didn't find a job offer you like?"
msgstr "Vai neatradāt sev vēlamo darba piedāvājumu?"
#: page-vasaros-darbu-bankas.php:172
#: template-parts/layout/aside-job-list.php:201
msgid "Fill out the form and we will contact you"
msgstr "Aizpildiet pieteikuma formu un mēs sazināsimies ar Jums!"
#: page-vasaros-darbu-bankas.php:196
msgid "900"
msgstr "900"
#: page-vasaros-darbu-bankas.php:197
msgid ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
msgstr ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
#. Name of the template
msgid "Search & Jobs page"
msgstr "Search & Jobs page"
#: single-job.php:48
msgid "Salary from"
msgstr "Alga no "
#: single-job.php:54
msgid "Salary to"
msgstr "Alga līdz"
#: single-job.php:66
msgid "Published"
msgstr "Publicēts"
#: single-job.php:68
msgid "Valid till"
msgstr "Derīgs līdz"
#: single-job.php:75
msgid "Apply"
msgstr "Lietot"
#: template-parts/layout/aside-job-inactive.php:1
msgid "Job ad is inactive"
msgstr "Darba sludinājums ir neaktīvs"
#: template-parts/layout/aside-job.php:11
msgid "Job position"
msgstr "Darba pozīcija"
#: template-parts/layout/aside-job.php:11
msgid "I think you might like this job offer"
msgstr "Es domāju, ka jums varētu patikt šis darba piedāvājums"
#: template-parts/layout/aside-job.php:43
msgid "Suggest a friend"
msgstr "Ieteikt draugam"
#: template-parts/layout/aside-job-list.php:144
msgid "More ..."
msgstr "Vairāk ..."
#: template-parts/layout/aside-job-list.php:168
msgid "City"
msgstr "Pilsēta"
#: template-parts/layout/aside-job-list.php:172
msgid "Job area"
msgstr "Darba joma"
#: template-parts/layout/aside-job-list.php:176
msgid "Job type"
msgstr "Darba veids"
#: template-parts/layout/aside-job-list.php:185
msgid "Reset filters"
msgstr "Atiestatīt filtrus"
#: template-parts/jobs/jobs-not-found.php:14
msgid "No search results were found."
msgstr "Meklēšanas rezultāti netika atrasti."
#: template-parts/jobs/jobs-none.php:14
msgid "There are currently no job ads."
msgstr "Pašlaik nav darba sludinājumu."
#. Name of the theme
#. Author of the theme
msgid "Biuro"
msgstr "Biuro"
#. Description of the theme
msgid "Biuro multiregion theme"
msgstr "Biuro multiregion theme"
#. Author URI of the theme
msgid "https://www.biuro.lt/"
msgstr "https://www.biuro.lv"
......@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 11:11+0000\n"
"PO-Revision-Date: 2019-06-09 14:04+0000\n"
"PO-Revision-Date: 2019-06-11 12:42+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Latvian\n"
"Language: lv\n"
......@@ -58,7 +58,7 @@ msgstr "Vairāk darba sludinājumu"
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "Uzticiet mums"
msgstr "Mums uzticas"
#. Name of the template
msgid "Sales page"
......
msgid ""
msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 10:43+0000\n"
"PO-Revision-Date: 2019-06-18 06:16+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Russian\n"
"Language: ru_RU\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#. Name of the template
msgid "Regions page"
msgstr "Regions page"
#. Name of the template
msgid "Divisions page"
msgstr "Divisions page"
#: page-divisions.php:70
msgid "All"
msgstr "Все"
#: header.php:139
msgid "Get an offer"
msgstr "Получите предложение"
#: header.php:157 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:215
msgid "Get a job offer"
msgstr "Получи предложение о работе"
#: searchform.php:114
msgid "Locations"
msgstr "Место нахождения"
#: searchform.php:230
msgid "Keyword"
msgstr "Ключевое слово"
#: searchform.php:238
msgid "Search"
msgstr "Поиск"
#: front-page.php:43
msgid "Recent job ads"
msgstr "Недавние объявления о работе"
#: front-page.php:70 template-parts/jobs/jobs-not-found.php:25
msgid "More job ads"
msgstr "Больше объявлений о работе"
#: front-page.php:80 sales-page.php:57
msgid "Trust in us"
msgstr "Они доверяют нам"
#. Name of the template
msgid "Sales page"
msgstr "Sales page"
#: 404.php:25
msgid "Sorry, the page you are looking for does not exist!"
msgstr "Извините, страница, которую вы ищете, не существует!"
#: 404.php:27
msgid "Return to homepage"
msgstr "Вернуться на главную страницу"
#. Name of the template
msgid "VDB page"
msgstr "VDB page"
#: page-vasaros-darbu-bankas.php:30
msgid ""
"Find summer job – look through the job ads, we are constantly updating the "
"list and adding new ones."
msgstr ""
"Найдите летнюю работу - просматривайте объявления о работе, мы постоянно "
"обновляем список и добавляем новые."
#: page-vasaros-darbu-bankas.php:39 search.php:32
msgid "Other filters"
msgstr "Другие поисковые фильтры"
#: page-vasaros-darbu-bankas.php:170
#: template-parts/layout/aside-job-list.php:199
msgid "Didn't find a job offer you like?"
msgstr "Не нашли предложение работы, которое вам нравится?"
#: page-vasaros-darbu-bankas.php:172
#: template-parts/layout/aside-job-list.php:201
msgid "Fill out the form and we will contact you"
msgstr "Заполните форму и мы свяжемся с вами"
#: page-vasaros-darbu-bankas.php:196
msgid "900"
msgstr "900"
#: page-vasaros-darbu-bankas.php:197
msgid ""
"This is how many people we employed during summer at 2018.<br/>Join us this "
"summer!"
msgstr ""
"900 человек были трудоустроены летом 2018 года. <br/> Присоединяйтесь к нам "
"этим летом!"
#. Name of the template
msgid "Search & Jobs page"
msgstr "Search & Jobs page"
#: single-job.php:48
msgid "Salary from"
msgstr "Зарплата от"
#: single-job.php:54
msgid "Salary to"
msgstr "Зарплата до"
#: single-job.php:66
msgid "Published"
msgstr "Публикации"
#: single-job.php:68
msgid "Valid till"
msgstr "Действителен до"
#: single-job.php:75
msgid "Apply"
msgstr "Подать заявку"
#: template-parts/layout/aside-job-inactive.php:1
msgid "Job ad is inactive"
msgstr "Объявление о работе неактивно"
#: template-parts/layout/aside-job.php:11
msgid "Job position"
msgstr "Должность"
#: template-parts/layout/aside-job.php:11
msgid "I think you might like this job offer"
msgstr "Я думаю, что тебе может понравиться это предложение о работе"
#: template-parts/layout/aside-job.php:43
msgid "Suggest a friend"
msgstr "Предложить другу"
#: template-parts/layout/aside-job-list.php:144
msgid "More ..."
msgstr "Больше..."
#: template-parts/layout/aside-job-list.php:168
msgid "City"
msgstr "Город"
#: template-parts/layout/aside-job-list.php:172
msgid "Job area"
msgstr "Категория"
#: template-parts/layout/aside-job-list.php:176
msgid "Job type"
msgstr "Тип работы"
#: template-parts/layout/aside-job-list.php:185
msgid "Reset filters"
msgstr "Сбросить фильтры"
#: template-parts/jobs/jobs-not-found.php:14
msgid "No search results were found."
msgstr "Результаты поиска не были найдены."
#: template-parts/jobs/jobs-none.php:14
msgid "There are currently no job ads."
msgstr ""
"На русском языке нет объявлений о работе. Но есть много объявлений о работе "
"на <a href=\"https://biuro.ee/toeoeotsijatele/toeoepakkumised/\">эстонском "
"языке - выбирайте.</a>"
#. Name of the theme
#. Author of the theme
msgid "Biuro"
msgstr "Biuro"
#. Description of the theme
msgid "Biuro multiregion theme"
msgstr "Biuro multiregion theme"
#. Author URI of the theme
msgid "https://www.biuro.lt/"
msgstr "https://www.biuro.ee/"
......@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Biuro\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-31 10:43+0000\n"
"PO-Revision-Date: 2019-05-31 11:09+0000\n"
"PO-Revision-Date: 2019-06-18 06:16+0000\n"
"Last-Translator: biuro <info@biuro.eu>\n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
......@@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.2.2; wp-5.2.1"
"X-Loco-Version: 2.3.0; wp-5.2.1"
#. Name of the template
msgid "Regions page"
......@@ -34,11 +34,11 @@ msgstr "Получите предложение"
#: header.php:157 page-vasaros-darbu-bankas.php:186
#: template-parts/layout/aside-job-list.php:215
msgid "Get a job offer"
msgstr "Получи рабочее предложение"
msgstr "Получи предложение о работе"
#: searchform.php:114
msgid "Locations"
msgstr "Местность"
msgstr "Место нахождения"
#: searchform.php:230
msgid "Keyword"
......@@ -50,7 +50,7 @@ msgstr "Поиск"
#: front-page.php:43
msgid "Recent job ads"
msgstr "Новейшие объявления о работе"
msgstr "Новые объявления о работе"
#: front-page.php:70 template-parts/jobs/jobs-not-found.php:25
msgid "More job ads"
......@@ -160,7 +160,7 @@ msgstr "Город"
#: template-parts/layout/aside-job-list.php:172
msgid "Job area"
msgstr "Сфера деятельности"
msgstr "Категория"
#: template-parts/layout/aside-job-list.php:176
msgid "Job type"
......@@ -192,4 +192,4 @@ msgstr "Biuro multiregion theme"
#. Author URI of the theme
msgid "https://www.biuro.lt/"
msgstr "https://www.biuro.lt/"
msgstr "https://www.biuro.ee/"
......@@ -152,9 +152,9 @@ class Biuro_Contacts_Public {
}
public static function validate( $str, $key, $value, $post ) {
$empty = ['status' => '', 'message' => ''];
$success = ['status' => 'success', 'message' => ''];
$required = ['status' => 'error', 'message' => 'This field is required']; // __('This field is required', 'biuro-contacts');
$empty = ['status' => '', 'message' => '', 'translation' => ''];
$success = ['status' => 'success', 'message' => '', 'translation' => ''];
$required = ['status' => 'error', 'message' => 'This field is required', 'translation' => __('This field is required', 'biuro-contacts')];
switch($key) {
case 'name':
......@@ -165,7 +165,8 @@ class Biuro_Contacts_Public {
if (!$value && !is_email($post['email'])):
return [
'status' => 'error',
'message' => 'Phone or email field is required' // __('Phone or email field is required', 'biuro-contacts');
'message' => 'Phone or email field is required',
'translation' => __('Phone or email field is required', 'biuro-contacts')
];
endif;
......@@ -176,7 +177,8 @@ class Biuro_Contacts_Public {
if ( strlen($value) < 7 || !preg_match('/^[\d|\s|\+\-]+$/', $value) ):
return [
'status' => 'error',
'message' => 'Incorrect phone number' // __('Incorrect phone number', 'biuro-contacts');
'message' => 'Incorrect phone number',
'translation' => __('Incorrect phone number', 'biuro-contacts')
];
endif;
......@@ -186,14 +188,16 @@ class Biuro_Contacts_Public {
if (!$post['phone'] && !$value):
return [
'status' => 'error',
'message' => 'Email or phone field is required' // __('Email or phone field is required', 'biuro-contacts');
'message' => 'Email or phone field is required',
'translation' => __('Email or phone field is required', 'biuro-contacts')
];
endif;
if (!$post['phone'] && !is_email($value)):
return [
'status' => 'error',
'message' => 'Email format is incorrect' // __('Email format is incorrect', 'biuro-contacts');
'message' => 'Email format is incorrect',
'translation' => __('Email format is incorrect', 'biuro-contacts')
];
else:
......@@ -208,7 +212,8 @@ class Biuro_Contacts_Public {
if ($value != "1"):
return [
'status' => 'error',
'message' => 'You have to agree with conditions' // __('You have to agree with conditions', 'biuro-contacts');
'message' => 'You have to agree with conditions',
'translation' => __('You have to agree with conditions', 'biuro-contacts')
];
endif;
......@@ -286,6 +291,22 @@ class Biuro_Contacts_Public {
endif;
}
public static function isCaptchaValid($code) {
if ($code) {
$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6Lc76qoUAAAAAHfGWVZFEzFeYAVpCkhDSoMYvVUi&response=".$code."&remoteip=".$_SERVER['REMOTE_ADDR']);
$response = json_decode($response,true);
if ($response['success'] !=1 ) {
// gal reikia loginti??
return false;
}
return true;
}
return false;
}
/**
* Processes shortcode biuro-contacts--employees
*
......@@ -329,7 +350,7 @@ class Biuro_Contacts_Public {
$nonce = $_POST['_wpnonce'];
$referer = $_POST['_wp_http_referer'];
if ( !isset( $nonce ) || !wp_verify_nonce($nonce, 'employees_post_nonce' ) ) {
if ( !isset( $nonce ) || !wp_verify_nonce($nonce, 'employees_post_nonce' ) || !static::isCaptchaValid($_POST['captcha'])) {
wp_redirect( $referer );
exit;
}
......@@ -365,7 +386,8 @@ class Biuro_Contacts_Public {
if (!in_array( $arr_file_type['type'], $allowed_file_types ) ) {
$_SESSION['position--cv-status'] = 'error';
$_SESSION['position--cv-message'] = 'Incorrect file'; // __('Incorrect file', 'biuro-contacts');
$_SESSION['position--cv-message'] = 'Incorrect file';
$_SESSION['position--cv-translation'] = __('Incorrect file', 'biuro-contacts');
wp_redirect( $referer );
exit;
}
......@@ -436,7 +458,7 @@ class Biuro_Contacts_Public {
$nonce = $_POST['_wpnonce'];
$referer = $_POST['_wp_http_referer'];
if ( !isset( $nonce ) || !wp_verify_nonce($nonce, 'employers_post_nonce' ) ) {
if ( !isset( $nonce ) || !wp_verify_nonce($nonce, 'employers_post_nonce' ) || !static::isCaptchaValid($_POST['captcha']) ) {
wp_redirect( $referer );
exit;
}
......@@ -688,7 +710,7 @@ class Biuro_Contacts_Public {
$referer = $_POST['_wp_http_referer'];
if ( !isset( $nonce ) || !wp_verify_nonce($nonce, 'position_post_nonce' ) ) {
if ( !isset( $nonce ) || !wp_verify_nonce($nonce, 'position_post_nonce' ) || !static::isCaptchaValid($_POST['captcha']) ) {
wp_redirect( $referer );
exit;
}
......@@ -753,7 +775,8 @@ class Biuro_Contacts_Public {
if (!in_array( $arr_file_type['type'], $allowed_file_types ) ) {
$_SESSION['position--cv-status'] = 'error';
$_SESSION['position--cv-message'] = 'Incorrect file'; // __('Incorrect file', 'biuro-contacts');
$_SESSION['position--cv-message'] = 'Incorrect file';
$_SESSION['position--cv-translation'] = __('Incorrect file', 'biuro-contacts');
wp_redirect( $referer );
exit;
}
......
......@@ -81,11 +81,11 @@ if ( ! defined( 'WPINC' ) ) die;
<?php
if (isset($attr['page']) && $attr['page'] == 'landing-1'):
?>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="1" onclick="ga('send', 'event', 'ContactFormLanding1', 'Button', 'SendContactFormLanding1');"><?php _e('Get a job offer', 'biuro'); ?></button>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="1"><?php _e('Get a job offer', 'biuro'); ?></button>
<?php
else:
?>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="1" onclick="ga('send', 'event', 'ContactFormEmployee', 'Button', 'SendContactFormEmployee');"><?php _e('Submit', 'biuro-contacts'); ?></button>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="1"><?php _e('Submit', 'biuro-contacts'); ?></button>
<?php
endif;
?>
......
......@@ -57,19 +57,6 @@ if ( ! defined( 'WPINC' ) ) die;
<div class="c-form--row">
<div class="c-form--submit-wrap">
<?php
if (isset($attr['page']) && $attr['page'] == 'landing-1'):
?>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="2" onclick="ga('send', 'event', 'ContactFormLanding1', 'Button', 'UpdateContactFormLanding1');"><?php _e('Submit', 'biuro-contacts'); ?></button>
<?php
else:
?>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="2" onclick="ga('send', 'event', 'ContactFormEmployee', 'Button', 'UpdateContactFormEmployee');"><?php _e('Submit', 'biuro-contacts'); ?></button>
<?php
endif;
?>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="2"><?php _e('Submit', 'biuro-contacts'); ?></button>
</div>
</div><!-- .c-form--row -->
......@@ -32,6 +32,18 @@ if ( ! defined( 'WPINC' ) ) die;
?>
<input type="hidden" name="action" value="employees_post">
<?php wp_nonce_field('employees_post_nonce'); ?>
<input type="hidden" id="g-recaptcha-response" name="captcha">
<script src="https://www.google.com/recaptcha/api.js?render=6Lc76qoUAAAAALk0aYR500zOZVG1BicNl3GTb-Hu"></script>
<script>
window.grecaptcha.ready(function () {
window.grecaptcha.execute('6Lc76qoUAAAAALk0aYR500zOZVG1BicNl3GTb-Hu', { action: 'employees' }).then(function (token) {
if (document.getElementById('g-recaptcha-response')) {
document.getElementById('g-recaptcha-response').value = token;
}
});
});
</script>
</form>
<?php if($_SESSION['employees--s'] == 1) {
......@@ -48,19 +60,19 @@ if ( ! defined( 'WPINC' ) ) die;
</div>
</div>
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer = window.dataLayer || [];
</script>
<?php
if (isset($attr['page']) && $attr['page'] == 'landing-1'):
?>
<script>
dataLayer.push({'event': 'b2c_form_submit_success_validated', 'label': 'Landing page 1'});
window.dataLayer.push({ 'event': 'b2c_form_submit_success_validated', 'label': 'Landing page 1' });
</script>
<?php
else:
?>
<script>
dataLayer.push({'event': 'b2c_form_submit_success_validated', 'label': 'Contact page'});
window.dataLayer.push({ 'event': 'b2c_form_submit_success_validated', 'label': 'Contact page' });
</script>
<?php
endif;
......@@ -84,19 +96,19 @@ if ( ! defined( 'WPINC' ) ) die;
</div>
</div>
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer = window.dataLayer || [];
</script>
<?php
if (isset($attr['page']) && $attr['page'] == 'landing-1'):
?>
<script>
dataLayer.push({'event': 'b2c_form_update_success_validated', 'label': 'Landing page 1'});
window.dataLayer.push({ 'event': 'b2c_form_update_success_validated', 'label': 'Landing page 1' });
</script>
<?php
else:
?>
<script>
dataLayer.push({'event': 'b2c_form_update_success_validated', 'label': 'Contact page'});
window.dataLayer.push({ 'event': 'b2c_form_update_success_validated', 'label': 'Contact page' });
</script>
<?php
endif;
......
......@@ -77,7 +77,7 @@ if ( ! defined( 'WPINC' ) ) die;
<div class="c-form--row">
<div class="c-form--submit-wrap">
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="1" onclick="ga('send', 'event', 'ContactForm', 'Button', 'SendContactForm');"><?php _e('Submit', 'biuro-contacts'); ?></button>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="1"><?php _e('Submit', 'biuro-contacts'); ?></button>
</div>
</div><!-- .c-form--row -->
......
......@@ -44,6 +44,6 @@ if ( ! defined( 'WPINC' ) ) die;
<div class="c-form--row">
<div class="c-form--submit-wrap">
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="2" onclick="ga('send', 'event', 'ContactForm', 'Button', 'UpdateContactForm');"><?php _e('Submit', 'biuro-contacts'); ?></button>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="2"><?php _e('Submit', 'biuro-contacts'); ?></button>
</div>
</div><!-- .c-form--row -->
......@@ -32,6 +32,18 @@ if ( ! defined( 'WPINC' ) ) die;
?>
<input type="hidden" name="action" value="employers_post">
<?php wp_nonce_field('employers_post_nonce'); ?>
<input type="hidden" id="g-recaptcha-response" name="captcha">
<script src="https://www.google.com/recaptcha/api.js?render=6Lc76qoUAAAAALk0aYR500zOZVG1BicNl3GTb-Hu"></script>
<script>
window.grecaptcha.ready(function () {
window.grecaptcha.execute('6Lc76qoUAAAAALk0aYR500zOZVG1BicNl3GTb-Hu', { action: 'employers' }).then(function (token) {
if (document.getElementById('g-recaptcha-response')) {
document.getElementById('g-recaptcha-response').value = token;
}
});
});
</script>
</form>
<?php if($_SESSION['employers--s'] == 1) {
......@@ -49,8 +61,8 @@ if ( ! defined( 'WPINC' ) ) die;
</div>
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({'event': 'b2b_form_submit_success_validated'});
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'b2b_form_submit_success_validated' });
</script>
<?php
unset($_SESSION['employers--s']);
......@@ -70,8 +82,8 @@ unset($_SESSION['employers--s']);
</div>
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({'event': 'b2b_form_update_success_validated'});
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'b2b_form_update_success_validated' });
</script>
<?php
......
......@@ -21,6 +21,6 @@ if ( ! defined( 'WPINC' ) ) die;
?>
<div class="c-form--row">
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="1" onclick="ga('send', 'event', 'CVForm', 'Button', 'OpenCVForm');"><?php _e('Apply', 'biuro-contacts'); ?></button>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="1"><?php _e('Apply', 'biuro-contacts'); ?></button>
</div><!-- .c-form--row -->
......@@ -172,6 +172,6 @@ if ( ! defined( 'WPINC' ) ) die;
<div class="c-form--row">
<div class="c-form--submit-wrap">
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="2" onclick="ga('send', 'event', 'CVForm', 'Button', 'SendCVForm');"><?php _e('Apply', 'biuro-contacts'); ?></button>
<button type="submit" class="o-btn c-btn--main c-btn--fill" name="s" value="2"><?php _e('Apply', 'biuro-contacts'); ?></button>
</div>
</div><!-- .c-form--row -->
......@@ -33,18 +33,36 @@ if ( ! defined( 'WPINC' ) ) die;
<input type="hidden" name="job_id" value="<?php echo $job_id; ?>">
<input type="hidden" name="action" value="position_post">
<?php wp_nonce_field('position_post_nonce'); ?>
<input type="hidden" id="g-recaptcha-response" name="captcha">
<script src="https://www.google.com/recaptcha/api.js?render=6Lc76qoUAAAAALk0aYR500zOZVG1BicNl3GTb-Hu"></script>
<script>
window.grecaptcha.ready(function () {
window.grecaptcha.execute('6Lc76qoUAAAAALk0aYR500zOZVG1BicNl3GTb-Hu', { action: 'position' }).then(function (token) {
if (document.getElementById('g-recaptcha-response')) {
document.getElementById('g-recaptcha-response').value = token;
}
});
});
</script>
</form>
<?php if($_SESSION['position--s'] == 1) {
<?php
if($_SESSION['position--s'] == 1) {
?>
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'b2c_form_open_success_validated', 'label': 'Job page' });
</script>
<?php
unset($_SESSION['position--s']);
}?>
<?php if($_SESSION['position--s'] == 2) {
unset($_SESSION['position--s']);
}
?>
<?php
if ($_SESSION['position--s'] == 2) {
?>
<div class="c-modal">
<div class="c-modal--inner">
<svg width="67px" height="67px">
......@@ -55,10 +73,11 @@ unset($_SESSION['position--s']);
</div>
</div>
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({'event': 'b2c_form_submit_success_validated', 'label': 'Job page'});
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ 'event': 'b2c_form_submit_success_validated', 'label': 'Job page' });
</script>
<?php
unset($_SESSION['position--s']);
}?>
unset($_SESSION['position--s']);
}
?>
......@@ -6,6 +6,7 @@
* @since 2.5
*/
class PLL_Admin_Block_Editor {
public $model;
/**
* Constructor: setups filters and actions
......@@ -15,6 +16,9 @@ class PLL_Admin_Block_Editor {
* @param object $polylang
*/
public function __construct( &$polylang ) {
$this->model = &$polylang->model;
$this->pref_lang = &$polylang->pref_lang;
add_filter( 'block_editor_preload_paths', array( $this, 'preload_paths' ), 10, 2 );
}
......@@ -30,11 +34,17 @@ class PLL_Admin_Block_Editor {
* @return array
*/
public function preload_paths( $preload_paths, $post ) {
$lang = pll_get_post_language( $post->ID );
if ( $this->model->is_translated_post_type( $post->post_type ) ) {
$lang = $this->model->post->get_language( $post->ID );
if ( ! $lang ) {
$lang = $this->pref_lang;
}
foreach ( $preload_paths as $k => $path ) {
if ( is_string( $path ) && '/' !== $path ) {
$preload_paths[ $k ] = $path . "&lang={$lang}";
foreach ( $preload_paths as $k => $path ) {
if ( is_string( $path ) && '/' !== $path ) {
$preload_paths[ $k ] = $path . "&lang={$lang->slug}";
}
}
}
......
......@@ -30,6 +30,9 @@ class PLL_Admin_Classic_Editor {
// Filters the pages by language in the parent dropdown list in the page attributes metabox
add_filter( 'page_attributes_dropdown_pages_args', array( $this, 'page_attributes_dropdown_pages_args' ), 10, 2 );
// Notice
add_action( 'edit_form_top', array( $this, 'edit_form_top' ) );
}
/**
......@@ -42,7 +45,17 @@ class PLL_Admin_Classic_Editor {
*/
public function add_meta_boxes( $post_type, $post ) {
if ( $this->model->is_translated_post_type( $post_type ) ) {
add_meta_box( 'ml_box', __( 'Languages', 'polylang' ), array( $this, 'post_language' ), $post_type, 'side', 'high' );
add_meta_box(
'ml_box',
__( 'Languages', 'polylang' ),
array( $this, 'post_language' ),
$post_type,
'side',
'high',
array(
'__back_compat_meta_box' => pll_use_block_editor_plugin(),
)
);
}
}
......@@ -56,12 +69,26 @@ class PLL_Admin_Classic_Editor {
$post_id = $post_ID;
$post_type = get_post_type( $post_ID );
$from_post_id = isset( $_GET['from_post'] ) ? (int) $_GET['from_post'] : 0; // phpcs:ignore WordPress.Security.NonceVerification
$lang = ( $lg = $this->model->post->get_language( $post_ID ) ) ? $lg :
( isset( $_GET['new_lang'] ) ? $this->model->get_language( $_GET['new_lang'] ) :
( isset( $_GET['new_lang'] ) ? $this->model->get_language( sanitize_key( $_GET['new_lang'] ) ) : // phpcs:ignore WordPress.Security.NonceVerification
$this->pref_lang );
$dropdown = new PLL_Walker_Dropdown();
$id = ( 'attachment' === $post_type ) ? sprintf( 'attachments[%d][language]', (int) $post_ID ) : 'post_lang_choice';
$dropdown_html = $dropdown->walk(
$this->model->get_languages_list(),
array(
'name' => $id,
'class' => 'post_lang_choice tags-input',
'selected' => $lang ? $lang->slug : '',
'flag' => true,
)
);
wp_nonce_field( 'pll_language', '_pll_nonce' );
// NOTE: the class "tags-input" allows to include the field in the autosave $_POST ( see autosave.js )
......@@ -70,17 +97,9 @@ class PLL_Admin_Classic_Editor {
<label class="screen-reader-text" for="%2$s">%1$s</label>
<div id="select-%3$s-language">%4$s</div>',
esc_html__( 'Language', 'polylang' ),
$id = ( 'attachment' === $post_type ) ? sprintf( 'attachments[%d][language]', $post_ID ) : 'post_lang_choice',
'attachment' === $post_type ? 'media' : 'post',
$dropdown->walk(
$this->model->get_languages_list(),
array(
'name' => $id,
'class' => 'post_lang_choice tags-input',
'selected' => $lang ? $lang->slug : '',
'flag' => true,
)
)
esc_attr( $id ),
( 'attachment' === $post_type ? 'media' : 'post' ),
$dropdown_html // phpcs:ignore WordPress.Security.EscapeOutput
);
/**
......@@ -105,11 +124,20 @@ class PLL_Admin_Classic_Editor {
public function post_lang_choice() {
check_ajax_referer( 'pll_language', '_pll_nonce' );
if ( ! isset( $_POST['post_id'], $_POST['lang'], $_POST['post_type'] ) ) {
wp_die( 0 );
}
global $post_ID; // Obliged to use the global variable for wp_popular_terms_checklist
$post_id = $post_ID = (int) $_POST['post_id'];
$lang = $this->model->get_language( $_POST['lang'] );
$lang = $this->model->get_language( sanitize_key( $_POST['lang'] ) );
$post_type = sanitize_key( $_POST['post_type'] );
if ( ! post_type_exists( $post_type ) ) {
wp_die( 0 );
}
$post_type = $_POST['post_type'];
$post_type_object = get_post_type_object( $post_type );
if ( ! current_user_can( $post_type_object->cap->edit_post, $post_ID ) ) {
wp_die( -1 );
......@@ -132,7 +160,7 @@ class PLL_Admin_Classic_Editor {
// Categories
if ( isset( $_POST['taxonomies'] ) ) {
// Not set for pages
foreach ( $_POST['taxonomies'] as $taxname ) {
foreach ( array_map( 'sanitize_key', $_POST['taxonomies'] ) as $taxname ) {
$taxonomy = get_taxonomy( $taxname );
ob_start();
......@@ -172,7 +200,7 @@ class PLL_Admin_Classic_Editor {
'exclude_tree' => $post->ID,
'selected' => $post->post_parent,
'name' => 'parent_id',
'show_option_none' => __( '(no parent)' ),
'show_option_none' => __( '(no parent)', 'polylang' ),
'sort_column' => 'menu_order, post_title',
'echo' => 0,
);
......@@ -180,7 +208,7 @@ class PLL_Admin_Classic_Editor {
/** This filter is documented in wp-admin/includes/meta-boxes.php */
$dropdown_args = apply_filters( 'page_attributes_dropdown_pages_args', $dropdown_args, $post ); // Since WP 3.3
$x->Add( array( 'what' => 'pages', 'data' => wp_dropdown_pages( $dropdown_args ) ) );
$x->Add( array( 'what' => 'pages', 'data' => wp_dropdown_pages( $dropdown_args ) ) ); // phpcs:ignore WordPress.Security.EscapeOutput
}
// Flag
......@@ -200,53 +228,32 @@ class PLL_Admin_Classic_Editor {
public function ajax_posts_not_translated() {
check_ajax_referer( 'pll_language', '_pll_nonce' );
if ( ! post_type_exists( $_GET['post_type'] ) ) {
die( 0 );
if ( ! isset( $_GET['post_type'], $_GET['post_language'], $_GET['translation_language'], $_GET['term'], $_GET['pll_post_id'] ) ) {
wp_die( 0 );
}
$post_language = $this->model->get_language( $_GET['post_language'] );
$translation_language = $this->model->get_language( $_GET['translation_language'] );
// Don't order by title: see https://wordpress.org/support/topic/find-translated-post-when-10-is-not-enough
$args = array(
's' => wp_unslash( $_GET['term'] ),
'suppress_filters' => 0, // To make the post_fields filter work
'lang' => 0, // Avoid admin language filter
'numberposts' => 20, // Limit to 20 posts
'post_status' => 'any',
'post_type' => $_GET['post_type'],
'tax_query' => array(
array(
'taxonomy' => 'language',
'field' => 'term_taxonomy_id', // WP 3.5+
'terms' => $translation_language->term_taxonomy_id,
),
),
);
$post_type = sanitize_key( $_GET['post_type'] );
/**
* Filter the query args when auto suggesting untranslated posts in the Languages metabox
* This should help plugins to fix some edge cases
*
* @see https://wordpress.org/support/topic/find-translated-post-when-10-is-not-enough
*
* @since 1.7
*
* @param array $args WP_Query arguments
*/
$args = apply_filters( 'pll_ajax_posts_not_translated_args', $args );
$posts = get_posts( $args );
if ( ! post_type_exists( $post_type ) ) {
wp_die( 0 );
}
$term = wp_unslash( $_GET['term'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
$post_language = $this->model->get_language( sanitize_key( $_GET['post_language'] ) );
$translation_language = $this->model->get_language( sanitize_key( $_GET['translation_language'] ) );
$return = array();
foreach ( $posts as $key => $post ) {
if ( ! $this->model->post->get_translation( $post->ID, $post_language ) ) {
$return[] = array(
'id' => $post->ID,
'value' => $post->post_title,
'link' => $this->links->edit_post_translation_link( $post->ID ),
);
}
$untranslated_posts = $this->model->post->get_untranslated( $post_type, $post_language, $translation_language, $term );
// format output
foreach ( $untranslated_posts as $post ) {
$return[] = array(
'id' => $post->ID,
'value' => $post->post_title,
'link' => $this->links->edit_post_translation_link( $post->ID ),
);
}
// Add current translation in list
......@@ -262,7 +269,7 @@ class PLL_Admin_Classic_Editor {
);
}
wp_die( json_encode( $return ) );
wp_die( wp_json_encode( $return ) );
}
/**
......@@ -275,11 +282,34 @@ class PLL_Admin_Classic_Editor {
* @return array Modified arguments
*/
public function page_attributes_dropdown_pages_args( $dropdown_args, $post ) {
$dropdown_args['lang'] = isset( $_POST['lang'] ) ? $this->model->get_language( $_POST['lang'] ) : $this->model->post->get_language( $post->ID ); // ajax or not ?
$dropdown_args['lang'] = isset( $_POST['lang'] ) ? $this->model->get_language( sanitize_key( $_POST['lang'] ) ) : $this->model->post->get_language( $post->ID ); // phpcs:ignore WordPress.Security.NonceVerification
if ( ! $dropdown_args['lang'] ) {
$dropdown_args['lang'] = $this->pref_lang;
}
return $dropdown_args;
}
/**
* Displays a notice if the user has not sufficient rights to overwrite synchronized taxonomies and metas
*
* @since 2.6
*
* @param object $post Post currently being edited
*/
public function edit_form_top( $post ) {
if ( ! $this->model->post->current_user_can_synchronize( $post->ID ) ) {
?>
<div class="pll-notice notice notice-warning">
<p>
<?php
esc_html_e( 'Some taxonomies or metadata may be synchronized with existing translations that you are not allowed to modify.', 'polylang' );
echo ' ';
esc_html_e( 'If you attempt to modify them anyway, your changes will not be saved.', 'polylang' );
?>
</p>
</div>
<?php
}
}
}
......@@ -108,8 +108,8 @@ class PLL_Admin_Filters_Columns {
* @param int $post_id
*/
public function post_column( $column, $post_id ) {
$inline = wp_doing_ajax() && isset( $_REQUEST['action'], $_POST['inline_lang_choice'] ) && 'inline-save' === $_REQUEST['action'];
$lang = $inline ? $this->model->get_language( $_POST['inline_lang_choice'] ) : $this->model->post->get_language( $post_id );
$inline = wp_doing_ajax() && isset( $_REQUEST['action'], $_POST['inline_lang_choice'] ) && 'inline-save' === $_REQUEST['action']; // phpcs:ignore WordPress.Security.NonceVerification
$lang = $inline ? $this->model->get_language( sanitize_key( $_POST['inline_lang_choice'] ) ) : $this->model->post->get_language( $post_id ); // phpcs:ignore WordPress.Security.NonceVerification
if ( false === strpos( $column, 'language_' ) || ! $lang ) {
return;
......@@ -155,7 +155,7 @@ class PLL_Admin_Filters_Columns {
}
// Link to add a new translation
else {
echo $this->links->new_post_translation_link( $post_id, $language );
echo $this->links->new_post_translation_link( $post_id, $language ); // phpcs:ignore WordPress.Security.EscapeOutput
}
}
......@@ -173,7 +173,7 @@ class PLL_Admin_Filters_Columns {
$elements = $this->model->get_languages_list();
if ( current_filter() == 'bulk_edit_custom_box' ) {
array_unshift( $elements, (object) array( 'slug' => -1, 'name' => __( '&mdash; No Change &mdash;' ) ) );
array_unshift( $elements, (object) array( 'slug' => -1, 'name' => __( '&mdash; No Change &mdash;', 'polylang' ) ) );
}
$dropdown = new PLL_Walker_Dropdown();
......@@ -188,7 +188,7 @@ class PLL_Admin_Filters_Columns {
</div>
</fieldset>',
esc_html__( 'Language', 'polylang' ),
$dropdown->walk( $elements, array( 'name' => 'inline_lang_choice', 'id' => '' ) )
$dropdown->walk( $elements, array( 'name' => 'inline_lang_choice', 'id' => '' ) ) // phpcs:ignore WordPress.Security.EscapeOutput
);
}
return $column;
......@@ -216,13 +216,26 @@ class PLL_Admin_Filters_Columns {
* @param int $term_id
*/
public function term_column( $out, $column, $term_id ) {
$inline = wp_doing_ajax() && isset( $_REQUEST['action'], $_POST['inline_lang_choice'] ) && 'inline-save-tax' === $_REQUEST['action'];
if ( false === strpos( $column, 'language_' ) || ! ( $lang = $inline ? $this->model->get_language( $_POST['inline_lang_choice'] ) : $this->model->term->get_language( $term_id ) ) ) {
$inline = wp_doing_ajax() && isset( $_REQUEST['action'], $_POST['inline_lang_choice'] ) && 'inline-save-tax' === $_REQUEST['action']; // phpcs:ignore WordPress.Security.NonceVerification
if ( false === strpos( $column, 'language_' ) || ! ( $lang = $inline ? $this->model->get_language( sanitize_key( $_POST['inline_lang_choice'] ) ) : $this->model->term->get_language( $term_id ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification
return $out;
}
$post_type = isset( $GLOBALS['post_type'] ) ? $GLOBALS['post_type'] : $_REQUEST['post_type']; // 2nd case for quick edit
$taxonomy = isset( $GLOBALS['taxonomy'] ) ? $GLOBALS['taxonomy'] : $_REQUEST['taxonomy'];
if ( isset( $_REQUEST['post_type'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$post_type = sanitize_key( $_REQUEST['post_type'] ); // phpcs:ignore WordPress.Security.NonceVerification
}
if ( isset( $GLOBALS['post_type'] ) ) {
$post_type = $GLOBALS['post_type'];
}
if ( isset( $_REQUEST['taxonomy'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$taxonomy = sanitize_key( $_REQUEST['taxonomy'] ); // phpcs:ignore WordPress.Security.NonceVerification
}
if ( isset( $GLOBALS['taxonomy'] ) ) {
$taxonomy = $GLOBALS['taxonomy'];
}
if ( ! post_type_exists( $post_type ) || ! taxonomy_exists( $taxonomy ) ) {
return $out;
......@@ -282,21 +295,29 @@ class PLL_Admin_Filters_Columns {
* @since 1.7
*/
public function ajax_update_post_rows() {
global $wp_list_table;
check_ajax_referer( 'inlineeditnonce', '_pll_nonce' );
if ( ! post_type_exists( $post_type = $_POST['post_type'] ) || ! $this->model->is_translated_post_type( $post_type ) ) {
die( 0 );
if ( ! isset( $_POST['post_type'], $_POST['post_id'], $_POST['screen'] ) ) {
wp_die( 0 );
}
check_ajax_referer( 'inlineeditnonce', '_pll_nonce' );
$post_type = sanitize_key( $_POST['post_type'] );
if ( ! post_type_exists( $post_type ) || ! $this->model->is_translated_post_type( $post_type ) ) {
wp_die( 0 );
}
global $wp_list_table;
$wp_list_table = _get_list_table( 'WP_Posts_List_Table', array( 'screen' => sanitize_key( $_POST['screen'] ) ) );
$x = new WP_Ajax_Response();
$wp_list_table = _get_list_table( 'WP_Posts_List_Table', array( 'screen' => $_POST['screen'] ) );
$translations = empty( $_POST['translations'] ) ? array() : explode( ',', $_POST['translations'] ); // collect old translations
$translations = array_merge( $translations, array( $_POST['post_id'] ) ); // add current post
// Collect old translations
$translations = empty( $_POST['translations'] ) ? array() : explode( ',', $_POST['translations'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
$translations = array_map( 'intval', $translations );
$translations = array_merge( $translations, array( (int) $_POST['post_id'] ) ); // Add current post
foreach ( $translations as $post_id ) {
$level = is_post_type_hierarchical( $post_type ) ? count( get_ancestors( $post_id, $post_type ) ) : 0;
if ( $post = get_post( $post_id ) ) {
......@@ -316,22 +337,30 @@ class PLL_Admin_Filters_Columns {
* @since 1.7
*/
public function ajax_update_term_rows() {
global $wp_list_table;
check_ajax_referer( 'pll_language', '_pll_nonce' );
if ( ! taxonomy_exists( $taxonomy = $_POST['taxonomy'] ) || ! $this->model->is_translated_taxonomy( $taxonomy ) ) {
die( 0 );
if ( ! isset( $_POST['taxonomy'], $_POST['term_id'], $_POST['screen'] ) ) {
wp_die( 0 );
}
check_ajax_referer( 'pll_language', '_pll_nonce' );
$taxonomy = sanitize_key( $_POST['taxonomy'] );
if ( ! taxonomy_exists( $taxonomy ) || ! $this->model->is_translated_taxonomy( $taxonomy ) ) {
wp_die( 0 );
}
global $wp_list_table;
$wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => sanitize_key( $_POST['screen'] ) ) );
$x = new WP_Ajax_Response();
$wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => $_POST['screen'] ) );
$translations = empty( $_POST['translations'] ) ? array() : explode( ',', $_POST['translations'] ); // collect old translations
$translations = array_merge( $translations, $this->model->term->get_translations( (int) $_POST['term_id'] ) ); // add current translations
$translations = array_unique( $translations ); // remove duplicates
// Collect old translations
$translations = empty( $_POST['translations'] ) ? array() : explode( ',', $_POST['translations'] ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput
$translations = array_map( 'intval', $translations );
$translations = array_merge( $translations, $this->model->term->get_translations( (int) $_POST['term_id'] ) ); // Add current translations
$translations = array_unique( $translations ); // Remove duplicates
foreach ( $translations as $term_id ) {
$level = is_taxonomy_hierarchical( $taxonomy ) ? count( get_ancestors( $term_id, $taxonomy ) ) : 0;
if ( $tag = get_term( $term_id, $taxonomy ) ) {
......
......@@ -28,7 +28,7 @@ class PLL_Admin_Filters_Media extends PLL_Admin_Filters_Post_Base {
add_filter( 'attachment_fields_to_save', array( $this, 'save_media' ), 10, 2 );
// Creates a media translation
if ( isset( $_GET['action'], $_GET['new_lang'], $_GET['from_media'] ) && 'translate_media' === $_GET['action'] ) {
if ( isset( $_GET['action'], $_GET['new_lang'], $_GET['from_media'] ) && 'translate_media' === $_GET['action'] ) { // phpcs:ignore WordPress.Security.NonceVerification
add_action( 'admin_init', array( $this, 'translate_media' ) );
}
}
......@@ -74,21 +74,23 @@ class PLL_Admin_Filters_Media extends PLL_Admin_Filters_Post_Base {
* @since 0.9
*/
public function translate_media() {
// Security check
check_admin_referer( 'translate_media' );
$post_id = (int) $_GET['from_media'];
// Bails if the translations already exists
// See https://wordpress.org/support/topic/edit-translation-in-media-attachments?#post-7322303
// Or if the source media does not exist
if ( $this->model->post->get_translation( $post_id, $_GET['new_lang'] ) || ! get_post( $post_id ) ) {
wp_safe_redirect( wp_get_referer() );
if ( isset( $_GET['from_media'], $_GET['new_lang'] ) ) {
// Security check
check_admin_referer( 'translate_media' );
$post_id = (int) $_GET['from_media'];
// Bails if the translations already exists
// See https://wordpress.org/support/topic/edit-translation-in-media-attachments?#post-7322303
// Or if the source media does not exist
if ( $this->model->post->get_translation( $post_id, sanitize_key( $_GET['new_lang'] ) ) || ! get_post( $post_id ) ) {
wp_safe_redirect( wp_get_referer() );
exit;
}
$tr_id = $this->posts->create_media_translation( $post_id, sanitize_key( $_GET['new_lang'] ) );
wp_safe_redirect( admin_url( sprintf( 'post.php?post=%d&action=edit', $tr_id ) ) ); // WP 3.5+
exit;
}
$tr_id = $this->posts->create_media_translation( $post_id, $_GET['new_lang'] );
wp_safe_redirect( admin_url( sprintf( 'post.php?post=%d&action=edit', $tr_id ) ) ); // WP 3.5+
exit;
}
/**
......@@ -108,8 +110,8 @@ class PLL_Admin_Filters_Media extends PLL_Admin_Filters_Post_Base {
$this->model->post->set_language( $post['ID'], $attachment['language'] );
}
if ( isset( $_POST['media_tr_lang'] ) ) {
$this->save_translations( $post['ID'], $_POST['media_tr_lang'] );
if ( isset( $_POST['media_tr_lang'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$this->save_translations( $post['ID'], array_map( 'absint', $_POST['media_tr_lang'] ) ); // phpcs:ignore WordPress.Security.NonceVerification
}
return $post;
......
......@@ -104,17 +104,17 @@ class PLL_Admin_Filters_Post extends PLL_Admin_Filters_Post_Base {
* @since 2.3
*/
public function edit_post() {
if ( isset( $_POST['post_lang_choice'], $_POST['post_ID'] ) && $post_id = (int) $_POST['post_ID'] ) {
if ( isset( $_POST['post_lang_choice'], $_POST['post_ID'] ) && $post_id = (int) $_POST['post_ID'] ) { // phpcs:ignore WordPress.Security.NonceVerification
check_admin_referer( 'pll_language', '_pll_nonce' );
$post = get_post( $post_id );
$post_type_object = get_post_type_object( $post->post_type );
if ( current_user_can( $post_type_object->cap->edit_post, $post_id ) ) {
$this->model->post->set_language( $post_id, $this->model->get_language( $_POST['post_lang_choice'] ) );
$this->model->post->set_language( $post_id, $this->model->get_language( sanitize_key( $_POST['post_lang_choice'] ) ) );
if ( isset( $_POST['post_tr_lang'] ) ) {
$this->save_translations( $post_id, $_POST['post_tr_lang'] );
$this->save_translations( $post_id, array_map( 'absint', $_POST['post_tr_lang'] ) );
}
}
}
......@@ -160,10 +160,10 @@ class PLL_Admin_Filters_Post extends PLL_Admin_Filters_Post_Base {
* @since 2.3
*/
public function bulk_edit_posts() {
if ( isset( $_GET['bulk_edit'], $_GET['inline_lang_choice'] ) && -1 !== $_GET['inline_lang_choice'] ) {
if ( isset( $_GET['bulk_edit'], $_GET['inline_lang_choice'], $_REQUEST['post'] ) && -1 !== $_GET['inline_lang_choice'] ) { // phpcs:ignore WordPress.Security.NonceVerification
check_admin_referer( 'bulk-posts' );
if ( $lang = $this->model->get_language( $_GET['inline_lang_choice'] ) ) {
if ( $lang = $this->model->get_language( sanitize_key( $_GET['inline_lang_choice'] ) ) ) {
$post_ids = array_map( 'intval', (array) $_REQUEST['post'] );
foreach ( $post_ids as $post_id ) {
$this->inline_save_language( $post_id, $lang );
......@@ -182,7 +182,7 @@ class PLL_Admin_Filters_Post extends PLL_Admin_Filters_Post_Base {
if ( isset( $_POST['post_ID'], $_POST['inline_lang_choice'] ) ) {
$post_id = (int) $_POST['post_ID'];
$lang = $this->model->get_language( $_POST['inline_lang_choice'] );
$lang = $this->model->get_language( sanitize_key( $_POST['inline_lang_choice'] ) );
if ( $post_id && $lang ) {
$this->inline_save_language( $post_id, $lang );
}
......
......@@ -57,24 +57,27 @@ class PLL_Admin_Filters extends PLL_Filters {
$screen = get_current_screen();
// Test the Widgets screen and the Customizer to avoid displaying the option in page builders
// Saving the widget reloads the form. And curiously the action is in $_REQUEST but neither in $_POST, not in $_GET.
if ( ( isset( $screen ) && 'widgets' === $screen->base ) || ( isset( $_REQUEST['action'] ) && 'save-widget' === $_REQUEST['action'] ) || isset( $GLOBALS['wp_customize'] ) ) {
// Saving the widget reloads the form. And curiously the action is in $_REQUEST but neither in $_POST, nor in $_GET.
if ( ( isset( $screen ) && 'widgets' === $screen->base ) || ( isset( $_REQUEST['action'] ) && 'save-widget' === $_REQUEST['action'] ) || isset( $GLOBALS['wp_customize'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$dropdown = new PLL_Walker_Dropdown();
$dropdown_html = $dropdown->walk(
array_merge(
array( (object) array( 'slug' => 0, 'name' => __( 'All languages', 'polylang' ) ) ),
$this->model->get_languages_list()
),
array(
'name' => $widget->id . '_lang_choice',
'class' => 'tags-input pll-lang-choice',
'selected' => empty( $instance['pll_lang'] ) ? '' : $instance['pll_lang'],
)
);
printf(
'<p><label for="%1$s">%2$s %3$s</label></p>',
esc_attr( $widget->id . '_lang_choice' ),
esc_html__( 'The widget is displayed for:', 'polylang' ),
$dropdown->walk(
array_merge(
array( (object) array( 'slug' => 0, 'name' => __( 'All languages', 'polylang' ) ) ),
$this->model->get_languages_list()
),
array(
'name' => $widget->id . '_lang_choice',
'class' => 'tags-input pll-lang-choice',
'selected' => empty( $instance['pll_lang'] ) ? '' : $instance['pll_lang'],
)
)
$dropdown_html // phpcs:ignore WordPress.Security.EscapeOutput
);
}
}
......@@ -92,8 +95,10 @@ class PLL_Admin_Filters extends PLL_Filters {
* @return array Widget options
*/
public function widget_update_callback( $instance, $new_instance, $old_instance, $widget ) {
if ( ! empty( $_POST[ $key = $widget->id . '_lang_choice' ] ) && in_array( $_POST[ $key ], $this->model->get_languages_list( array( 'fields' => 'slug' ) ) ) ) {
$instance['pll_lang'] = $_POST[ $key ];
$key = $widget->id . '_lang_choice';
if ( ! empty( $_POST[ $key ] ) && $lang = $this->model->get_language( sanitize_key( $_POST[ $key ] ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$instance['pll_lang'] = $lang->slug;
} else {
unset( $instance['pll_lang'] );
}
......@@ -112,7 +117,7 @@ class PLL_Admin_Filters extends PLL_Filters {
// Biography translations
foreach ( $this->model->get_languages_list() as $lang ) {
$meta = $lang->slug == $this->options['default_lang'] ? 'description' : 'description_' . $lang->slug;
$description = empty( $_POST[ 'description_' . $lang->slug ] ) ? '' : trim( $_POST[ 'description_' . $lang->slug ] );
$description = empty( $_POST[ 'description_' . $lang->slug ] ) ? '' : trim( $_POST[ 'description_' . $lang->slug ] ); // phpcs:ignore WordPress.Security.NonceVerification, WordPress.Security.ValidatedSanitizedInput
/** This filter is documented in wp-includes/user.php */
$description = apply_filters( 'pre_user_description', $description ); // Applies WP default filter wp_filter_kses
......@@ -183,11 +188,11 @@ class PLL_Admin_Filters extends PLL_Filters {
* @return string
*/
public function get_locale( $locale ) {
if ( isset( $_POST['post_lang_choice'] ) && $lang = $this->model->get_language( $_POST['post_lang_choice'] ) ) {
if ( isset( $_POST['post_lang_choice'] ) && $lang = $this->model->get_language( sanitize_key( $_POST['post_lang_choice'] ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$locale = $lang->locale;
} elseif ( isset( $_POST['term_lang_choice'] ) && $lang = $this->model->get_language( $_POST['term_lang_choice'] ) ) {
} elseif ( isset( $_POST['term_lang_choice'] ) && $lang = $this->model->get_language( sanitize_key( $_POST['term_lang_choice'] ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$locale = $lang->locale;
} elseif ( isset( $_POST['inline_lang_choice'] ) && $lang = $this->model->get_language( $_POST['inline_lang_choice'] ) ) {
} elseif ( isset( $_POST['inline_lang_choice'] ) && $lang = $this->model->get_language( sanitize_key( $_POST['inline_lang_choice'] ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification
$locale = $lang->locale;
} elseif ( ! empty( $this->curlang ) ) {
$locale = $this->curlang->locale;
......
......@@ -7,16 +7,63 @@
*/
class PLL_Admin_Links extends PLL_Links {
/**
* Returns html markup for a new translation link
*
* @since 2.6
*
* @param string $link The new translation link.
* @param object $language The language of the new translation.
* @return string
*/
protected function new_translation_link( $link, $language ) {
$str = '';
if ( $link ) {
/* translators: accessibility text, %s is a native language name */
$hint = sprintf( __( 'Add a translation in %s', 'polylang' ), $language->name );
$str = sprintf(
'<a href="%1$s" title="%2$s" class="pll_icon_add"><span class="screen-reader-text">%3$s</span></a>',
esc_url( $link ),
esc_attr( $hint ),
esc_html( $hint )
);
}
return $str;
}
/**
* Returns html markup for a translation link
*
* @since 2.6
*
* @param string $link The translation link.
* @param object $language The language of the translation.
* @return string
*/
public function edit_translation_link( $link, $language ) {
return $link ? sprintf(
'<a href="%1$s" class="pll_icon_edit"><span class="screen-reader-text">%2$s</span></a>',
esc_url( $link ),
/* translators: accessibility text, %s is a native language name */
esc_html( sprintf( __( 'Edit the translation in %s', 'polylang' ), $language->name ) )
) : '';
}
/**
* Get the link to create a new post translation
*
* @since 1.5
*
* @param int $post_id the source post id
* @param object $language the language of the new translation
* @param int $post_id The source post id.
* @param object $language The language of the new translation.
* @param string $context Optional. Defaults to 'display' which encodes '&' to '&amp;'.
* Otherwise, preserves '&'.
* @return string
*/
public function get_new_post_translation_link( $post_id, $language ) {
public function get_new_post_translation_link( $post_id, $language, $context = 'display' ) {
$post_type = get_post_type( $post_id );
$post_type_object = get_post_type_object( get_post_type( $post_id ) );
if ( ! current_user_can( $post_type_object->cap->create_posts ) ) {
......@@ -31,15 +78,21 @@ class PLL_Admin_Links extends PLL_Links {
}
}
if ( 'attachment' == $post_type ) {
if ( 'attachment' === $post_type ) {
$args = array(
'action' => 'translate_media',
'from_media' => $post_id,
'new_lang' => $language->slug,
);
$link = add_query_arg( $args, admin_url( 'admin.php' ) );
// Add nonce for media as we will directly publish a new attachment from a click on this link
$link = wp_nonce_url( add_query_arg( $args, admin_url( 'admin.php' ) ), 'translate_media' );
if ( 'display' === $context ) {
$link = wp_nonce_url( $link, 'translate_media' );
} else {
$link = add_query_arg( '_wpnonce', wp_create_nonce( 'translate_media' ), $link );
}
} else {
$args = array(
'post_type' => $post_type,
......@@ -47,7 +100,13 @@ class PLL_Admin_Links extends PLL_Links {
'new_lang' => $language->slug,
);
$link = wp_nonce_url( add_query_arg( $args, admin_url( 'post-new.php' ) ), 'new-post-translation' );
$link = add_query_arg( $args, admin_url( 'post-new.php' ) );
if ( 'display' === $context ) {
$link = wp_nonce_url( $link, 'new-post-translation' );
} else {
$link = add_query_arg( '_wpnonce', wp_create_nonce( 'new-post-translation' ), $link );
}
}
/**
......@@ -73,12 +132,7 @@ class PLL_Admin_Links extends PLL_Links {
*/
public function new_post_translation_link( $post_id, $language ) {
$link = $this->get_new_post_translation_link( $post_id, $language );
return $link ? sprintf(
'<a href="%1$s" class="pll_icon_add"><span class="screen-reader-text">%2$s</span></a>',
esc_url( $link ),
/* translators: accessibility text, %s is a native language name */
esc_html( sprintf( __( 'Add a translation in %s', 'polylang' ), $language->name ) )
) : '';
return $this->new_translation_link( $link, $language );
}
/**
......@@ -92,12 +146,7 @@ class PLL_Admin_Links extends PLL_Links {
public function edit_post_translation_link( $post_id ) {
$link = get_edit_post_link( $post_id );
$language = $this->model->post->get_language( $post_id );
return $link ? sprintf(
'<a href="%1$s" class="pll_icon_edit"><span class="screen-reader-text">%2$s</span></a>',
esc_url( $link ),
/* translators: accessibility text, %s is a native language name */
esc_html( sprintf( __( 'Edit the translation in %s', 'polylang' ), $language->name ) )
) : '';
return $this->edit_translation_link( $link, $language );
}
/**
......@@ -153,12 +202,7 @@ class PLL_Admin_Links extends PLL_Links {
*/
public function new_term_translation_link( $term_id, $taxonomy, $post_type, $language ) {
$link = $this->get_new_term_translation_link( $term_id, $taxonomy, $post_type, $language );
return $link ? sprintf(
'<a href="%1$s" class="pll_icon_add"><span class="screen-reader-text">%2$s</span></a>',
esc_url( $link ),
/* translators: accessibility text, %s is a native language name */
esc_html( sprintf( __( 'Add a translation in %s', 'polylang' ), $language->name ) )
) : '';
return $this->new_translation_link( $link, $language );
}
/**
......@@ -174,11 +218,6 @@ class PLL_Admin_Links extends PLL_Links {
public function edit_term_translation_link( $term_id, $taxonomy, $post_type ) {
$link = get_edit_term_link( $term_id, $taxonomy, $post_type );
$language = $this->model->term->get_language( $term_id );
return $link ? sprintf(
'<a href="%1$s" class="pll_icon_edit"><span class="screen-reader-text">%2$s</span></a>',
esc_url( $link ),
/* translators: accessibility text, %s is a native language name */
esc_html( sprintf( __( 'Edit the translation in %s', 'polylang' ), $language->name ) )
) : '';
return $this->edit_translation_link( $link, $language );
}
}
......@@ -28,17 +28,17 @@ class PLL_Admin_Model extends PLL_Model {
* @return bool true if success / false if failed
*/
public function add_language( $args ) {
if ( ! $this->validate_lang( $args ) ) {
return false;
$errors = $this->validate_lang( $args );
if ( $errors->get_error_code() ) { // Using has_errors() would be more meaningful but is available only since WP 5.0
return $errors;
}
// First the language taxonomy
$description = serialize( array( 'locale' => $args['locale'], 'rtl' => (int) $args['rtl'], 'flag_code' => empty( $args['flag'] ) ? '' : $args['flag'] ) );
$description = maybe_serialize( array( 'locale' => $args['locale'], 'rtl' => (int) $args['rtl'], 'flag_code' => empty( $args['flag'] ) ? '' : $args['flag'] ) );
$r = wp_insert_term( $args['name'], 'language', array( 'slug' => $args['slug'], 'description' => $description ) );
if ( is_wp_error( $r ) ) {
// Avoid an ugly fatal error if something went wrong ( reported once in the forum )
add_settings_error( 'general', 'pll_add_language', __( 'Impossible to add the language.', 'polylang' ) );
return false;
return new WP_Error( 'pll_add_language', __( 'Impossible to add the language.', 'polylang' ) );
}
wp_update_term( (int) $r['term_id'], 'language', array( 'term_group' => (int) $args['term_group'] ) ); // can't set the term group directly in wp_insert_term
......@@ -74,8 +74,6 @@ class PLL_Admin_Model extends PLL_Model {
$this->clean_languages_cache(); // Again to set add mo_id in the cached languages list
flush_rewrite_rules(); // Refresh rewrite rules
add_settings_error( 'general', 'pll_languages_created', __( 'Language added.', 'polylang' ), 'updated' );
return true;
}
......@@ -90,7 +88,7 @@ class PLL_Admin_Model extends PLL_Model {
$lang = $this->get_language( (int) $lang_id );
if ( empty( $lang ) ) {
return;
return false;
}
// Oops ! we are deleting the default language...
......@@ -157,7 +155,7 @@ class PLL_Admin_Model extends PLL_Model {
update_option( 'polylang', $this->options );
flush_rewrite_rules(); // refresh rewrite rules
add_settings_error( 'general', 'pll_languages_deleted', __( 'Language deleted.', 'polylang' ), 'updated' );
return true;
}
/**
......@@ -181,8 +179,10 @@ class PLL_Admin_Model extends PLL_Model {
*/
public function update_language( $args ) {
$lang = $this->get_language( (int) $args['lang_id'] );
if ( ! $this->validate_lang( $args, $lang ) ) {
return false;
$errors = $this->validate_lang( $args, $lang );
if ( $errors->get_error_code() ) { // Using has_errors() would be more meaningful but is available only since WP 5.0
return $errors;
}
// Update links to this language in posts and terms in case the slug has been modified
......@@ -235,7 +235,7 @@ class PLL_Admin_Model extends PLL_Model {
update_option( 'polylang', $this->options );
// And finally update the language itself
$description = serialize( array( 'locale' => $args['locale'], 'rtl' => (int) $args['rtl'], 'flag_code' => empty( $args['flag'] ) ? '' : $args['flag'] ) );
$description = maybe_serialize( array( 'locale' => $args['locale'], 'rtl' => (int) $args['rtl'], 'flag_code' => empty( $args['flag'] ) ? '' : $args['flag'] ) );
wp_update_term( (int) $lang->term_id, 'language', array( 'slug' => $slug, 'name' => $args['name'], 'description' => $description, 'term_group' => (int) $args['term_group'] ) );
wp_update_term( (int) $lang->tl_term_id, 'term_language', array( 'slug' => 'pll_' . $slug, 'name' => $args['name'] ) );
......@@ -250,7 +250,6 @@ class PLL_Admin_Model extends PLL_Model {
$this->clean_languages_cache();
flush_rewrite_rules(); // Refresh rewrite rules
add_settings_error( 'general', 'pll_languages_updated', __( 'Language updated.', 'polylang' ), 'updated' );
return true;
}
......@@ -266,35 +265,45 @@ class PLL_Admin_Model extends PLL_Model {
* @return bool true if success / false if failed
*/
protected function validate_lang( $args, $lang = null ) {
$errors = new WP_Error();
// Validate locale with the same pattern as WP 4.3. See #28303
if ( ! preg_match( '#^[a-z]{2,3}(?:_[A-Z]{2})?(?:_[a-z0-9]+)?$#', $args['locale'], $matches ) ) {
add_settings_error( 'general', 'pll_invalid_locale', __( 'Enter a valid WordPress locale', 'polylang' ) );
$errors->add( 'pll_invalid_locale', __( 'Enter a valid WordPress locale', 'polylang' ) );
}
// Validate slug characters
if ( ! preg_match( '#^[a-z_-]+$#', $args['slug'] ) ) {
add_settings_error( 'general', 'pll_invalid_slug', __( 'The language code contains invalid characters', 'polylang' ) );
$errors->add( 'pll_invalid_slug', __( 'The language code contains invalid characters', 'polylang' ) );
}
// Validate slug is unique
foreach ( $this->get_languages_list() as $language ) {
if ( $language->slug === $args['slug'] && ( null === $lang || ( isset( $lang ) && $lang->term_id != $language->term_id ) ) ) {
add_settings_error( 'general', 'pll_non_unique_slug', __( 'The language code must be unique', 'polylang' ) );
$errors->add( 'pll_non_unique_slug', __( 'The language code must be unique', 'polylang' ) );
}
}
// Validate name
// No need to sanitize it as wp_insert_term will do it for us
if ( empty( $args['name'] ) ) {
add_settings_error( 'general', 'pll_invalid_name', __( 'The language must have a name', 'polylang' ) );
$errors->add( 'pll_invalid_name', __( 'The language must have a name', 'polylang' ) );
}
// Validate flag
if ( ! empty( $args['flag'] ) && ! file_exists( POLYLANG_DIR . '/flags/' . $args['flag'] . '.png' ) ) {
add_settings_error( 'general', 'pll_invalid_flag', __( 'The flag does not exist', 'polylang' ) );
$flag = PLL_Language::get_flag_informations( $args['flag'] );
if ( ! empty( $flag['url'] ) ) {
$response = function_exists( 'vip_safe_wp_remote_get' ) ? vip_safe_wp_remote_get( esc_url_raw( $flag['url'] ) ) : wp_remote_get( esc_url_raw( $flag['url'] ) );
}
if ( empty( $response ) || is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) {
$errors->add( 'pll_invalid_flag', __( 'The flag does not exist', 'polylang' ) );
}
}
return get_settings_errors() ? false : true;
return $errors;
}
/**
......@@ -355,7 +364,7 @@ class PLL_Admin_Model extends PLL_Model {
$term = uniqid( 'pll_' ); // the term name
$terms[] = $wpdb->prepare( '( %s, %s )', $term, $term );
$slugs[] = $wpdb->prepare( '%s', $term );
$description[ $term ] = serialize( $t );
$description[ $term ] = maybe_serialize( $t );
$count[ $term ] = count( $t );
}
......@@ -386,7 +395,7 @@ class PLL_Admin_Model extends PLL_Model {
// Prepare objects relationships
foreach ( $terms as $term ) {
$t = unserialize( $term->description );
$t = maybe_unserialize( $term->description );
if ( in_array( $t, $translations ) ) {
foreach ( $t as $object_id ) {
if ( ! empty( $object_id ) ) {
......@@ -446,7 +455,7 @@ class PLL_Admin_Model extends PLL_Model {
)
);
// PHPCS:disable WordPress.DB.PreparedSQL.NotPrepared
// PHPCS:disable WordPress.DB.PreparedSQL
$terms = $wpdb->get_col(
sprintf(
"SELECT {$wpdb->term_taxonomy}.term_id FROM {$wpdb->term_taxonomy}
......@@ -487,7 +496,7 @@ class PLL_Admin_Model extends PLL_Model {
foreach ( $terms as $term ) {
$term_ids[ $term->taxonomy ][] = $term->term_id;
$tr = unserialize( $term->description );
$tr = maybe_unserialize( $term->description );
if ( ! empty( $tr[ $old_slug ] ) ) {
if ( $new_slug ) {
$tr[ $new_slug ] = $tr[ $old_slug ]; // Suppress this for delete
......@@ -501,7 +510,7 @@ class PLL_Admin_Model extends PLL_Model {
$dt['t'][] = (int) $term->term_id;
$dt['tt'][] = (int) $term->term_taxonomy_id;
} else {
$ut['case'][] = $wpdb->prepare( 'WHEN %d THEN %s', $term->term_id, serialize( $tr ) );
$ut['case'][] = $wpdb->prepare( 'WHEN %d THEN %s', $term->term_id, maybe_serialize( $tr ) );
$ut['in'][] = (int) $term->term_id;
}
}
......
......@@ -17,8 +17,6 @@ class PLL_Admin_Nav_Menu extends PLL_Nav_Menu {
public function __construct( &$polylang ) {
parent::__construct( $polylang );
$this->theme = get_option( 'stylesheet' );
// Populates nav menus locations
// Since WP 4.4, must be done before customize_register is fired
add_filter( 'theme_mod_nav_menu_locations', array( $this, 'theme_mod_nav_menu_locations' ), 20 );
......@@ -36,15 +34,11 @@ class PLL_Admin_Nav_Menu extends PLL_Nav_Menu {
public function admin_init() {
add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
add_action( 'wp_update_nav_menu_item', array( $this, 'wp_update_nav_menu_item' ), 10, 2 );
add_filter( 'wp_get_nav_menu_items', array( $this, 'translate_switcher_title' ) );
// Translation of menus based on chosen locations
add_filter( 'pre_update_option_theme_mods_' . $this->theme, array( $this, 'pre_update_option_theme_mods' ) );
add_action( 'delete_nav_menu', array( $this, 'delete_nav_menu' ) );
// Filter _wp_auto_add_pages_to_menu by language
add_action( 'transition_post_status', array( $this, 'auto_add_pages_to_menu' ), 5, 3 ); // before _wp_auto_add_pages_to_menu
// FIXME is it possible to choose the order ( after theme locations in WP3.5 and older ) ?
// FIXME not displayed if Polylang is activated before the first time the user goes to nav menus http://core.trac.wordpress.org/ticket/16828
add_meta_box( 'pll_lang_switch_box', __( 'Language switcher', 'polylang' ), array( $this, 'lang_switch' ), 'nav-menus', 'side', 'high' );
......@@ -68,17 +62,17 @@ class PLL_Admin_Nav_Menu extends PLL_Nav_Menu {
<ul id="lang-switch-checklist" class="categorychecklist form-no-clear">
<li>
<label class="menu-item-title">
<input type="checkbox" class="menu-item-checkbox" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-object-id]" value="-1"> <?php esc_html_e( 'Language switcher', 'polylang' ); ?>
<input type="checkbox" class="menu-item-checkbox" name="menu-item[<?php echo (int) $_nav_menu_placeholder; ?>][menu-item-object-id]" value="-1"> <?php esc_html_e( 'Languages', 'polylang' ); ?>
</label>
<input type="hidden" class="menu-item-type" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-type]" value="custom">
<input type="hidden" class="menu-item-title" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-title]" value="<?php esc_html_e( 'Language switcher', 'polylang' ); ?>">
<input type="hidden" class="menu-item-url" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-url]" value="#pll_switcher">
<input type="hidden" class="menu-item-type" name="menu-item[<?php echo (int) $_nav_menu_placeholder; ?>][menu-item-type]" value="custom">
<input type="hidden" class="menu-item-title" name="menu-item[<?php echo (int) $_nav_menu_placeholder; ?>][menu-item-title]" value="<?php esc_html_e( 'Languages', 'polylang' ); ?>">
<input type="hidden" class="menu-item-url" name="menu-item[<?php echo (int) $_nav_menu_placeholder; ?>][menu-item-url]" value="#pll_switcher">
</li>
</ul>
</div>
<p class="button-controls">
<span class="add-to-menu">
<input type="submit" <?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-post-type-menu-item" id="submit-posttype-lang-switch">
<input type="submit" <?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu', 'polylang' ); ?>" name="add-post-type-menu-item" id="submit-posttype-lang-switch">
<span class="spinner"></span>
</span>
</p>
......@@ -101,7 +95,7 @@ class PLL_Admin_Nav_Menu extends PLL_Nav_Menu {
wp_enqueue_script( 'pll_nav_menu', plugins_url( '/js/nav-menu' . $suffix . '.js', POLYLANG_FILE ), array( 'jquery' ), POLYLANG_VERSION );
$data['strings'] = PLL_Switcher::get_switcher_options( 'menu', 'string' ); // The strings for the options
$data['title'] = __( 'Language switcher', 'polylang' ); // The title
$data['title'] = __( 'Languages', 'polylang' ); // The title
// Get all language switcher menu items
$items = get_posts(
......@@ -133,7 +127,7 @@ class PLL_Admin_Nav_Menu extends PLL_Nav_Menu {
* @param int $menu_item_db_id
*/
public function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0 ) {
if ( empty( $_POST['menu-item-url'][ $menu_item_db_id ] ) || '#pll_switcher' != $_POST['menu-item-url'][ $menu_item_db_id ] ) {
if ( empty( $_POST['menu-item-url'][ $menu_item_db_id ] ) || '#pll_switcher' !== $_POST['menu-item-url'][ $menu_item_db_id ] ) { // phpcs:ignore WordPress.Security.NonceVerification
return;
}
......@@ -157,23 +151,6 @@ class PLL_Admin_Nav_Menu extends PLL_Nav_Menu {
}
}
/**
* Translates the language switcher menu items title in case the user switches the admin language
*
* @since 1.1.1
*
* @param array $items
* @return array modified $items
*/
public function translate_switcher_title( $items ) {
foreach ( $items as $item ) {
if ( '#pll_switcher' == $item->url ) {
$item->post_title = __( 'Language switcher', 'polylang' );
}
}
return $items;
}
/**
* Assign menu languages and translations based on ( temporary ) locations
*
......@@ -210,14 +187,14 @@ class PLL_Admin_Nav_Menu extends PLL_Nav_Menu {
if ( current_user_can( 'edit_theme_options' ) && isset( $mods['nav_menu_locations'] ) ) {
// Manage Locations tab in Appearance -> Menus
if ( isset( $_GET['action'] ) && 'locations' == $_GET['action'] ) {
if ( isset( $_GET['action'] ) && 'locations' === $_GET['action'] ) { // phpcs:ignore WordPress.Security.NonceVerification
check_admin_referer( 'save-menu-locations' );
$this->options['nav_menus'][ $this->theme ] = array();
}
// Edit Menus tab in Appearance -> Menus
// Add the test of $_POST['update-nav-menu-nonce'] to avoid conflict with Vantage theme
elseif ( isset( $_POST['action'], $_POST['update-nav-menu-nonce'] ) && 'update' == $_POST['action'] ) {
elseif ( isset( $_POST['action'], $_POST['update-nav-menu-nonce'] ) && 'update' === $_POST['action'] ) {
check_admin_referer( 'update-nav_menu', 'update-nav-menu-nonce' );
$this->options['nav_menus'][ $this->theme ] = array();
}
......@@ -289,48 +266,4 @@ class PLL_Admin_Nav_Menu extends PLL_Nav_Menu {
update_option( 'polylang', $this->options );
}
}
/**
* Filters the option nav_menu_options for auto added pages to menu
*
* @since 0.9.4
*
* @param array $options
* @return array Modified options
*/
public function nav_menu_options( $options ) {
$options['auto_add'] = array_intersect( $options['auto_add'], $this->auto_add_menus );
return $options;
}
/**
* Filters _wp_auto_add_pages_to_menu by language
*
* @since 0.9.4
*
* @param string $new_status Transition to this post status.
* @param string $old_status Previous post status.
* @param object $post Post data.
*/
public function auto_add_pages_to_menu( $new_status, $old_status, $post ) {
if ( 'publish' != $new_status || 'publish' == $old_status || 'page' != $post->post_type || ! empty( $post->post_parent ) ) {
return;
}
if ( ! empty( $this->options['nav_menus'][ $this->theme ] ) ) {
$this->auto_add_menus = array();
$lang = $this->model->post->get_language( $post->ID );
$lang = empty( $lang ) ? $this->options['default_lang'] : $lang->slug; // If the page has no language yet, the default language will be assigned
// Get all the menus in the page language
foreach ( $this->options['nav_menus'][ $this->theme ] as $loc ) {
if ( ! empty( $loc[ $lang ] ) ) {
$this->auto_add_menus[] = $loc[ $lang ];
}
}
add_filter( 'option_nav_menu_options', array( $this, 'nav_menu_options' ) );
}
}
}
......@@ -8,7 +8,7 @@
* @since 2.3.9
*/
class PLL_Admin_Notices {
static private $notices = array();
private static $notices = array();
/**
* Constructor
......@@ -155,7 +155,8 @@ class PLL_Admin_Notices {
printf(
'<a class="notice-dismiss" href="%s"><span class="screen-reader-text">%s</span></a>',
esc_url( wp_nonce_url( add_query_arg( 'pll-hide-notice', $name ), $name, '_pll_notice_nonce' ) ),
esc_html__( 'Dismiss this notice.' )
/* translators: accessibility text */
esc_html__( 'Dismiss this notice.', 'polylang' )
);
}
......@@ -173,7 +174,7 @@ class PLL_Admin_Notices {
<?php
printf(
/* translators: %1$s is link start tag, %2$s is link end tag. */
esc_html__( 'We have noticed that you are using Polylang with WooCommerce. We recommend you to use %1$sPolylang for WooCommerce%2$s to ensure the compatibility.', 'polylang' ),
esc_html__( 'We have noticed that you are using Polylang with WooCommerce. To ensure compatibility, we recommend you use %1$sPolylang for WooCommerce%2$s.', 'polylang' ),
'<a href="https://polylang.pro/downloads/polylang-for-woocommerce/">',
'</a>'
);
......@@ -198,7 +199,7 @@ class PLL_Admin_Notices {
<?php
printf(
/* translators: %1$s is link start tag, %2$s is link end tag. */
esc_html__( 'We have noticed that you are using Polylang for some time. We hope that you love it! We would be thrilled if you could %1$sgive us a 5 stars rating%2$s.', 'polylang' ),
esc_html__( 'We have noticed that you have been using Polylang for some time. We hope you love it, and we would really appreciate it if you would %1$sgive us a 5 stars rating%2$s.', 'polylang' ),
'<a href="https://wordpress.org/support/plugin/polylang/reviews/?rate=5#new-post">',
'</a>'
);
......
This diff is collapsed.
......@@ -18,22 +18,20 @@ if ( ! defined( 'ABSPATH' ) ) {
}
?>
<tr>
<td class = "pll-media-language-column"><span class = "pll-translation-flag"><?php echo $language->flag; ?></span><?php echo esc_html( $language->name ); ?></td>
<td class = "pll-media-language-column"><span class = "pll-translation-flag"><?php echo $language->flag; // phpcs:ignore WordPress.Security.EscapeOutput ?></span><?php echo esc_html( $language->name ); ?></td>
<td class = "pll-media-edit-column">
<?php
// The translation exists
if ( ( $translation_id = $this->model->post->get_translation( $post_id, $language ) ) && $translation_id !== $post_id ) {
// The translation exists
printf(
'<input type="hidden" name="media_tr_lang[%s]" value="%d" />%s',
'<input type="hidden" name="media_tr_lang[%s]" value="%d" />',
esc_attr( $language->slug ),
esc_attr( $translation_id ),
$this->links->edit_post_translation_link( $translation_id )
esc_attr( $translation_id )
);
}
// No translation
else {
echo $this->links->new_post_translation_link( $post_id, $language );
echo $this->links->edit_post_translation_link( $translation_id ); // phpcs:ignore WordPress.Security.EscapeOutput
} else {
// No translation
echo $this->links->new_post_translation_link( $post_id, $language ); // phpcs:ignore WordPress.Security.EscapeOutput
}
?>
</td>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment