├── .editorconfig ├── .github └── workflows │ └── integrate.yml ├── .gitignore ├── .gitmodules ├── bin └── install-wp-tests.sh ├── composer.json ├── frontend-uploader.php ├── languages ├── frontend-uploader-de_DE.mo ├── frontend-uploader-de_DE.po ├── frontend-uploader-es_ES.mo ├── frontend-uploader-es_ES.po ├── frontend-uploader-fr_CA.mo ├── frontend-uploader-fr_CA.po ├── frontend-uploader-fr_FR.mo ├── frontend-uploader-fr_FR.po ├── frontend-uploader-nb_NO.mo ├── frontend-uploader-nb_NO.po ├── frontend-uploader-ru_RU.mo ├── frontend-uploader-ru_RU.po ├── frontend-uploader.mo └── frontend-uploader.pot ├── lib ├── css │ └── frontend-uploader.css ├── js │ ├── frontend-uploader.js │ └── validate │ │ ├── jquery.validate.js │ │ └── localization │ │ ├── messages_ar.js │ │ ├── messages_bg.js │ │ ├── messages_ca.js │ │ ├── messages_cs.js │ │ ├── messages_da.js │ │ ├── messages_de.js │ │ ├── messages_el.js │ │ ├── messages_es.js │ │ ├── messages_et.js │ │ ├── messages_eu.js │ │ ├── messages_fa.js │ │ ├── messages_fi.js │ │ ├── messages_fr.js │ │ ├── messages_he.js │ │ ├── messages_hr.js │ │ ├── messages_hu.js │ │ ├── messages_it.js │ │ ├── messages_ja.js │ │ ├── messages_ka.js │ │ ├── messages_kk.js │ │ ├── messages_ko.js │ │ ├── messages_lt.js │ │ ├── messages_lv.js │ │ ├── messages_my.js │ │ ├── messages_nl.js │ │ ├── messages_no.js │ │ ├── messages_pl.js │ │ ├── messages_pt_BR.js │ │ ├── messages_pt_PT.js │ │ ├── messages_ro.js │ │ ├── messages_ru.js │ │ ├── messages_si.js │ │ ├── messages_sk.js │ │ ├── messages_sl.js │ │ ├── messages_sr.js │ │ ├── messages_sv.js │ │ ├── messages_th.js │ │ ├── messages_tr.js │ │ ├── messages_uk.js │ │ ├── messages_vi.js │ │ ├── messages_zh.js │ │ ├── messages_zh_TW.js │ │ ├── methods_de.js │ │ ├── methods_nl.js │ │ └── methods_pt.js ├── php │ ├── class-frontend-uploader-wp-media-list-table.php │ ├── class-frontend-uploader-wp-posts-list-table.php │ ├── class-html-helper.php │ ├── frontend-uploader-settings.php │ └── functions.php └── views │ ├── manage-ugc-media.tpl.php │ └── manage-ugc-posts.tpl.php ├── phpunit.xml ├── readme.md ├── readme.txt ├── screenshot-1.png └── tests ├── bootstrap.php ├── frontend-uploader-testcase.php └── test-frontend-uploader.php /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | # WordPress Coding Standards 5 | # https://make.wordpress.org/core/handbook/coding-standards/ 6 | 7 | root = true 8 | 9 | [*] 10 | charset = utf-8 11 | end_of_line = lf 12 | indent_size = 4 13 | tab_width = 4 14 | indent_style = tab 15 | insert_final_newline = true 16 | trim_trailing_whitespace = true 17 | 18 | [*.txt] 19 | trim_trailing_whitespace = false 20 | 21 | [*.{md,json,yml}] 22 | trim_trailing_whitespace = false 23 | indent_style = space 24 | indent_size = 2 -------------------------------------------------------------------------------- /.github/workflows/integrate.yml: -------------------------------------------------------------------------------- 1 | name: Run PHPUnit and PHPCS 2 | 3 | on: [push] 4 | 5 | jobs: 6 | test: 7 | name: WP ${{ matrix.wordpress }} on PHP ${{ matrix.php }} 8 | # Ubuntu-20.x includes MySQL 8.0, which causes `caching_sha2_password` issues with PHP < 7.4 9 | # https://www.php.net/manual/en/mysqli.requirements.php 10 | # TODO: change to ubuntu-latest when we no longer support PHP < 7.4 11 | runs-on: ubuntu-18.04 12 | continue-on-error: ${{ matrix.allowed_failure }} 13 | 14 | env: 15 | WP_VERSION: ${{ matrix.wordpress }} 16 | 17 | strategy: 18 | fail-fast: false 19 | matrix: 20 | php: ["5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0"] 21 | wordpress: ["5.5", "5.6", "5.7"] 22 | allowed_failure: [false] 23 | # https://make.wordpress.org/core/2020/11/23/wordpress-and-php-8-0/ 24 | exclude: 25 | - php: "8.0" 26 | wordpress: "5.5" 27 | 28 | steps: 29 | - name: Checkout code 30 | uses: actions/checkout@v2 31 | 32 | - name: Checkout submodules 33 | uses: textbook/git-checkout-submodule-action@master 34 | 35 | - name: Set up PHP ${{ matrix.php }} 36 | uses: shivammathur/setup-php@v2 37 | with: 38 | php-version: ${{ matrix.php }} 39 | coverage: pcov 40 | # https://make.wordpress.org/hosting/handbook/handbook/server-environment/#php-extensions 41 | extensions: curl, dom, exif, fileinfo, hash, json, mbstring, mysqli, openssl, pcre, imagick, xml, zip 42 | 43 | - name: Install Composer dependencies (PHP < 8.0 ) 44 | if: ${{ matrix.php < 8.0 }} 45 | uses: ramsey/composer-install@v1 46 | 47 | - name: Install Composer dependencies (PHP >= 8.0) 48 | if: ${{ matrix.php >= 8.0 }} 49 | uses: ramsey/composer-install@v1 50 | with: 51 | composer-options: --ignore-platform-reqs 52 | 53 | - name: Setup Problem Matchers for PHPUnit 54 | run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" 55 | 56 | - name: Show PHP and PHPUnit version info 57 | run: | 58 | php --version 59 | ./vendor/bin/phpunit --version 60 | 61 | - name: Start MySQL service 62 | run: sudo /etc/init.d/mysql start 63 | 64 | - name: Install WordPress environment 65 | run: composer prepare ${{ matrix.wordpress }} 66 | 67 | - name: Run integration tests (single site) 68 | run: composer integration 69 | 70 | - name: Run integration tests (multisite) 71 | run: composer integration-ms 72 | 73 | - name: Run PHPCS 74 | run: composer cs 75 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .svn 2 | wp-frontend-uploader.php 3 | wpcom-helper.php 4 | .phptidy-cache 5 | .DS_Store 6 | .vscode/ 7 | composer.lock 8 | vendor/ 9 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "lib/php/settings-api"] 2 | path = lib/php/settings-api 3 | url = git://github.com/rinatkhaziev/wordpress-settings-api-class.git 4 | -------------------------------------------------------------------------------- /bin/install-wp-tests.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ $# -lt 3 ]; then 4 | echo "usage: $0 [db-host] [wp-version] [skip-database-creation]" 5 | exit 1 6 | fi 7 | 8 | DB_NAME=$1 9 | DB_USER=$2 10 | DB_PASS=$3 11 | DB_HOST=${4-localhost} 12 | WP_VERSION=${5-latest} 13 | SKIP_DB_CREATE=${6-false} 14 | 15 | TMPDIR=${TMPDIR-/tmp} 16 | TMPDIR=$(echo $TMPDIR | sed -e "s/\/$//") 17 | WP_TESTS_DIR=${WP_TESTS_DIR-$TMPDIR/wordpress-tests-lib} 18 | WP_CORE_DIR=${WP_CORE_DIR-$TMPDIR/wordpress} 19 | 20 | download() { 21 | if [ `which curl` ]; then 22 | curl -s "$1" > "$2"; 23 | elif [ `which wget` ]; then 24 | wget -nv -O "$2" "$1" 25 | fi 26 | } 27 | 28 | if [[ $WP_VERSION =~ ^[0-9]+\.[0-9]+\-(beta|RC)[0-9]+$ ]]; then 29 | WP_BRANCH=${WP_VERSION%\-*} 30 | WP_TESTS_TAG="branches/$WP_BRANCH" 31 | 32 | elif [[ $WP_VERSION =~ ^[0-9]+\.[0-9]+$ ]]; then 33 | WP_TESTS_TAG="branches/$WP_VERSION" 34 | elif [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0-9]+ ]]; then 35 | if [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0] ]]; then 36 | # version x.x.0 means the first release of the major version, so strip off the .0 and download version x.x 37 | WP_TESTS_TAG="tags/${WP_VERSION%??}" 38 | else 39 | WP_TESTS_TAG="tags/$WP_VERSION" 40 | fi 41 | elif [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then 42 | WP_TESTS_TAG="trunk" 43 | else 44 | # http serves a single offer, whereas https serves multiple. we only want one 45 | download http://api.wordpress.org/core/version-check/1.7/ /tmp/wp-latest.json 46 | grep '[0-9]+\.[0-9]+(\.[0-9]+)?' /tmp/wp-latest.json 47 | LATEST_VERSION=$(grep -o '"version":"[^"]*' /tmp/wp-latest.json | sed 's/"version":"//') 48 | if [[ -z "$LATEST_VERSION" ]]; then 49 | echo "Latest WordPress version could not be found" 50 | exit 1 51 | fi 52 | WP_TESTS_TAG="tags/$LATEST_VERSION" 53 | fi 54 | set -ex 55 | 56 | install_wp() { 57 | 58 | if [ -d $WP_CORE_DIR ]; then 59 | return; 60 | fi 61 | 62 | mkdir -p $WP_CORE_DIR 63 | 64 | if [[ $WP_VERSION == 'nightly' || $WP_VERSION == 'trunk' ]]; then 65 | mkdir -p $TMPDIR/wordpress-trunk 66 | rm -rf $TMPDIR/wordpress-trunk/* 67 | svn export --quiet https://core.svn.wordpress.org/trunk $TMPDIR/wordpress-trunk/wordpress 68 | mv $TMPDIR/wordpress-trunk/wordpress/* $WP_CORE_DIR 69 | else 70 | if [ $WP_VERSION == 'latest' ]; then 71 | local ARCHIVE_NAME='latest' 72 | elif [[ $WP_VERSION =~ [0-9]+\.[0-9]+ ]]; then 73 | # https serves multiple offers, whereas http serves single. 74 | download https://api.wordpress.org/core/version-check/1.7/ $TMPDIR/wp-latest.json 75 | if [[ $WP_VERSION =~ [0-9]+\.[0-9]+\.[0] ]]; then 76 | # version x.x.0 means the first release of the major version, so strip off the .0 and download version x.x 77 | LATEST_VERSION=${WP_VERSION%??} 78 | else 79 | # otherwise, scan the releases and get the most up to date minor version of the major release 80 | local VERSION_ESCAPED=`echo $WP_VERSION | sed 's/\./\\\\./g'` 81 | LATEST_VERSION=$(grep -o '"version":"'$VERSION_ESCAPED'[^"]*' $TMPDIR/wp-latest.json | sed 's/"version":"//' | head -1) 82 | fi 83 | if [[ -z "$LATEST_VERSION" ]]; then 84 | local ARCHIVE_NAME="wordpress-$WP_VERSION" 85 | else 86 | local ARCHIVE_NAME="wordpress-$LATEST_VERSION" 87 | fi 88 | else 89 | local ARCHIVE_NAME="wordpress-$WP_VERSION" 90 | fi 91 | download https://wordpress.org/${ARCHIVE_NAME}.tar.gz $TMPDIR/wordpress.tar.gz 92 | tar --strip-components=1 -zxmf $TMPDIR/wordpress.tar.gz -C $WP_CORE_DIR 93 | fi 94 | 95 | download https://raw.github.com/markoheijnen/wp-mysqli/master/db.php $WP_CORE_DIR/wp-content/db.php 96 | } 97 | 98 | install_test_suite() { 99 | # portable in-place argument for both GNU sed and Mac OSX sed 100 | if [[ $(uname -s) == 'Darwin' ]]; then 101 | local ioption='-i.bak' 102 | else 103 | local ioption='-i' 104 | fi 105 | 106 | # set up testing suite if it doesn't yet exist 107 | if [ ! -d $WP_TESTS_DIR ]; then 108 | # set up testing suite 109 | mkdir -p $WP_TESTS_DIR 110 | rm -rf $WP_TESTS_DIR/{includes,data} 111 | svn export --quiet --ignore-externals https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/includes/ $WP_TESTS_DIR/includes 112 | svn export --quiet --ignore-externals https://develop.svn.wordpress.org/${WP_TESTS_TAG}/tests/phpunit/data/ $WP_TESTS_DIR/data 113 | fi 114 | 115 | if [ ! -f wp-tests-config.php ]; then 116 | download https://develop.svn.wordpress.org/${WP_TESTS_TAG}/wp-tests-config-sample.php "$WP_TESTS_DIR"/wp-tests-config.php 117 | # remove all forward slashes in the end 118 | WP_CORE_DIR=$(echo $WP_CORE_DIR | sed "s:/\+$::") 119 | sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR/':" "$WP_TESTS_DIR"/wp-tests-config.php 120 | sed $ioption "s:__DIR__ . '/src/':'$WP_CORE_DIR/':" "$WP_TESTS_DIR"/wp-tests-config.php 121 | sed $ioption "s/youremptytestdbnamehere/$DB_NAME/" "$WP_TESTS_DIR"/wp-tests-config.php 122 | sed $ioption "s/yourusernamehere/$DB_USER/" "$WP_TESTS_DIR"/wp-tests-config.php 123 | sed $ioption "s/yourpasswordhere/$DB_PASS/" "$WP_TESTS_DIR"/wp-tests-config.php 124 | sed $ioption "s|localhost|${DB_HOST}|" "$WP_TESTS_DIR"/wp-tests-config.php 125 | fi 126 | 127 | } 128 | 129 | recreate_db() { 130 | shopt -s nocasematch 131 | if [[ $1 =~ ^(y|yes)$ ]] 132 | then 133 | mysqladmin drop $DB_NAME -f --user="$DB_USER" --password="$DB_PASS"$EXTRA 134 | create_db 135 | echo "Recreated the database ($DB_NAME)." 136 | else 137 | echo "Leaving the existing database ($DB_NAME) in place." 138 | fi 139 | shopt -u nocasematch 140 | } 141 | 142 | create_db() { 143 | mysqladmin create $DB_NAME --user="$DB_USER" --password="$DB_PASS"$EXTRA 144 | } 145 | 146 | install_db() { 147 | 148 | if [ ${SKIP_DB_CREATE} = "true" ]; then 149 | return 0 150 | fi 151 | 152 | # parse DB_HOST for port or socket references 153 | local PARTS=(${DB_HOST//\:/ }) 154 | local DB_HOSTNAME=${PARTS[0]}; 155 | local DB_SOCK_OR_PORT=${PARTS[1]}; 156 | local EXTRA="" 157 | 158 | if ! [ -z $DB_HOSTNAME ] ; then 159 | if [ $(echo $DB_SOCK_OR_PORT | grep -e '^[0-9]\{1,\}$') ]; then 160 | EXTRA=" --host=$DB_HOSTNAME --port=$DB_SOCK_OR_PORT --protocol=tcp" 161 | elif ! [ -z $DB_SOCK_OR_PORT ] ; then 162 | EXTRA=" --socket=$DB_SOCK_OR_PORT" 163 | elif ! [ -z $DB_HOSTNAME ] ; then 164 | EXTRA=" --host=$DB_HOSTNAME --protocol=tcp" 165 | fi 166 | fi 167 | 168 | # create database 169 | if [ $(mysql --user="$DB_USER" --password="$DB_PASS"$EXTRA --execute='show databases;' | grep ^$DB_NAME$) ] 170 | then 171 | echo "Reinstalling will delete the existing test database ($DB_NAME)" 172 | read -p 'Are you sure you want to proceed? [y/N]: ' DELETE_EXISTING_DB 173 | recreate_db $DELETE_EXISTING_DB 174 | else 175 | create_db 176 | fi 177 | } 178 | 179 | install_wp 180 | install_test_suite 181 | install_db 182 | 183 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "automattic/wp-frontend-uploader", 3 | "description": "Allow your visitors to upload content and moderate it", 4 | "homepage": "https://github.com/Automattic/wp-frontend-uploader/", 5 | "type": "wordpress-plugin", 6 | "license": "GPL-2.0+", 7 | "authors": [ 8 | { 9 | "name": "Rinat Khaziev" 10 | }, 11 | { 12 | "name": "Daniel Bachhuber" 13 | } 14 | ], 15 | "support": { 16 | "issues": "https://github.com/Automattic/wp-frontend-uploader/issues", 17 | "source": "https://github.com/Automattic/wp-frontend-uploader" 18 | }, 19 | "require": { 20 | "composer/installers": "~1.0", 21 | "php": ">=5.6" 22 | }, 23 | "require-dev": { 24 | "automattic/vipwpcs": "^2.2", 25 | "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7", 26 | "php-parallel-lint/php-parallel-lint": "^1.0", 27 | "phpcompatibility/phpcompatibility-wp": "^2.1", 28 | "phpunit/phpunit": "^4 || ^5 || ^6 || ^7", 29 | "squizlabs/php_codesniffer": "^3.5", 30 | "wp-coding-standards/wpcs": "^2.3.0", 31 | "yoast/phpunit-polyfills": "^0.2.0" 32 | }, 33 | "scripts": { 34 | "cs": [ 35 | "@php ./vendor/bin/phpcs -p -s -v -n . --standard=\"WordPress-VIP-Go\" --extensions=php --ignore=\"/vendor/*,/node_modules/*,/tests/*\"" 36 | ], 37 | "cbf": [ 38 | "@php ./vendor/bin/phpcbf -p -s -v -n . --standard=\"WordPress-VIP-Go\" --extensions=php --ignore=\"/vendor/*,/node_modules/*,/tests/*\"" 39 | ], 40 | "lint": [ 41 | "@php ./vendor/php-parallel-lint/php-parallel-lint/parallel-lint . -e php --exclude vendor --exclude .git" 42 | ], 43 | "lint-ci": [ 44 | "@php ./vendor/php-parallel-lint/php-parallel-lint/parallel-lint . -e php --exclude vendor --exclude .git --checkstyle" 45 | ], 46 | "prepare": [ 47 | "bash bin/install-wp-tests.sh wordpress_test root root localhost" 48 | ], 49 | "integration": [ 50 | "@php ./vendor/bin/phpunit --testsuite WP_Tests" 51 | ], 52 | "integration-ms": [ 53 | "@putenv WP_MULTISITE=1", 54 | "@composer integration" 55 | ] 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /languages/frontend-uploader-de_DE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Automattic/wp-frontend-uploader/655c0e8812c1d2be263237fb2a3f8e56dfcece55/languages/frontend-uploader-de_DE.mo -------------------------------------------------------------------------------- /languages/frontend-uploader-de_DE.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: Frontend Uploader v0.5.8.1\n" 4 | "Report-Msgid-Bugs-To: http://wordpress.org/tag/frontend-uploader\n" 5 | "POT-Creation-Date: 2013-02-18 01:35:10+00:00\n" 6 | "PO-Revision-Date: 2013-08-20 02:08:40+0000\n" 7 | "Last-Translator: Serg \n" 8 | "Language-Team: Serg \n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 13 | "X-Generator: CSL v1.x\n" 14 | "X-Poedit-Language: \n" 15 | "X-Poedit-Country: \n" 16 | "X-Poedit-SourceCharset: UTF-8\n" 17 | "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" 18 | "X-Poedit-Basepath: ../\n" 19 | "X-Poedit-Bookmarks: \n" 20 | "X-Poedit-SearchPath-0: .\n" 21 | "X-Textdomain-Support: yes" 22 | 23 | #: frontend-uploader.php:391 24 | #@ frontend-uploader 25 | msgid "New content was uploaded on your site" 26 | msgstr "Neue Inhalte wurden auf Ihre Webseite hochgeladen!" 27 | 28 | #: frontend-uploader.php:490 29 | #: frontend-uploader.php:493 30 | #: frontend-uploader.php:497 31 | #: lib/views/manage-ugc-media.tpl.php:2 32 | #@ frontend-uploader 33 | msgid "Manage UGC" 34 | msgstr "UGC Verwaltung" 35 | 36 | #: lib/views/manage-ugc-media.tpl.php:5 37 | #@ frontend-uploader 38 | msgid "You do not have permission to upload files." 39 | msgstr "Sie haben keine Berechtigung um Dateien hochzuladen." 40 | 41 | #: lib/views/manage-ugc-media.tpl.php:14 42 | #: lib/views/manage-ugc-posts.tpl.php:15 43 | #@ default 44 | msgctxt "file" 45 | msgid "Add New" 46 | msgstr "Neue Datei hinzufügen" 47 | 48 | #: lib/views/manage-ugc-media.tpl.php:16 49 | #: lib/views/manage-ugc-posts.tpl.php:17 50 | #, php-format 51 | #@ frontend-uploader 52 | msgid "Search results for “%s”" 53 | msgstr "Suchergebnis für “%s”" 54 | 55 | #: lib/views/manage-ugc-media.tpl.php:22 56 | #: lib/views/manage-ugc-media.tpl.php:52 57 | #@ frontend-uploader 58 | msgid "Media attachment updated." 59 | msgstr "Media-Anhang aktuallisiert." 60 | 61 | #: lib/views/manage-ugc-media.tpl.php:28 62 | #: lib/views/manage-ugc-posts.tpl.php:29 63 | #, php-format 64 | #@ default 65 | msgid "Reattached %d attachment." 66 | msgid_plural "Reattached %d attachments." 67 | msgstr[0] "Anhang %d neu angehängt." 68 | msgstr[1] "Anhänge %d neu angehängt." 69 | 70 | #: lib/views/manage-ugc-media.tpl.php:33 71 | #, php-format 72 | #@ default 73 | msgid "Media attachment permanently deleted." 74 | msgid_plural "%d media attachments permanently deleted." 75 | msgstr[0] "Media-Anhang permanent gelöscht." 76 | msgstr[1] "%d Media-Anhänge permanent gelöscht." 77 | 78 | #: lib/views/manage-ugc-media.tpl.php:38 79 | #, php-format 80 | #@ default 81 | msgid "Media attachment moved to the trash." 82 | msgid_plural "%d media attachments moved to the trash." 83 | msgstr[0] "Media-Anhang in den Papierkorb verschoben." 84 | msgstr[1] "%d Media-Anhänge in den Papierkorb verschoben." 85 | 86 | #: lib/views/manage-ugc-media.tpl.php:39 87 | #: lib/views/manage-ugc-media.tpl.php:55 88 | #: lib/views/manage-ugc-posts.tpl.php:40 89 | #: lib/views/manage-ugc-posts.tpl.php:56 90 | #@ frontend-uploader 91 | msgid "Undo" 92 | msgstr "Rückgängig" 93 | 94 | #: lib/views/manage-ugc-media.tpl.php:44 95 | #, php-format 96 | #@ default 97 | msgid "Media attachment restored from the trash." 98 | msgid_plural "%d media attachments restored from the trash." 99 | msgstr[0] "Media-Anhang aus dem Papierkorb wiederhergestellt." 100 | msgstr[1] "%d Media-Anhänge aus dem Papierkorb wiederhergestellt." 101 | 102 | #: lib/views/manage-ugc-media.tpl.php:53 103 | #: lib/views/manage-ugc-posts.tpl.php:54 104 | #@ frontend-uploader 105 | msgid "Media permanently deleted." 106 | msgstr "Media permanent gelöscht" 107 | 108 | #: lib/views/manage-ugc-media.tpl.php:54 109 | #@ frontend-uploader 110 | msgid "Error saving media attachment." 111 | msgstr "Fehler beim Speichern des Media-Anhangs." 112 | 113 | #: lib/views/manage-ugc-media.tpl.php:55 114 | #: lib/views/manage-ugc-posts.tpl.php:56 115 | #@ frontend-uploader 116 | msgid "Media moved to the trash." 117 | msgstr "Media in Papierkorb verschoben." 118 | 119 | #: lib/views/manage-ugc-media.tpl.php:56 120 | #: lib/views/manage-ugc-posts.tpl.php:57 121 | #@ frontend-uploader 122 | msgid "Media restored from the trash." 123 | msgstr "Media aus Papierkorb wiederhergestellt." 124 | 125 | #: lib/views/manage-ugc-media.tpl.php:71 126 | #@ frontend-uploader 127 | msgid "Search Media" 128 | msgstr "Media suchen" 129 | 130 | #: frontend-uploader.php:493 131 | #: frontend-uploader.php:497 132 | #: lib/views/manage-ugc-posts.tpl.php:2 133 | #@ frontend-uploader 134 | msgid "Manage UGC Posts" 135 | msgstr "UGC-Beiträge verwalten" 136 | 137 | #: lib/views/manage-ugc-posts.tpl.php:5 138 | #@ frontend-uploader 139 | msgid "You do not have permission to publish posts." 140 | msgstr "Sie haben keine Berechtigung um Beiträge zu veröffentlichen." 141 | 142 | #: lib/views/manage-ugc-posts.tpl.php:72 143 | #@ frontend-uploader 144 | msgid "Search Posts" 145 | msgstr "Beitrag suchen" 146 | 147 | #: frontend-uploader.php:766 148 | #@ frontend-uploader 149 | msgid "Description" 150 | msgstr "Beschreibung" 151 | 152 | #: frontend-uploader.php:768 153 | #@ frontend-uploader 154 | msgid "Submit" 155 | msgstr "Einreichen" 156 | 157 | #: frontend-uploader.php:779 158 | #@ frontend-uploader 159 | msgid "Title" 160 | msgstr "Titel" 161 | 162 | #: frontend-uploader.php:827 163 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:116 164 | #@ frontend-uploader 165 | msgid "Author" 166 | msgstr "Author" 167 | 168 | #: frontend-uploader.php:896 169 | #@ frontend-uploader 170 | msgid "Your file was successfully uploaded!" 171 | msgstr "Datei wurde erfolgreich hochgeladen!" 172 | 173 | #: frontend-uploader.php:932 174 | #@ frontend-uploader 175 | msgid "This kind of file is not allowed. Please, try again selecting other file." 176 | msgstr "Dateityp ist nicht zugelassen. Bitte wählen Sie eine andere Datei!" 177 | 178 | #: frontend-uploader.php:936 179 | #@ frontend-uploader 180 | msgid "The content you are trying to post is invalid." 181 | msgstr "Der eingereichte Inhalt ist nicht gültig!" 182 | 183 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:60 184 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:85 185 | #, php-format 186 | #@ default 187 | msgctxt "uploaded files" 188 | msgid "All (%s)" 189 | msgid_plural "All (%s)" 190 | msgstr[0] "Tous (%s)" 191 | msgstr[1] "Alle (%s)" 192 | 193 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:72 194 | #, php-format 195 | #@ default 196 | msgctxt "detached files" 197 | msgid "Unattached (%s)" 198 | msgid_plural "Unattached (%s)" 199 | msgstr[0] "Non attaché (%s)" 200 | msgstr[1] "Nicht verknüpft (%s)" 201 | 202 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:75 203 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:99 204 | #, php-format 205 | #@ default 206 | msgctxt "uploaded files" 207 | msgid "Trash (%s)" 208 | msgid_plural "Trash (%s)" 209 | msgstr[0] "Corbeille (%s)" 210 | msgstr[1] "Papierkorb (%s)" 211 | 212 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:82 213 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:303 214 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:319 215 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:325 216 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:30 217 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:108 218 | #@ frontend-uploader 219 | msgid "Delete Permanently" 220 | msgstr "Permanent löschen" 221 | 222 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:84 223 | #@ frontend-uploader 224 | msgid "Attach to a post" 225 | msgstr "An einen Beitrag heften" 226 | 227 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:107 228 | #@ frontend-uploader 229 | msgid "No media attachments found." 230 | msgstr "Keine Media-Anhänge gefunden." 231 | 232 | #. translators: column name 233 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:115 234 | #@ default 235 | msgctxt "column name" 236 | msgid "File" 237 | msgstr "Datei" 238 | 239 | #. translators: column name 240 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:119 241 | #@ default 242 | msgctxt "column name" 243 | msgid "Attached to" 244 | msgstr "Angehängt an" 245 | 246 | #. translators: column name 247 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:122 248 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:128 249 | #@ default 250 | msgctxt "column name" 251 | msgid "Date" 252 | msgstr "Datum" 253 | 254 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:171 255 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:184 256 | #, php-format 257 | #@ frontend-uploader 258 | msgid "Edit \"%s\"" 259 | msgstr "\"%s\" bearbeiten" 260 | 261 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:216 262 | #@ frontend-uploader 263 | msgid "No Tags" 264 | msgstr "Keine Tags" 265 | 266 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:231 267 | #@ frontend-uploader 268 | msgid "Unpublished" 269 | msgstr "Unveröffentlicht" 270 | 271 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:233 272 | #@ frontend-uploader 273 | msgid "Y/m/d g:i:s A" 274 | msgstr "d.m.Y H:i:s" 275 | 276 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:238 277 | #, php-format 278 | #@ frontend-uploader 279 | msgid "%s from now" 280 | msgstr "%s ab jetzt" 281 | 282 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:240 283 | #, php-format 284 | #@ frontend-uploader 285 | msgid "%s ago" 286 | msgstr "vor %s" 287 | 288 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:242 289 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:258 290 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:365 291 | #@ frontend-uploader 292 | msgid "Y/m/d" 293 | msgstr "d.m.Y" 294 | 295 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:263 296 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:372 297 | #@ frontend-uploader 298 | msgid "(Unattached)" 299 | msgstr "(Nicht-verknüpft)" 300 | 301 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:296 302 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:311 303 | #@ frontend-uploader 304 | msgid "Edit" 305 | msgstr "Bearbeiten" 306 | 307 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:299 308 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:316 309 | #@ frontend-uploader 310 | msgid "Trash" 311 | msgstr "Papierkorb" 312 | 313 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:305 314 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:330 315 | #, php-format 316 | #@ frontend-uploader 317 | msgid "View \"%s\"" 318 | msgstr "\"%s\" betrachten" 319 | 320 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:305 321 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:330 322 | #@ frontend-uploader 323 | msgid "View" 324 | msgstr "Betrachetn" 325 | 326 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:307 327 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:373 328 | #@ frontend-uploader 329 | msgid "Attach" 330 | msgstr "Anhängen" 331 | 332 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:314 333 | #@ frontend-uploader 334 | msgid "Restore" 335 | msgstr "Wiederherstellen" 336 | 337 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:324 338 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:29 339 | #@ frontend-uploader 340 | msgid "Approve" 341 | msgstr "Genehmigen" 342 | 343 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:367 344 | #@ frontend-uploader 345 | msgid "Re-Attach" 346 | msgstr "Neuverknüpfen" 347 | 348 | #: lib/php/frontend-uploader-settings.php:47 349 | #@ frontend-uploader 350 | msgid "Frontend Uploader Settings" 351 | msgstr "Frontend Uploader - Einstellungen" 352 | 353 | #: lib/php/frontend-uploader-settings.php:54 354 | #@ frontend-uploader 355 | msgid "Basic Settings" 356 | msgstr "Grundeinstellungen" 357 | 358 | #: lib/php/frontend-uploader-settings.php:71 359 | #@ frontend-uploader 360 | msgid "Notify site admins" 361 | msgstr "Administratoren benachrichtigen" 362 | 363 | #: lib/php/frontend-uploader-settings.php:72 364 | #: lib/php/frontend-uploader-settings.php:102 365 | #: lib/php/frontend-uploader-settings.php:117 366 | #: lib/php/frontend-uploader-settings.php:132 367 | #: lib/php/frontend-uploader-settings.php:139 368 | #: lib/php/frontend-uploader-settings.php:146 369 | #@ frontend-uploader 370 | msgid "Yes" 371 | msgstr "Ja" 372 | 373 | #: lib/php/frontend-uploader-settings.php:78 374 | #@ frontend-uploader 375 | msgid "Admin Notification" 376 | msgstr "Administrator Benachrichtigung" 377 | 378 | #: lib/php/frontend-uploader-settings.php:79 379 | #@ frontend-uploader 380 | msgid "Message that admin will get on new file upload" 381 | msgstr "Nachricht an Administrator wenn eine neue Datei hochgeladen wird " 382 | 383 | #: lib/php/frontend-uploader-settings.php:86 384 | #@ frontend-uploader 385 | msgid "Notification email" 386 | msgstr "Benachrichtigungstext" 387 | 388 | #: lib/php/frontend-uploader-settings.php:87 389 | #@ frontend-uploader 390 | msgid "Leave blank to use site admin email" 391 | msgstr "Leer lassen, um Mailadresse des Seiten-Administrator zu nutzen" 392 | 393 | #: lib/php/frontend-uploader-settings.php:94 394 | #@ frontend-uploader 395 | msgid "Allowed categories" 396 | msgstr "Erlaubte Kategorien" 397 | 398 | #: lib/php/frontend-uploader-settings.php:95 399 | #@ frontend-uploader 400 | msgid "Comma separated IDs (leave blank for all)" 401 | msgstr "Komma separierte IDs (für alle leer lassen)" 402 | 403 | #: lib/php/frontend-uploader-settings.php:101 404 | #@ frontend-uploader 405 | msgid "Show author field" 406 | msgstr "Feld für Author anzeigen" 407 | 408 | #: frontend-uploader.php:263 409 | #: frontend-uploader.php:264 410 | #@ frontend-uploader 411 | msgid "Unnamed" 412 | msgstr "Unbenannt" 413 | 414 | #: frontend-uploader.php:736 415 | #@ frontend-uploader 416 | msgid "Submit a new post" 417 | msgstr "Einen Eintrag einreichen" 418 | 419 | #: frontend-uploader.php:749 420 | #@ frontend-uploader 421 | msgid "Submit a media file" 422 | msgstr "Eine Datei einreichen" 423 | 424 | #: frontend-uploader.php:904 425 | #@ frontend-uploader 426 | msgid "There was an error with your submission" 427 | msgstr "Beim Einreichen ist ein Fehler aufgetreten" 428 | 429 | #: frontend-uploader.php:929 430 | #@ frontend-uploader 431 | msgid "Security check failed!" 432 | msgstr "Sicherheitsprüfung fehlgeschlagen!" 433 | 434 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:124 435 | #@ default 436 | msgctxt "column name" 437 | msgid "Title" 438 | msgstr "Titel" 439 | 440 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:126 441 | #@ default 442 | msgctxt "column name" 443 | msgid "Categories" 444 | msgstr "Kategorien" 445 | 446 | #: lib/php/frontend-uploader-settings.php:108 447 | #@ frontend-uploader 448 | msgid "Enable Frontend Uploader for the following post types" 449 | msgstr "Folgende Beitragsarten im Frontend Uploader aktivieren" 450 | 451 | #: lib/php/frontend-uploader-settings.php:123 452 | #@ frontend-uploader 453 | msgid "Allow following files to be uploaded" 454 | msgstr "Folgende Dateien für das Hochladen erlauben" 455 | 456 | #: lib/php/frontend-uploader-settings.php:131 457 | #@ frontend-uploader 458 | msgid "Auto-approve registered users files" 459 | msgstr "Dateien registrierter Benutzer automatisch genehmigen" 460 | 461 | #: lib/php/frontend-uploader-settings.php:138 462 | #@ frontend-uploader 463 | msgid "Auto-approve any files" 464 | msgstr "Alle Dateien automatisch genehmigen" 465 | 466 | #: frontend-uploader.php:939 467 | #@ frontend-uploader 468 | msgid "Couldn't upload the file" 469 | msgstr "" 470 | 471 | #: frontend-uploader.php:942 472 | #@ frontend-uploader 473 | msgid "Couldn't create the post" 474 | msgstr "" 475 | 476 | #: lib/php/frontend-uploader-settings.php:116 477 | #@ frontend-uploader 478 | msgid "Enable visual editor for textareas" 479 | msgstr "" 480 | 481 | #: frontend-uploader.php:172 482 | #@ frontend-uploader 483 | msgid "Frontend Uploader requires WordPress 3.3 or newer. Please upgrade." 484 | msgstr "" 485 | 486 | #: frontend-uploader.php:767 487 | #@ frontend-uploader 488 | msgid "Your Media Files" 489 | msgstr "" 490 | 491 | #: frontend-uploader.php:798 492 | #@ frontend-uploader 493 | msgid "Post content or file description" 494 | msgstr "" 495 | 496 | #: frontend-uploader.php:818 497 | #@ frontend-uploader 498 | msgid "Post content" 499 | msgstr "" 500 | 501 | #: frontend-uploader.php:900 502 | #@ frontend-uploader 503 | msgid "Your post was successfully uploaded!" 504 | msgstr "" 505 | 506 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:117 507 | #@ frontend-uploader 508 | msgid "No posts found." 509 | msgstr "" 510 | 511 | #: lib/php/frontend-uploader-settings.php:145 512 | #@ frontend-uploader 513 | msgid "Suppress default fields" 514 | msgstr "" 515 | 516 | #: lib/views/manage-ugc-posts.tpl.php:23 517 | #: lib/views/manage-ugc-posts.tpl.php:53 518 | #@ frontend-uploader 519 | msgid "Post updated." 520 | msgstr "" 521 | 522 | #: lib/views/manage-ugc-posts.tpl.php:34 523 | #, php-format 524 | #@ default 525 | msgid "Post permanently deleted." 526 | msgid_plural "%d Posts permanently deleted." 527 | msgstr[0] "" 528 | msgstr[1] "" 529 | 530 | #: lib/views/manage-ugc-posts.tpl.php:39 531 | #, php-format 532 | #@ default 533 | msgid "Post moved to the trash." 534 | msgid_plural "%d Posts moved to the trash." 535 | msgstr[0] "" 536 | msgstr[1] "" 537 | 538 | #: lib/views/manage-ugc-posts.tpl.php:45 539 | #, php-format 540 | #@ default 541 | msgid "Post restored from the trash." 542 | msgid_plural "%d Posts restored from the trash." 543 | msgstr[0] "" 544 | msgstr[1] "" 545 | 546 | #: lib/views/manage-ugc-posts.tpl.php:55 547 | #@ frontend-uploader 548 | msgid "Error saving Post." 549 | msgstr "" 550 | 551 | -------------------------------------------------------------------------------- /languages/frontend-uploader-es_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Automattic/wp-frontend-uploader/655c0e8812c1d2be263237fb2a3f8e56dfcece55/languages/frontend-uploader-es_ES.mo -------------------------------------------------------------------------------- /languages/frontend-uploader-es_ES.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: Frontend Uploader v0.5.8.1\n" 4 | "Report-Msgid-Bugs-To: \n" 5 | "POT-Creation-Date: \n" 6 | "PO-Revision-Date: 2013-08-20 02:08:46+0000\n" 7 | "Last-Translator: admin \n" 8 | "Language-Team: \n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 13 | "X-Generator: CSL v1.x\n" 14 | "X-Poedit-Language: Spanish\n" 15 | "X-Poedit-Country: SPAIN\n" 16 | "X-Poedit-SourceCharset: utf-8\n" 17 | "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" 18 | "X-Poedit-Basepath: ../\n" 19 | "X-Poedit-Bookmarks: \n" 20 | "X-Poedit-SearchPath-0: .\n" 21 | "X-Textdomain-Support: yes" 22 | 23 | #: frontend-uploader.php:490 24 | #: frontend-uploader.php:493 25 | #: frontend-uploader.php:497 26 | #: lib/views/manage-ugc-media.tpl.php:2 27 | #@ frontend-uploader 28 | msgid "Manage UGC" 29 | msgstr "Gestionar UGC" 30 | 31 | #: lib/views/manage-ugc-media.tpl.php:5 32 | #@ frontend-uploader 33 | msgid "You do not have permission to upload files." 34 | msgstr "Usted no tiene permiso para subir archivos." 35 | 36 | #: lib/views/manage-ugc-media.tpl.php:14 37 | #: lib/views/manage-ugc-posts.tpl.php:15 38 | #@ default 39 | msgctxt "file" 40 | msgid "Add New" 41 | msgstr "" 42 | 43 | #: lib/views/manage-ugc-media.tpl.php:16 44 | #: lib/views/manage-ugc-posts.tpl.php:17 45 | #, php-format 46 | #@ frontend-uploader 47 | msgid "Search results for “%s”" 48 | msgstr "Resultados de la búsqueda para “%s”" 49 | 50 | #: lib/views/manage-ugc-media.tpl.php:22 51 | #: lib/views/manage-ugc-media.tpl.php:52 52 | #@ frontend-uploader 53 | msgid "Media attachment updated." 54 | msgstr "Archivo adjunto actualizado" 55 | 56 | #: lib/views/manage-ugc-media.tpl.php:28 57 | #: lib/views/manage-ugc-posts.tpl.php:29 58 | #, php-format 59 | #@ default 60 | msgid "Reattached %d attachment." 61 | msgid_plural "Reattached %d attachments." 62 | msgstr[0] "" 63 | msgstr[1] "" 64 | 65 | #: lib/views/manage-ugc-media.tpl.php:33 66 | #, php-format 67 | #@ default 68 | msgid "Media attachment permanently deleted." 69 | msgid_plural "%d media attachments permanently deleted." 70 | msgstr[0] "" 71 | msgstr[1] "" 72 | 73 | #: lib/views/manage-ugc-media.tpl.php:38 74 | #, php-format 75 | #@ default 76 | msgid "Media attachment moved to the trash." 77 | msgid_plural "%d media attachments moved to the trash." 78 | msgstr[0] "" 79 | msgstr[1] "" 80 | 81 | #: lib/views/manage-ugc-media.tpl.php:39 82 | #: lib/views/manage-ugc-media.tpl.php:55 83 | #: lib/views/manage-ugc-posts.tpl.php:40 84 | #: lib/views/manage-ugc-posts.tpl.php:56 85 | #@ frontend-uploader 86 | msgid "Undo" 87 | msgstr "Deshacer" 88 | 89 | #: lib/views/manage-ugc-media.tpl.php:44 90 | #, php-format 91 | #@ default 92 | msgid "Media attachment restored from the trash." 93 | msgid_plural "%d media attachments restored from the trash." 94 | msgstr[0] "" 95 | msgstr[1] "" 96 | 97 | #: lib/views/manage-ugc-media.tpl.php:53 98 | #: lib/views/manage-ugc-posts.tpl.php:54 99 | #@ frontend-uploader 100 | msgid "Media permanently deleted." 101 | msgstr "Media permanentemente borrado." 102 | 103 | #: lib/views/manage-ugc-media.tpl.php:54 104 | #@ frontend-uploader 105 | msgid "Error saving media attachment." 106 | msgstr "Error gaurdando media adjunto." 107 | 108 | #: lib/views/manage-ugc-media.tpl.php:55 109 | #: lib/views/manage-ugc-posts.tpl.php:56 110 | #@ frontend-uploader 111 | msgid "Media moved to the trash." 112 | msgstr "Media movido a papelera." 113 | 114 | #: lib/views/manage-ugc-media.tpl.php:56 115 | #: lib/views/manage-ugc-posts.tpl.php:57 116 | #@ frontend-uploader 117 | msgid "Media restored from the trash." 118 | msgstr "Media restaurado de la papelera." 119 | 120 | #: lib/views/manage-ugc-media.tpl.php:71 121 | #@ frontend-uploader 122 | msgid "Search Media" 123 | msgstr "Buscar Media" 124 | 125 | #: frontend-uploader.php:896 126 | #@ frontend-uploader 127 | msgid "Your file was successfully uploaded!" 128 | msgstr "Su archivo fue subido satisfactoriamente!" 129 | 130 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:60 131 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:85 132 | #, php-format 133 | #@ default 134 | msgctxt "uploaded files" 135 | msgid "All (%s)" 136 | msgid_plural "All (%s)" 137 | msgstr[0] "" 138 | msgstr[1] "" 139 | 140 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:72 141 | #, php-format 142 | #@ default 143 | msgctxt "detached files" 144 | msgid "Unattached (%s)" 145 | msgid_plural "Unattached (%s)" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:75 150 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:99 151 | #, php-format 152 | #@ default 153 | msgctxt "uploaded files" 154 | msgid "Trash (%s)" 155 | msgid_plural "Trash (%s)" 156 | msgstr[0] "" 157 | msgstr[1] "" 158 | 159 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:82 160 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:303 161 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:319 162 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:325 163 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:30 164 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:108 165 | #@ frontend-uploader 166 | msgid "Delete Permanently" 167 | msgstr "Borrar" 168 | 169 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:84 170 | #@ frontend-uploader 171 | msgid "Attach to a post" 172 | msgstr "Agregar a entrada" 173 | 174 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:107 175 | #@ frontend-uploader 176 | msgid "No media attachments found." 177 | msgstr "No hay archivos adjuntos multimedia encontrado." 178 | 179 | #. translators: column name 180 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:115 181 | #@ default 182 | msgctxt "column name" 183 | msgid "File" 184 | msgstr "" 185 | 186 | #: frontend-uploader.php:827 187 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:116 188 | #@ frontend-uploader 189 | msgid "Author" 190 | msgstr "Autor" 191 | 192 | #. translators: column name 193 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:119 194 | #@ default 195 | msgctxt "column name" 196 | msgid "Attached to" 197 | msgstr "" 198 | 199 | #. translators: column name 200 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:122 201 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:128 202 | #@ default 203 | msgctxt "column name" 204 | msgid "Date" 205 | msgstr "" 206 | 207 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:216 208 | #@ frontend-uploader 209 | msgid "No Tags" 210 | msgstr "Sin Etiquetas" 211 | 212 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:231 213 | #@ frontend-uploader 214 | msgid "Unpublished" 215 | msgstr "No publicado" 216 | 217 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:233 218 | #@ frontend-uploader 219 | msgid "Y/m/d g:i:s A" 220 | msgstr "Y/m/d g:i:s A" 221 | 222 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:238 223 | #, php-format 224 | #@ frontend-uploader 225 | msgid "%s from now" 226 | msgstr "%s a partir de ahora" 227 | 228 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:240 229 | #, php-format 230 | #@ frontend-uploader 231 | msgid "%s ago" 232 | msgstr "hace %s" 233 | 234 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:242 235 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:258 236 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:365 237 | #@ frontend-uploader 238 | msgid "Y/m/d" 239 | msgstr "Y/m/d" 240 | 241 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:263 242 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:372 243 | #@ frontend-uploader 244 | msgid "(Unattached)" 245 | msgstr "(No adjunto)" 246 | 247 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:307 248 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:373 249 | #@ frontend-uploader 250 | msgid "Attach" 251 | msgstr "Adjuntar" 252 | 253 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:296 254 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:311 255 | #@ frontend-uploader 256 | msgid "Edit" 257 | msgstr "Editar" 258 | 259 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:299 260 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:316 261 | #@ frontend-uploader 262 | msgid "Trash" 263 | msgstr "Papelera" 264 | 265 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:305 266 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:330 267 | #@ frontend-uploader 268 | msgid "View" 269 | msgstr "Ver" 270 | 271 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:314 272 | #@ frontend-uploader 273 | msgid "Restore" 274 | msgstr "Restaurar" 275 | 276 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:367 277 | #@ frontend-uploader 278 | msgid "Re-Attach" 279 | msgstr "Re-Adjuntar" 280 | 281 | #: frontend-uploader.php:768 282 | #@ frontend-uploader 283 | msgid "Submit" 284 | msgstr "Enviar" 285 | 286 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:171 287 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:184 288 | #, php-format 289 | #@ frontend-uploader 290 | msgid "Edit \"%s\"" 291 | msgstr "Editar \"%s\"" 292 | 293 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:305 294 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:330 295 | #, php-format 296 | #@ frontend-uploader 297 | msgid "View \"%s\"" 298 | msgstr "Ver \"%s\"" 299 | 300 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:324 301 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:29 302 | #@ frontend-uploader 303 | msgid "Approve" 304 | msgstr "Aprobar" 305 | 306 | #: frontend-uploader.php:932 307 | #@ frontend-uploader 308 | msgid "This kind of file is not allowed. Please, try again selecting other file." 309 | msgstr "" 310 | 311 | #: lib/php/frontend-uploader-settings.php:47 312 | #@ frontend-uploader 313 | msgid "Frontend Uploader Settings" 314 | msgstr "" 315 | 316 | #: lib/php/frontend-uploader-settings.php:54 317 | #@ frontend-uploader 318 | msgid "Basic Settings" 319 | msgstr "" 320 | 321 | #: lib/php/frontend-uploader-settings.php:71 322 | #@ frontend-uploader 323 | msgid "Notify site admins" 324 | msgstr "" 325 | 326 | #: lib/php/frontend-uploader-settings.php:72 327 | #: lib/php/frontend-uploader-settings.php:102 328 | #: lib/php/frontend-uploader-settings.php:117 329 | #: lib/php/frontend-uploader-settings.php:132 330 | #: lib/php/frontend-uploader-settings.php:139 331 | #: lib/php/frontend-uploader-settings.php:146 332 | #@ frontend-uploader 333 | msgid "Yes" 334 | msgstr "" 335 | 336 | #: lib/php/frontend-uploader-settings.php:78 337 | #@ frontend-uploader 338 | msgid "Admin Notification" 339 | msgstr "" 340 | 341 | #: lib/php/frontend-uploader-settings.php:79 342 | #@ frontend-uploader 343 | msgid "Message that admin will get on new file upload" 344 | msgstr "" 345 | 346 | #: lib/php/frontend-uploader-settings.php:86 347 | #@ frontend-uploader 348 | msgid "Notification email" 349 | msgstr "" 350 | 351 | #: lib/php/frontend-uploader-settings.php:87 352 | #@ frontend-uploader 353 | msgid "Leave blank to use site admin email" 354 | msgstr "" 355 | 356 | #: frontend-uploader.php:391 357 | #@ frontend-uploader 358 | msgid "New content was uploaded on your site" 359 | msgstr "" 360 | 361 | #: frontend-uploader.php:493 362 | #: frontend-uploader.php:497 363 | #: lib/views/manage-ugc-posts.tpl.php:2 364 | #@ frontend-uploader 365 | msgid "Manage UGC Posts" 366 | msgstr "" 367 | 368 | #: lib/views/manage-ugc-posts.tpl.php:5 369 | #@ frontend-uploader 370 | msgid "You do not have permission to publish posts." 371 | msgstr "" 372 | 373 | #: lib/views/manage-ugc-posts.tpl.php:72 374 | #@ frontend-uploader 375 | msgid "Search Posts" 376 | msgstr "" 377 | 378 | #: frontend-uploader.php:766 379 | #@ frontend-uploader 380 | msgid "Description" 381 | msgstr "" 382 | 383 | #: frontend-uploader.php:779 384 | #@ frontend-uploader 385 | msgid "Title" 386 | msgstr "" 387 | 388 | #: frontend-uploader.php:936 389 | #@ frontend-uploader 390 | msgid "The content you are trying to post is invalid." 391 | msgstr "" 392 | 393 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:124 394 | #@ default 395 | msgctxt "column name" 396 | msgid "Title" 397 | msgstr "" 398 | 399 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:126 400 | #@ default 401 | msgctxt "column name" 402 | msgid "Categories" 403 | msgstr "" 404 | 405 | #: lib/php/frontend-uploader-settings.php:94 406 | #@ frontend-uploader 407 | msgid "Allowed categories" 408 | msgstr "" 409 | 410 | #: lib/php/frontend-uploader-settings.php:95 411 | #@ frontend-uploader 412 | msgid "Comma separated IDs (leave blank for all)" 413 | msgstr "" 414 | 415 | #: lib/php/frontend-uploader-settings.php:101 416 | #@ frontend-uploader 417 | msgid "Show author field" 418 | msgstr "" 419 | 420 | #: frontend-uploader.php:263 421 | #: frontend-uploader.php:264 422 | #@ frontend-uploader 423 | msgid "Unnamed" 424 | msgstr "" 425 | 426 | #: frontend-uploader.php:736 427 | #@ frontend-uploader 428 | msgid "Submit a new post" 429 | msgstr "" 430 | 431 | #: frontend-uploader.php:749 432 | #@ frontend-uploader 433 | msgid "Submit a media file" 434 | msgstr "" 435 | 436 | #: frontend-uploader.php:904 437 | #@ frontend-uploader 438 | msgid "There was an error with your submission" 439 | msgstr "" 440 | 441 | #: frontend-uploader.php:929 442 | #@ frontend-uploader 443 | msgid "Security check failed!" 444 | msgstr "" 445 | 446 | #: lib/php/frontend-uploader-settings.php:108 447 | #@ frontend-uploader 448 | msgid "Enable Frontend Uploader for the following post types" 449 | msgstr "" 450 | 451 | #: lib/php/frontend-uploader-settings.php:123 452 | #@ frontend-uploader 453 | msgid "Allow following files to be uploaded" 454 | msgstr "" 455 | 456 | #: lib/php/frontend-uploader-settings.php:131 457 | #@ frontend-uploader 458 | msgid "Auto-approve registered users files" 459 | msgstr "" 460 | 461 | #: lib/php/frontend-uploader-settings.php:138 462 | #@ frontend-uploader 463 | msgid "Auto-approve any files" 464 | msgstr "" 465 | 466 | #: frontend-uploader.php:939 467 | #@ frontend-uploader 468 | msgid "Couldn't upload the file" 469 | msgstr "" 470 | 471 | #: frontend-uploader.php:942 472 | #@ frontend-uploader 473 | msgid "Couldn't create the post" 474 | msgstr "" 475 | 476 | #: lib/php/frontend-uploader-settings.php:116 477 | #@ frontend-uploader 478 | msgid "Enable visual editor for textareas" 479 | msgstr "" 480 | 481 | #: frontend-uploader.php:172 482 | #@ frontend-uploader 483 | msgid "Frontend Uploader requires WordPress 3.3 or newer. Please upgrade." 484 | msgstr "" 485 | 486 | #: frontend-uploader.php:767 487 | #@ frontend-uploader 488 | msgid "Your Media Files" 489 | msgstr "" 490 | 491 | #: frontend-uploader.php:798 492 | #@ frontend-uploader 493 | msgid "Post content or file description" 494 | msgstr "" 495 | 496 | #: frontend-uploader.php:818 497 | #@ frontend-uploader 498 | msgid "Post content" 499 | msgstr "" 500 | 501 | #: frontend-uploader.php:900 502 | #@ frontend-uploader 503 | msgid "Your post was successfully uploaded!" 504 | msgstr "" 505 | 506 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:117 507 | #@ frontend-uploader 508 | msgid "No posts found." 509 | msgstr "" 510 | 511 | #: lib/php/frontend-uploader-settings.php:145 512 | #@ frontend-uploader 513 | msgid "Suppress default fields" 514 | msgstr "" 515 | 516 | #: lib/views/manage-ugc-posts.tpl.php:23 517 | #: lib/views/manage-ugc-posts.tpl.php:53 518 | #@ frontend-uploader 519 | msgid "Post updated." 520 | msgstr "" 521 | 522 | #: lib/views/manage-ugc-posts.tpl.php:34 523 | #, php-format 524 | #@ default 525 | msgid "Post permanently deleted." 526 | msgid_plural "%d Posts permanently deleted." 527 | msgstr[0] "" 528 | msgstr[1] "" 529 | 530 | #: lib/views/manage-ugc-posts.tpl.php:39 531 | #, php-format 532 | #@ default 533 | msgid "Post moved to the trash." 534 | msgid_plural "%d Posts moved to the trash." 535 | msgstr[0] "" 536 | msgstr[1] "" 537 | 538 | #: lib/views/manage-ugc-posts.tpl.php:45 539 | #, php-format 540 | #@ default 541 | msgid "Post restored from the trash." 542 | msgid_plural "%d Posts restored from the trash." 543 | msgstr[0] "" 544 | msgstr[1] "" 545 | 546 | #: lib/views/manage-ugc-posts.tpl.php:55 547 | #@ frontend-uploader 548 | msgid "Error saving Post." 549 | msgstr "" 550 | 551 | -------------------------------------------------------------------------------- /languages/frontend-uploader-fr_CA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Automattic/wp-frontend-uploader/655c0e8812c1d2be263237fb2a3f8e56dfcece55/languages/frontend-uploader-fr_CA.mo -------------------------------------------------------------------------------- /languages/frontend-uploader-fr_CA.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: Frontend Uploader v0.5.8.1\n" 4 | "Report-Msgid-Bugs-To: http://wordpress.org/tag/frontend-uploader\n" 5 | "POT-Creation-Date: 2012-08-30 05:30:59+00:00\n" 6 | "PO-Revision-Date: 2013-08-20 02:08:51+0000\n" 7 | "Last-Translator: \n" 8 | "Language-Team: \n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "Plural-Forms: nplurals=2; plural=n>1;\n" 13 | "X-Generator: CSL v1.x\n" 14 | "X-Poedit-Language: \n" 15 | "X-Poedit-Country: \n" 16 | "X-Poedit-SourceCharset: UTF-8\n" 17 | "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" 18 | "X-Poedit-Basepath: ../\n" 19 | "X-Poedit-Bookmarks: \n" 20 | "X-Poedit-SearchPath-0: .\n" 21 | "X-Textdomain-Support: yes" 22 | 23 | #: frontend-uploader.php:490 24 | #: frontend-uploader.php:493 25 | #: frontend-uploader.php:497 26 | #: lib/views/manage-ugc-media.tpl.php:2 27 | #@ frontend-uploader 28 | msgid "Manage UGC" 29 | msgstr "Organiser les UGC" 30 | 31 | #: lib/views/manage-ugc-media.tpl.php:5 32 | #@ frontend-uploader 33 | msgid "You do not have permission to upload files." 34 | msgstr "Vous n'avez pas les permissions nécessaires pour envoyer des fichiers." 35 | 36 | #: lib/views/manage-ugc-media.tpl.php:14 37 | #: lib/views/manage-ugc-posts.tpl.php:15 38 | #@ default 39 | msgctxt "file" 40 | msgid "Add New" 41 | msgstr "Ajouter" 42 | 43 | #: lib/views/manage-ugc-media.tpl.php:16 44 | #: lib/views/manage-ugc-posts.tpl.php:17 45 | #, php-format 46 | #@ frontend-uploader 47 | msgid "Search results for “%s”" 48 | msgstr "Résultats de recherche pour “%s”" 49 | 50 | #: lib/views/manage-ugc-media.tpl.php:22 51 | #: lib/views/manage-ugc-media.tpl.php:52 52 | #@ frontend-uploader 53 | msgid "Media attachment updated." 54 | msgstr "Fichier média mis à jour." 55 | 56 | #: lib/views/manage-ugc-media.tpl.php:28 57 | #: lib/views/manage-ugc-posts.tpl.php:29 58 | #, php-format 59 | #@ default 60 | msgid "Reattached %d attachment." 61 | msgid_plural "Reattached %d attachments." 62 | msgstr[0] "Rattachement de %d fichiers attaché." 63 | msgstr[1] "Rattachement de %d fichiers attachés." 64 | 65 | #: lib/views/manage-ugc-media.tpl.php:33 66 | #, php-format 67 | #@ default 68 | msgid "Media attachment permanently deleted." 69 | msgid_plural "%d media attachments permanently deleted." 70 | msgstr[0] "Fichier média supprimé définitivement." 71 | msgstr[1] "%d fichiers média supprimés définitivement." 72 | 73 | #: lib/views/manage-ugc-media.tpl.php:38 74 | #, php-format 75 | #@ default 76 | msgid "Media attachment moved to the trash." 77 | msgid_plural "%d media attachments moved to the trash." 78 | msgstr[0] "Fichier média mis à la corbeille." 79 | msgstr[1] "%d fichiers média mis à la corbeille." 80 | 81 | #: lib/views/manage-ugc-media.tpl.php:39 82 | #: lib/views/manage-ugc-media.tpl.php:55 83 | #: lib/views/manage-ugc-posts.tpl.php:40 84 | #: lib/views/manage-ugc-posts.tpl.php:56 85 | #@ frontend-uploader 86 | msgid "Undo" 87 | msgstr "Annuler" 88 | 89 | #: lib/views/manage-ugc-media.tpl.php:44 90 | #, php-format 91 | #@ default 92 | msgid "Media attachment restored from the trash." 93 | msgid_plural "%d media attachments restored from the trash." 94 | msgstr[0] "Fichier média récupéré depuis la corbeille." 95 | msgstr[1] "%d fichiers média récupérés depuis la corbeille." 96 | 97 | #: lib/views/manage-ugc-media.tpl.php:53 98 | #: lib/views/manage-ugc-posts.tpl.php:54 99 | #@ frontend-uploader 100 | msgid "Media permanently deleted." 101 | msgstr "Fichier média supprimé définitivement." 102 | 103 | #: lib/views/manage-ugc-media.tpl.php:54 104 | #@ frontend-uploader 105 | msgid "Error saving media attachment." 106 | msgstr "Erreur d'enregistrement du fichier média." 107 | 108 | #: lib/views/manage-ugc-media.tpl.php:55 109 | #: lib/views/manage-ugc-posts.tpl.php:56 110 | #@ frontend-uploader 111 | msgid "Media moved to the trash." 112 | msgstr "Fichier média mis à la corbeille." 113 | 114 | #: lib/views/manage-ugc-media.tpl.php:56 115 | #: lib/views/manage-ugc-posts.tpl.php:57 116 | #@ frontend-uploader 117 | msgid "Media restored from the trash." 118 | msgstr "Fichier média récupéré depuis la corbeille." 119 | 120 | #: lib/views/manage-ugc-media.tpl.php:71 121 | #@ frontend-uploader 122 | msgid "Search Media" 123 | msgstr "Rechercher un fichier média" 124 | 125 | #: frontend-uploader.php:768 126 | #@ frontend-uploader 127 | msgid "Submit" 128 | msgstr "Envoyer" 129 | 130 | #: frontend-uploader.php:896 131 | #@ frontend-uploader 132 | msgid "Your file was successfully uploaded!" 133 | msgstr "Votre fichier a été envoyé avec succès !" 134 | 135 | #: frontend-uploader.php:932 136 | #@ frontend-uploader 137 | msgid "This kind of file is not allowed. Please, try again selecting other file." 138 | msgstr "Ce type de fichier n'est pas autorisé. Merci d'essayer avec un autre fichier." 139 | 140 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:60 141 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:85 142 | #, php-format 143 | #@ default 144 | msgctxt "uploaded files" 145 | msgid "All (%s)" 146 | msgid_plural "All (%s)" 147 | msgstr[0] "Tous (%s)" 148 | msgstr[1] "Tous (%s)" 149 | 150 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:72 151 | #, php-format 152 | #@ default 153 | msgctxt "detached files" 154 | msgid "Unattached (%s)" 155 | msgid_plural "Unattached (%s)" 156 | msgstr[0] "Non attaché (%s)" 157 | msgstr[1] "Non attachés (%s)" 158 | 159 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:75 160 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:99 161 | #, php-format 162 | #@ default 163 | msgctxt "uploaded files" 164 | msgid "Trash (%s)" 165 | msgid_plural "Trash (%s)" 166 | msgstr[0] "Corbeille (%s)" 167 | msgstr[1] "Corbeille (%s)" 168 | 169 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:82 170 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:303 171 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:319 172 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:325 173 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:30 174 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:108 175 | #@ frontend-uploader 176 | msgid "Delete Permanently" 177 | msgstr "Supprimer définitivement" 178 | 179 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:84 180 | #@ frontend-uploader 181 | msgid "Attach to a post" 182 | msgstr "Joindre à un article" 183 | 184 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:107 185 | #@ frontend-uploader 186 | msgid "No media attachments found." 187 | msgstr "Aucun fichier média." 188 | 189 | #. translators: column name 190 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:115 191 | #@ default 192 | msgctxt "column name" 193 | msgid "File" 194 | msgstr "Fichier" 195 | 196 | #: frontend-uploader.php:827 197 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:116 198 | #@ frontend-uploader 199 | msgid "Author" 200 | msgstr "Votre nom ou pseudo" 201 | 202 | #. translators: column name 203 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:119 204 | #@ default 205 | msgctxt "column name" 206 | msgid "Attached to" 207 | msgstr "Attaché à" 208 | 209 | #. translators: column name 210 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:122 211 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:128 212 | #@ default 213 | msgctxt "column name" 214 | msgid "Date" 215 | msgstr "Date" 216 | 217 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:171 218 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:184 219 | #, php-format 220 | #@ frontend-uploader 221 | msgid "Edit \"%s\"" 222 | msgstr "Modifier \"%s\"" 223 | 224 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:216 225 | #@ frontend-uploader 226 | msgid "No Tags" 227 | msgstr "Aucun mot-clef." 228 | 229 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:231 230 | #@ frontend-uploader 231 | msgid "Unpublished" 232 | msgstr "Non publié" 233 | 234 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:233 235 | #@ frontend-uploader 236 | msgid "Y/m/d g:i:s A" 237 | msgstr "d/m/Y H:i:s" 238 | 239 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:238 240 | #, php-format 241 | #@ frontend-uploader 242 | msgid "%s from now" 243 | msgstr "%s à partir de maintenant" 244 | 245 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:240 246 | #, php-format 247 | #@ frontend-uploader 248 | msgid "%s ago" 249 | msgstr "Il y a %s" 250 | 251 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:242 252 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:258 253 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:365 254 | #@ frontend-uploader 255 | msgid "Y/m/d" 256 | msgstr "d/m/Y" 257 | 258 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:263 259 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:372 260 | #@ frontend-uploader 261 | msgid "(Unattached)" 262 | msgstr "(Non-attaché)" 263 | 264 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:296 265 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:311 266 | #@ frontend-uploader 267 | msgid "Edit" 268 | msgstr "Modifier" 269 | 270 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:299 271 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:316 272 | #@ frontend-uploader 273 | msgid "Trash" 274 | msgstr "Mettre à la corbeille" 275 | 276 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:305 277 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:330 278 | #, php-format 279 | #@ frontend-uploader 280 | msgid "View \"%s\"" 281 | msgstr "Afficher \"%s\"" 282 | 283 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:305 284 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:330 285 | #@ frontend-uploader 286 | msgid "View" 287 | msgstr "Afficher" 288 | 289 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:307 290 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:373 291 | #@ frontend-uploader 292 | msgid "Attach" 293 | msgstr "Joindre" 294 | 295 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:314 296 | #@ frontend-uploader 297 | msgid "Restore" 298 | msgstr "Récupérer" 299 | 300 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:324 301 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:29 302 | #@ frontend-uploader 303 | msgid "Approve" 304 | msgstr "Valider" 305 | 306 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:367 307 | #@ frontend-uploader 308 | msgid "Re-Attach" 309 | msgstr "Re-Joindre" 310 | 311 | #: lib/php/frontend-uploader-settings.php:47 312 | #@ frontend-uploader 313 | msgid "Frontend Uploader Settings" 314 | msgstr "" 315 | 316 | #: lib/php/frontend-uploader-settings.php:54 317 | #@ frontend-uploader 318 | msgid "Basic Settings" 319 | msgstr "" 320 | 321 | #: lib/php/frontend-uploader-settings.php:71 322 | #@ frontend-uploader 323 | msgid "Notify site admins" 324 | msgstr "" 325 | 326 | #: lib/php/frontend-uploader-settings.php:72 327 | #: lib/php/frontend-uploader-settings.php:102 328 | #: lib/php/frontend-uploader-settings.php:117 329 | #: lib/php/frontend-uploader-settings.php:132 330 | #: lib/php/frontend-uploader-settings.php:139 331 | #: lib/php/frontend-uploader-settings.php:146 332 | #@ frontend-uploader 333 | msgid "Yes" 334 | msgstr "" 335 | 336 | #: lib/php/frontend-uploader-settings.php:78 337 | #@ frontend-uploader 338 | msgid "Admin Notification" 339 | msgstr "" 340 | 341 | #: lib/php/frontend-uploader-settings.php:79 342 | #@ frontend-uploader 343 | msgid "Message that admin will get on new file upload" 344 | msgstr "" 345 | 346 | #: lib/php/frontend-uploader-settings.php:86 347 | #@ frontend-uploader 348 | msgid "Notification email" 349 | msgstr "" 350 | 351 | #: lib/php/frontend-uploader-settings.php:87 352 | #@ frontend-uploader 353 | msgid "Leave blank to use site admin email" 354 | msgstr "" 355 | 356 | #: frontend-uploader.php:391 357 | #@ frontend-uploader 358 | msgid "New content was uploaded on your site" 359 | msgstr "" 360 | 361 | #: frontend-uploader.php:493 362 | #: frontend-uploader.php:497 363 | #: lib/views/manage-ugc-posts.tpl.php:2 364 | #@ frontend-uploader 365 | msgid "Manage UGC Posts" 366 | msgstr "Gérer les messages UGC" 367 | 368 | #: lib/views/manage-ugc-posts.tpl.php:5 369 | #@ frontend-uploader 370 | msgid "You do not have permission to publish posts." 371 | msgstr "Vous n'avez pas la permission de publier des messages." 372 | 373 | #: lib/views/manage-ugc-posts.tpl.php:72 374 | #@ frontend-uploader 375 | msgid "Search Posts" 376 | msgstr "Chercher des messages" 377 | 378 | #: frontend-uploader.php:766 379 | #@ frontend-uploader 380 | msgid "Description" 381 | msgstr "Description" 382 | 383 | #: frontend-uploader.php:779 384 | #@ frontend-uploader 385 | msgid "Title" 386 | msgstr "Titre" 387 | 388 | #: frontend-uploader.php:936 389 | #@ frontend-uploader 390 | msgid "The content you are trying to post is invalid." 391 | msgstr "contenu que vous essayez d'afficher n’est pas valide." 392 | 393 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:124 394 | #@ default 395 | msgctxt "column name" 396 | msgid "Title" 397 | msgstr "Titre" 398 | 399 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:126 400 | #@ default 401 | msgctxt "column name" 402 | msgid "Categories" 403 | msgstr "Categories" 404 | 405 | #: lib/php/frontend-uploader-settings.php:94 406 | #@ frontend-uploader 407 | msgid "Allowed categories" 408 | msgstr "Catégories autorisées" 409 | 410 | #: lib/php/frontend-uploader-settings.php:95 411 | #@ frontend-uploader 412 | msgid "Comma separated IDs (leave blank for all)" 413 | msgstr "Numéros d'identification séparés par des virgules (laisser vide)" 414 | 415 | #: lib/php/frontend-uploader-settings.php:101 416 | #@ frontend-uploader 417 | msgid "Show author field" 418 | msgstr "Afficher le champ de l’auteur" 419 | 420 | #: frontend-uploader.php:263 421 | #: frontend-uploader.php:264 422 | #@ frontend-uploader 423 | msgid "Unnamed" 424 | msgstr "" 425 | 426 | #: frontend-uploader.php:736 427 | #@ frontend-uploader 428 | msgid "Submit a new post" 429 | msgstr "" 430 | 431 | #: frontend-uploader.php:749 432 | #@ frontend-uploader 433 | msgid "Submit a media file" 434 | msgstr "" 435 | 436 | #: frontend-uploader.php:904 437 | #@ frontend-uploader 438 | msgid "There was an error with your submission" 439 | msgstr "" 440 | 441 | #: frontend-uploader.php:929 442 | #@ frontend-uploader 443 | msgid "Security check failed!" 444 | msgstr "" 445 | 446 | #: lib/php/frontend-uploader-settings.php:108 447 | #@ frontend-uploader 448 | msgid "Enable Frontend Uploader for the following post types" 449 | msgstr "" 450 | 451 | #: lib/php/frontend-uploader-settings.php:123 452 | #@ frontend-uploader 453 | msgid "Allow following files to be uploaded" 454 | msgstr "" 455 | 456 | #: lib/php/frontend-uploader-settings.php:131 457 | #@ frontend-uploader 458 | msgid "Auto-approve registered users files" 459 | msgstr "" 460 | 461 | #: lib/php/frontend-uploader-settings.php:138 462 | #@ frontend-uploader 463 | msgid "Auto-approve any files" 464 | msgstr "" 465 | 466 | #: frontend-uploader.php:172 467 | #@ frontend-uploader 468 | msgid "Frontend Uploader requires WordPress 3.3 or newer. Please upgrade." 469 | msgstr "" 470 | 471 | #: frontend-uploader.php:767 472 | #@ frontend-uploader 473 | msgid "Your Media Files" 474 | msgstr "" 475 | 476 | #: frontend-uploader.php:798 477 | #@ frontend-uploader 478 | msgid "Post content or file description" 479 | msgstr "" 480 | 481 | #: frontend-uploader.php:818 482 | #@ frontend-uploader 483 | msgid "Post content" 484 | msgstr "" 485 | 486 | #: frontend-uploader.php:900 487 | #@ frontend-uploader 488 | msgid "Your post was successfully uploaded!" 489 | msgstr "" 490 | 491 | #: frontend-uploader.php:939 492 | #@ frontend-uploader 493 | msgid "Couldn't upload the file" 494 | msgstr "" 495 | 496 | #: frontend-uploader.php:942 497 | #@ frontend-uploader 498 | msgid "Couldn't create the post" 499 | msgstr "" 500 | 501 | #: lib/php/frontend-uploader-settings.php:116 502 | #@ frontend-uploader 503 | msgid "Enable visual editor for textareas" 504 | msgstr "" 505 | 506 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:117 507 | #@ frontend-uploader 508 | msgid "No posts found." 509 | msgstr "" 510 | 511 | #: lib/php/frontend-uploader-settings.php:145 512 | #@ frontend-uploader 513 | msgid "Suppress default fields" 514 | msgstr "" 515 | 516 | #: lib/views/manage-ugc-posts.tpl.php:23 517 | #: lib/views/manage-ugc-posts.tpl.php:53 518 | #@ frontend-uploader 519 | msgid "Post updated." 520 | msgstr "" 521 | 522 | #: lib/views/manage-ugc-posts.tpl.php:34 523 | #, php-format 524 | #@ default 525 | msgid "Post permanently deleted." 526 | msgid_plural "%d Posts permanently deleted." 527 | msgstr[0] "" 528 | msgstr[1] "" 529 | 530 | #: lib/views/manage-ugc-posts.tpl.php:39 531 | #, php-format 532 | #@ default 533 | msgid "Post moved to the trash." 534 | msgid_plural "%d Posts moved to the trash." 535 | msgstr[0] "" 536 | msgstr[1] "" 537 | 538 | #: lib/views/manage-ugc-posts.tpl.php:45 539 | #, php-format 540 | #@ default 541 | msgid "Post restored from the trash." 542 | msgid_plural "%d Posts restored from the trash." 543 | msgstr[0] "" 544 | msgstr[1] "" 545 | 546 | #: lib/views/manage-ugc-posts.tpl.php:55 547 | #@ frontend-uploader 548 | msgid "Error saving Post." 549 | msgstr "" 550 | 551 | -------------------------------------------------------------------------------- /languages/frontend-uploader-fr_FR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Automattic/wp-frontend-uploader/655c0e8812c1d2be263237fb2a3f8e56dfcece55/languages/frontend-uploader-fr_FR.mo -------------------------------------------------------------------------------- /languages/frontend-uploader-nb_NO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Automattic/wp-frontend-uploader/655c0e8812c1d2be263237fb2a3f8e56dfcece55/languages/frontend-uploader-nb_NO.mo -------------------------------------------------------------------------------- /languages/frontend-uploader-nb_NO.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: Frontend Uploader v0.5.8.1\n" 4 | "Report-Msgid-Bugs-To: http://wordpress.org/tag/frontend-uploader\n" 5 | "POT-Creation-Date: 2013-07-05 21:44-0600\n" 6 | "PO-Revision-Date: 2013-08-20 02:08:59+0000\n" 7 | "Last-Translator: Rinat Khaziev \n" 8 | "Language-Team: Frontend Uploader \n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | "Plural-Forms: nplurals=2; plural=n != 1;\n" 13 | "X-Generator: Poedit 1.5.5\n" 14 | "X-Poedit-Language: \n" 15 | "X-Poedit-Country: \n" 16 | "X-Poedit-SourceCharset: UTF-8\n" 17 | "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" 18 | "X-Poedit-Basepath: .\n" 19 | "X-Poedit-Bookmarks: \n" 20 | "X-Poedit-SearchPath-0: ..\n" 21 | "X-Textdomain-Support: yes" 22 | 23 | #: frontend-uploader.php:172 24 | #@ frontend-uploader 25 | msgid "Frontend Uploader requires WordPress 3.3 or newer. Please upgrade." 26 | msgstr "Frontend Uploader krever WordPress 3.3 eller nyere. Vennligst oppgrader." 27 | 28 | #: frontend-uploader.php:263 29 | #: frontend-uploader.php:264 30 | #@ frontend-uploader 31 | msgid "Unnamed" 32 | msgstr "Uten navn" 33 | 34 | #: frontend-uploader.php:391 35 | #@ frontend-uploader 36 | msgid "New content was uploaded on your site" 37 | msgstr "Nytt innhold er lastet opp på nettsiden din." 38 | 39 | #: frontend-uploader.php:490 40 | #: frontend-uploader.php:493 41 | #: frontend-uploader.php:497 42 | #: lib/views/manage-ugc-media.tpl.php:2 43 | #@ frontend-uploader 44 | msgid "Manage UGC" 45 | msgstr "Administrer UGC" 46 | 47 | #: frontend-uploader.php:493 48 | #: frontend-uploader.php:497 49 | #: lib/views/manage-ugc-posts.tpl.php:2 50 | #@ frontend-uploader 51 | msgid "Manage UGC Posts" 52 | msgstr "Administrer UGC innlegg" 53 | 54 | #: frontend-uploader.php:736 55 | #@ frontend-uploader 56 | msgid "Submit a new post" 57 | msgstr "Send inn et nytt innlegg" 58 | 59 | #: frontend-uploader.php:749 60 | #@ frontend-uploader 61 | msgid "Submit a media file" 62 | msgstr "Send inn mediefil" 63 | 64 | #: frontend-uploader.php:766 65 | #@ frontend-uploader 66 | msgid "Description" 67 | msgstr "Beskrivelse" 68 | 69 | #: frontend-uploader.php:767 70 | #@ frontend-uploader 71 | msgid "Your Media Files" 72 | msgstr "Dine mediefiler" 73 | 74 | #: frontend-uploader.php:768 75 | #@ frontend-uploader 76 | msgid "Submit" 77 | msgstr "Send inn" 78 | 79 | #: frontend-uploader.php:779 80 | #@ frontend-uploader 81 | msgid "Title" 82 | msgstr "Tittel" 83 | 84 | #: frontend-uploader.php:798 85 | #@ frontend-uploader 86 | msgid "Post content or file description" 87 | msgstr "Beskrivelse" 88 | 89 | #: frontend-uploader.php:818 90 | #@ frontend-uploader 91 | msgid "Post content" 92 | msgstr "Send inn innhold" 93 | 94 | #: frontend-uploader.php:827 95 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:116 96 | #@ frontend-uploader 97 | msgid "Author" 98 | msgstr "Opphavsrett" 99 | 100 | #: frontend-uploader.php:896 101 | #@ frontend-uploader 102 | msgid "Your file was successfully uploaded!" 103 | msgstr "Din fil ble lastet opp!" 104 | 105 | #: frontend-uploader.php:900 106 | #@ frontend-uploader 107 | msgid "Your post was successfully uploaded!" 108 | msgstr "Ditt innlegg ble lastet opp!" 109 | 110 | #: frontend-uploader.php:904 111 | #@ frontend-uploader 112 | msgid "There was an error with your submission" 113 | msgstr "Det oppstod en feil med din innsending" 114 | 115 | #: frontend-uploader.php:929 116 | #@ frontend-uploader 117 | msgid "Security check failed!" 118 | msgstr "Sikkerhetssjekk feilet!" 119 | 120 | #: frontend-uploader.php:932 121 | #@ frontend-uploader 122 | msgid "This kind of file is not allowed. Please, try again selecting other file." 123 | msgstr "Denne filtypen er ikke tillatt. Vennligst prøv igjen ved å velge en annen fil." 124 | 125 | #: frontend-uploader.php:936 126 | #@ frontend-uploader 127 | msgid "The content you are trying to post is invalid." 128 | msgstr "Innholdet du prøver å laste opp er ugyldig." 129 | 130 | #: frontend-uploader.php:939 131 | #@ frontend-uploader 132 | msgid "Couldn't upload the file" 133 | msgstr "Kunne ikke laste opp fil" 134 | 135 | #: frontend-uploader.php:942 136 | #@ frontend-uploader 137 | msgid "Couldn't create the post" 138 | msgstr "Kunne ikke lage innlegget" 139 | 140 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:82 141 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:303 142 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:319 143 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:325 144 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:30 145 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:108 146 | #@ frontend-uploader 147 | msgid "Delete Permanently" 148 | msgstr "Slett permanent" 149 | 150 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:84 151 | #@ frontend-uploader 152 | msgid "Attach to a post" 153 | msgstr "Legg ved innlegg" 154 | 155 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:107 156 | #@ frontend-uploader 157 | msgid "No media attachments found." 158 | msgstr "Ingen mediafiler funnet." 159 | 160 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:171 161 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:184 162 | #, php-format 163 | #@ frontend-uploader 164 | msgid "Edit \"%s\"" 165 | msgstr "Rediger \"%s\"" 166 | 167 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:216 168 | #@ frontend-uploader 169 | msgid "No Tags" 170 | msgstr "Ingen tagger" 171 | 172 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:231 173 | #@ frontend-uploader 174 | msgid "Unpublished" 175 | msgstr "Opphev publisering" 176 | 177 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:233 178 | #@ frontend-uploader 179 | msgid "Y/m/d g:i:s A" 180 | msgstr "d/m/Y H:i:s" 181 | 182 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:238 183 | #, php-format 184 | #@ frontend-uploader 185 | msgid "%s from now" 186 | msgstr "%s fra nå" 187 | 188 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:240 189 | #, php-format 190 | #@ frontend-uploader 191 | msgid "%s ago" 192 | msgstr "%s siden" 193 | 194 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:242 195 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:258 196 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:365 197 | #@ frontend-uploader 198 | msgid "Y/m/d" 199 | msgstr "d/m/Y" 200 | 201 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:263 202 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:372 203 | #@ frontend-uploader 204 | msgid "(Unattached)" 205 | msgstr "(Frakoblet)" 206 | 207 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:296 208 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:311 209 | #@ frontend-uploader 210 | msgid "Edit" 211 | msgstr "Rediger" 212 | 213 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:299 214 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:316 215 | #@ frontend-uploader 216 | msgid "Trash" 217 | msgstr "Legg i papirkurv" 218 | 219 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:305 220 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:330 221 | #, php-format 222 | #@ frontend-uploader 223 | msgid "View \"%s\"" 224 | msgstr "Vis \"%s\"" 225 | 226 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:305 227 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:330 228 | #@ frontend-uploader 229 | msgid "View" 230 | msgstr "Vis" 231 | 232 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:307 233 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:373 234 | #@ frontend-uploader 235 | msgid "Attach" 236 | msgstr "Legg ved" 237 | 238 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:314 239 | #@ frontend-uploader 240 | msgid "Restore" 241 | msgstr "Gjenopprett" 242 | 243 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:324 244 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:29 245 | #@ frontend-uploader 246 | msgid "Approve" 247 | msgstr "Godkjenn" 248 | 249 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:367 250 | #@ frontend-uploader 251 | msgid "Re-Attach" 252 | msgstr "Legg ved igjen" 253 | 254 | #: lib/php/frontend-uploader-settings.php:47 255 | #@ frontend-uploader 256 | msgid "Frontend Uploader Settings" 257 | msgstr "Frontend Uploader innstillinger" 258 | 259 | #: lib/php/frontend-uploader-settings.php:54 260 | #@ frontend-uploader 261 | msgid "Basic Settings" 262 | msgstr "Grunnleggende innstillinger" 263 | 264 | #: lib/php/frontend-uploader-settings.php:71 265 | #@ frontend-uploader 266 | msgid "Notify site admins" 267 | msgstr "Varsle nettstedets administrator" 268 | 269 | #: lib/php/frontend-uploader-settings.php:72 270 | #: lib/php/frontend-uploader-settings.php:102 271 | #: lib/php/frontend-uploader-settings.php:117 272 | #: lib/php/frontend-uploader-settings.php:132 273 | #: lib/php/frontend-uploader-settings.php:139 274 | #: lib/php/frontend-uploader-settings.php:146 275 | #@ frontend-uploader 276 | msgid "Yes" 277 | msgstr "Ja" 278 | 279 | #: lib/php/frontend-uploader-settings.php:78 280 | #@ frontend-uploader 281 | msgid "Admin Notification" 282 | msgstr "Administrator varsling" 283 | 284 | #: lib/php/frontend-uploader-settings.php:79 285 | #@ frontend-uploader 286 | msgid "Message that admin will get on new file upload" 287 | msgstr "Varslingen administrator får ved opplasting av nytt innhold" 288 | 289 | #: lib/php/frontend-uploader-settings.php:86 290 | #@ frontend-uploader 291 | msgid "Notification email" 292 | msgstr "Varsel e-post" 293 | 294 | #: lib/php/frontend-uploader-settings.php:87 295 | #@ frontend-uploader 296 | msgid "Leave blank to use site admin email" 297 | msgstr "La stå tom for å varsle nettstedets administrator e-post" 298 | 299 | #: lib/php/frontend-uploader-settings.php:94 300 | #@ frontend-uploader 301 | msgid "Allowed categories" 302 | msgstr "Tillatte kategorier" 303 | 304 | #: lib/php/frontend-uploader-settings.php:95 305 | #@ frontend-uploader 306 | msgid "Comma separated IDs (leave blank for all)" 307 | msgstr "Kommadelte ID'er (la stå tom for alle)" 308 | 309 | #: lib/php/frontend-uploader-settings.php:101 310 | #@ frontend-uploader 311 | msgid "Show author field" 312 | msgstr "Vis opphavsrett felt" 313 | 314 | #: lib/php/frontend-uploader-settings.php:108 315 | #@ frontend-uploader 316 | msgid "Enable Frontend Uploader for the following post types" 317 | msgstr "Tillat Frontend Uploader for følgende innleggstyper" 318 | 319 | #: lib/php/frontend-uploader-settings.php:116 320 | #@ frontend-uploader 321 | msgid "Enable visual editor for textareas" 322 | msgstr "Tillat visuell tekstredigerer for tekstfelt" 323 | 324 | #: lib/php/frontend-uploader-settings.php:123 325 | #@ frontend-uploader 326 | msgid "Allow following files to be uploaded" 327 | msgstr "Tillat følgende filer å bli lastet opp" 328 | 329 | #: lib/php/frontend-uploader-settings.php:131 330 | #@ frontend-uploader 331 | msgid "Auto-approve registered users files" 332 | msgstr "Godkjenn registrerte brukeres filer automatisk" 333 | 334 | #: lib/php/frontend-uploader-settings.php:138 335 | #@ frontend-uploader 336 | msgid "Auto-approve any files" 337 | msgstr "Godkjenn alle filer automatisk" 338 | 339 | #: lib/views/manage-ugc-media.tpl.php:5 340 | #@ frontend-uploader 341 | msgid "You do not have permission to upload files." 342 | msgstr "Du har ikke tillatelse til å laste opp filer." 343 | 344 | #: lib/views/manage-ugc-media.tpl.php:16 345 | #: lib/views/manage-ugc-posts.tpl.php:17 346 | #, php-format 347 | #@ frontend-uploader 348 | msgid "Search results for “%s”" 349 | msgstr "Søk etter resultater for “%s”" 350 | 351 | #: lib/views/manage-ugc-media.tpl.php:22 352 | #: lib/views/manage-ugc-media.tpl.php:52 353 | #@ frontend-uploader 354 | msgid "Media attachment updated." 355 | msgstr "Medievedlegg oppdatert." 356 | 357 | #: lib/views/manage-ugc-media.tpl.php:39 358 | #: lib/views/manage-ugc-media.tpl.php:55 359 | #: lib/views/manage-ugc-posts.tpl.php:40 360 | #: lib/views/manage-ugc-posts.tpl.php:56 361 | #@ frontend-uploader 362 | msgid "Undo" 363 | msgstr "Angre" 364 | 365 | #: lib/views/manage-ugc-media.tpl.php:53 366 | #: lib/views/manage-ugc-posts.tpl.php:54 367 | #@ frontend-uploader 368 | msgid "Media permanently deleted." 369 | msgstr "Media slettet permanent." 370 | 371 | #: lib/views/manage-ugc-media.tpl.php:54 372 | #@ frontend-uploader 373 | msgid "Error saving media attachment." 374 | msgstr "Feil ved lagring av medievedlegg." 375 | 376 | #: lib/views/manage-ugc-media.tpl.php:55 377 | #: lib/views/manage-ugc-posts.tpl.php:56 378 | #@ frontend-uploader 379 | msgid "Media moved to the trash." 380 | msgstr "Media flyttet til papirkurv." 381 | 382 | #: lib/views/manage-ugc-media.tpl.php:56 383 | #: lib/views/manage-ugc-posts.tpl.php:57 384 | #@ frontend-uploader 385 | msgid "Media restored from the trash." 386 | msgstr "Media gjenopprettet fra papirkurv." 387 | 388 | #: lib/views/manage-ugc-media.tpl.php:71 389 | #@ frontend-uploader 390 | msgid "Search Media" 391 | msgstr "S&oslah;k media" 392 | 393 | #: lib/views/manage-ugc-posts.tpl.php:5 394 | #@ frontend-uploader 395 | msgid "You do not have permission to publish posts." 396 | msgstr "Du har ikke tillatelse til å publisere innlegg." 397 | 398 | #: lib/views/manage-ugc-posts.tpl.php:72 399 | #@ frontend-uploader 400 | msgid "Search Posts" 401 | msgstr "S&oslah;k etter innlegg" 402 | 403 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:60 404 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:85 405 | #, php-format 406 | #@ default 407 | msgctxt "uploaded files" 408 | msgid "All (%s)" 409 | msgid_plural "All (%s)" 410 | msgstr[0] "" 411 | msgstr[1] "" 412 | 413 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:72 414 | #, php-format 415 | #@ default 416 | msgctxt "detached files" 417 | msgid "Unattached (%s)" 418 | msgid_plural "Unattached (%s)" 419 | msgstr[0] "" 420 | msgstr[1] "" 421 | 422 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:75 423 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:99 424 | #, php-format 425 | #@ default 426 | msgctxt "uploaded files" 427 | msgid "Trash (%s)" 428 | msgid_plural "Trash (%s)" 429 | msgstr[0] "" 430 | msgstr[1] "" 431 | 432 | #. translators: column name 433 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:115 434 | #@ default 435 | msgctxt "column name" 436 | msgid "File" 437 | msgstr "" 438 | 439 | #. translators: column name 440 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:119 441 | #@ default 442 | msgctxt "column name" 443 | msgid "Attached to" 444 | msgstr "" 445 | 446 | #. translators: column name 447 | #: lib/php/class-frontend-uploader-wp-media-list-table.php:122 448 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:128 449 | #@ default 450 | msgctxt "column name" 451 | msgid "Date" 452 | msgstr "" 453 | 454 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:117 455 | #@ frontend-uploader 456 | msgid "No posts found." 457 | msgstr "" 458 | 459 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:124 460 | #@ default 461 | msgctxt "column name" 462 | msgid "Title" 463 | msgstr "" 464 | 465 | #: lib/php/class-frontend-uploader-wp-posts-list-table.php:126 466 | #@ default 467 | msgctxt "column name" 468 | msgid "Categories" 469 | msgstr "" 470 | 471 | #: lib/php/frontend-uploader-settings.php:145 472 | #@ frontend-uploader 473 | msgid "Suppress default fields" 474 | msgstr "" 475 | 476 | #: lib/views/manage-ugc-media.tpl.php:14 477 | #: lib/views/manage-ugc-posts.tpl.php:15 478 | #@ default 479 | msgctxt "file" 480 | msgid "Add New" 481 | msgstr "" 482 | 483 | #: lib/views/manage-ugc-media.tpl.php:28 484 | #: lib/views/manage-ugc-posts.tpl.php:29 485 | #, php-format 486 | #@ default 487 | msgid "Reattached %d attachment." 488 | msgid_plural "Reattached %d attachments." 489 | msgstr[0] "" 490 | msgstr[1] "" 491 | 492 | #: lib/views/manage-ugc-media.tpl.php:33 493 | #, php-format 494 | #@ default 495 | msgid "Media attachment permanently deleted." 496 | msgid_plural "%d media attachments permanently deleted." 497 | msgstr[0] "" 498 | msgstr[1] "" 499 | 500 | #: lib/views/manage-ugc-media.tpl.php:38 501 | #, php-format 502 | #@ default 503 | msgid "Media attachment moved to the trash." 504 | msgid_plural "%d media attachments moved to the trash." 505 | msgstr[0] "" 506 | msgstr[1] "" 507 | 508 | #: lib/views/manage-ugc-media.tpl.php:44 509 | #, php-format 510 | #@ default 511 | msgid "Media attachment restored from the trash." 512 | msgid_plural "%d media attachments restored from the trash." 513 | msgstr[0] "" 514 | msgstr[1] "" 515 | 516 | #: lib/views/manage-ugc-posts.tpl.php:23 517 | #: lib/views/manage-ugc-posts.tpl.php:53 518 | #@ frontend-uploader 519 | msgid "Post updated." 520 | msgstr "" 521 | 522 | #: lib/views/manage-ugc-posts.tpl.php:34 523 | #, php-format 524 | #@ default 525 | msgid "Post permanently deleted." 526 | msgid_plural "%d Posts permanently deleted." 527 | msgstr[0] "" 528 | msgstr[1] "" 529 | 530 | #: lib/views/manage-ugc-posts.tpl.php:39 531 | #, php-format 532 | #@ default 533 | msgid "Post moved to the trash." 534 | msgid_plural "%d Posts moved to the trash." 535 | msgstr[0] "" 536 | msgstr[1] "" 537 | 538 | #: lib/views/manage-ugc-posts.tpl.php:45 539 | #, php-format 540 | #@ default 541 | msgid "Post restored from the trash." 542 | msgid_plural "%d Posts restored from the trash." 543 | msgstr[0] "" 544 | msgstr[1] "" 545 | 546 | #: lib/views/manage-ugc-posts.tpl.php:55 547 | #@ frontend-uploader 548 | msgid "Error saving Post." 549 | msgstr "" 550 | 551 | -------------------------------------------------------------------------------- /languages/frontend-uploader-ru_RU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Automattic/wp-frontend-uploader/655c0e8812c1d2be263237fb2a3f8e56dfcece55/languages/frontend-uploader-ru_RU.mo -------------------------------------------------------------------------------- /languages/frontend-uploader.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Automattic/wp-frontend-uploader/655c0e8812c1d2be263237fb2a3f8e56dfcece55/languages/frontend-uploader.mo -------------------------------------------------------------------------------- /languages/frontend-uploader.pot: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2013 Frontend Uploader 2 | # This file is distributed under the same license as the Frontend Uploader package. 3 | msgid "" 4 | msgstr "" 5 | "Project-Id-Version: Frontend Uploader 0.6\n" 6 | "Report-Msgid-Bugs-To: http://wordpress.org/tag/frontend-uploader\n" 7 | "POT-Creation-Date: 2013-08-19 21:04-0600\n" 8 | "PO-Revision-Date: 2013-08-19 21:05-0600\n" 9 | "Last-Translator: Rinat Khaziev \n" 10 | "Language-Team: Frontend Uploader \n" 11 | "Language: en_US\n" 12 | "MIME-Version: 1.0\n" 13 | "Content-Type: text/plain; charset=UTF-8\n" 14 | "Content-Transfer-Encoding: 8bit\n" 15 | "X-Generator: Poedit 1.5.7\n" 16 | "X-Poedit-KeywordsList: __;_e\n" 17 | "X-Poedit-Basepath: .\n" 18 | "X-Poedit-SourceCharset: UTF-8\n" 19 | "X-Poedit-SearchPath-0: ..\n" 20 | 21 | #: ../frontend-uploader.php:172 22 | msgid "Frontend Uploader requires WordPress 3.3 or newer. Please upgrade." 23 | msgstr "" 24 | 25 | #: ../frontend-uploader.php:263 ../frontend-uploader.php:264 26 | msgid "Unnamed" 27 | msgstr "" 28 | 29 | #: ../frontend-uploader.php:391 30 | msgid "New content was uploaded on your site" 31 | msgstr "" 32 | 33 | #: ../frontend-uploader.php:490 ../frontend-uploader.php:493 34 | #: ../frontend-uploader.php:497 ../lib/views/manage-ugc-media.tpl.php:2 35 | msgid "Manage UGC" 36 | msgstr "" 37 | 38 | #: ../frontend-uploader.php:493 ../frontend-uploader.php:497 39 | #: ../lib/views/manage-ugc-posts.tpl.php:2 40 | msgid "Manage UGC Posts" 41 | msgstr "" 42 | 43 | #: ../frontend-uploader.php:736 44 | msgid "Submit a new post" 45 | msgstr "" 46 | 47 | #: ../frontend-uploader.php:749 48 | msgid "Submit a media file" 49 | msgstr "" 50 | 51 | #: ../frontend-uploader.php:766 52 | msgid "Description" 53 | msgstr "" 54 | 55 | #: ../frontend-uploader.php:767 56 | msgid "Your Media Files" 57 | msgstr "" 58 | 59 | #: ../frontend-uploader.php:768 60 | msgid "Submit" 61 | msgstr "" 62 | 63 | #: ../frontend-uploader.php:779 64 | msgid "Title" 65 | msgstr "" 66 | 67 | #: ../frontend-uploader.php:798 68 | msgid "Post content or file description" 69 | msgstr "" 70 | 71 | #: ../frontend-uploader.php:818 72 | msgid "Post content" 73 | msgstr "" 74 | 75 | #: ../frontend-uploader.php:827 76 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:116 77 | msgid "Author" 78 | msgstr "" 79 | 80 | #: ../frontend-uploader.php:896 81 | msgid "Your file was successfully uploaded!" 82 | msgstr "" 83 | 84 | #: ../frontend-uploader.php:900 85 | msgid "Your post was successfully uploaded!" 86 | msgstr "" 87 | 88 | #: ../frontend-uploader.php:904 89 | msgid "There was an error with your submission" 90 | msgstr "" 91 | 92 | #: ../frontend-uploader.php:929 93 | msgid "Security check failed!" 94 | msgstr "" 95 | 96 | #: ../frontend-uploader.php:932 97 | msgid "" 98 | "This kind of file is not allowed. Please, try again selecting other file." 99 | msgstr "" 100 | 101 | #: ../frontend-uploader.php:936 102 | msgid "The content you are trying to post is invalid." 103 | msgstr "" 104 | 105 | #: ../frontend-uploader.php:939 106 | msgid "Couldn't upload the file" 107 | msgstr "" 108 | 109 | #: ../frontend-uploader.php:942 110 | msgid "Couldn't create the post" 111 | msgstr "" 112 | 113 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:82 114 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:303 115 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:319 116 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:325 117 | #: ../lib/php/class-frontend-uploader-wp-posts-list-table.php:30 118 | #: ../lib/php/class-frontend-uploader-wp-posts-list-table.php:108 119 | msgid "Delete Permanently" 120 | msgstr "" 121 | 122 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:84 123 | msgid "Attach to a post" 124 | msgstr "" 125 | 126 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:107 127 | msgid "No media attachments found." 128 | msgstr "" 129 | 130 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:171 131 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:184 132 | #, php-format 133 | msgid "Edit \"%s\"" 134 | msgstr "" 135 | 136 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:216 137 | msgid "No Tags" 138 | msgstr "" 139 | 140 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:231 141 | msgid "Unpublished" 142 | msgstr "" 143 | 144 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:233 145 | msgid "Y/m/d g:i:s A" 146 | msgstr "" 147 | 148 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:238 149 | #, php-format 150 | msgid "%s from now" 151 | msgstr "" 152 | 153 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:240 154 | #, php-format 155 | msgid "%s ago" 156 | msgstr "" 157 | 158 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:242 159 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:258 160 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:365 161 | msgid "Y/m/d" 162 | msgstr "" 163 | 164 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:263 165 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:372 166 | msgid "(Unattached)" 167 | msgstr "" 168 | 169 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:296 170 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:311 171 | msgid "Edit" 172 | msgstr "" 173 | 174 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:299 175 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:316 176 | msgid "Trash" 177 | msgstr "" 178 | 179 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:305 180 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:330 181 | #, php-format 182 | msgid "View \"%s\"" 183 | msgstr "" 184 | 185 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:305 186 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:330 187 | msgid "View" 188 | msgstr "" 189 | 190 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:307 191 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:373 192 | msgid "Attach" 193 | msgstr "" 194 | 195 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:314 196 | msgid "Restore" 197 | msgstr "" 198 | 199 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:324 200 | #: ../lib/php/class-frontend-uploader-wp-posts-list-table.php:29 201 | msgid "Approve" 202 | msgstr "" 203 | 204 | #: ../lib/php/class-frontend-uploader-wp-media-list-table.php:367 205 | msgid "Re-Attach" 206 | msgstr "" 207 | 208 | #: ../lib/php/class-frontend-uploader-wp-posts-list-table.php:117 209 | msgid "No posts found." 210 | msgstr "" 211 | 212 | #: ../lib/php/frontend-uploader-settings.php:47 213 | msgid "Frontend Uploader Settings" 214 | msgstr "" 215 | 216 | #: ../lib/php/frontend-uploader-settings.php:54 217 | msgid "Basic Settings" 218 | msgstr "" 219 | 220 | #: ../lib/php/frontend-uploader-settings.php:71 221 | msgid "Notify site admins" 222 | msgstr "" 223 | 224 | #: ../lib/php/frontend-uploader-settings.php:72 225 | #: ../lib/php/frontend-uploader-settings.php:102 226 | #: ../lib/php/frontend-uploader-settings.php:117 227 | #: ../lib/php/frontend-uploader-settings.php:132 228 | #: ../lib/php/frontend-uploader-settings.php:139 229 | #: ../lib/php/frontend-uploader-settings.php:146 230 | msgid "Yes" 231 | msgstr "" 232 | 233 | #: ../lib/php/frontend-uploader-settings.php:78 234 | msgid "Admin Notification" 235 | msgstr "" 236 | 237 | #: ../lib/php/frontend-uploader-settings.php:79 238 | msgid "Message that admin will get on new file upload" 239 | msgstr "" 240 | 241 | #: ../lib/php/frontend-uploader-settings.php:86 242 | msgid "Notification email" 243 | msgstr "" 244 | 245 | #: ../lib/php/frontend-uploader-settings.php:87 246 | msgid "Leave blank to use site admin email" 247 | msgstr "" 248 | 249 | #: ../lib/php/frontend-uploader-settings.php:94 250 | msgid "Allowed categories" 251 | msgstr "" 252 | 253 | #: ../lib/php/frontend-uploader-settings.php:95 254 | msgid "Comma separated IDs (leave blank for all)" 255 | msgstr "" 256 | 257 | #: ../lib/php/frontend-uploader-settings.php:101 258 | msgid "Show author field" 259 | msgstr "" 260 | 261 | #: ../lib/php/frontend-uploader-settings.php:108 262 | msgid "Enable Frontend Uploader for the following post types" 263 | msgstr "" 264 | 265 | #: ../lib/php/frontend-uploader-settings.php:116 266 | msgid "Enable visual editor for textareas" 267 | msgstr "" 268 | 269 | #: ../lib/php/frontend-uploader-settings.php:123 270 | msgid "Allow following files to be uploaded" 271 | msgstr "" 272 | 273 | #: ../lib/php/frontend-uploader-settings.php:131 274 | msgid "Auto-approve registered users files" 275 | msgstr "" 276 | 277 | #: ../lib/php/frontend-uploader-settings.php:138 278 | msgid "Auto-approve any files" 279 | msgstr "" 280 | 281 | #: ../lib/php/frontend-uploader-settings.php:145 282 | msgid "Suppress default fields" 283 | msgstr "" 284 | 285 | #: ../lib/views/manage-ugc-media.tpl.php:5 286 | msgid "You do not have permission to upload files." 287 | msgstr "" 288 | 289 | #: ../lib/views/manage-ugc-media.tpl.php:16 290 | #: ../lib/views/manage-ugc-posts.tpl.php:17 291 | #, php-format 292 | msgid "Search results for “%s”" 293 | msgstr "" 294 | 295 | #: ../lib/views/manage-ugc-media.tpl.php:22 296 | #: ../lib/views/manage-ugc-media.tpl.php:52 297 | msgid "Media attachment updated." 298 | msgstr "" 299 | 300 | #: ../lib/views/manage-ugc-media.tpl.php:39 301 | #: ../lib/views/manage-ugc-media.tpl.php:55 302 | #: ../lib/views/manage-ugc-posts.tpl.php:40 303 | #: ../lib/views/manage-ugc-posts.tpl.php:56 304 | msgid "Undo" 305 | msgstr "" 306 | 307 | #: ../lib/views/manage-ugc-media.tpl.php:53 308 | #: ../lib/views/manage-ugc-posts.tpl.php:54 309 | msgid "Media permanently deleted." 310 | msgstr "" 311 | 312 | #: ../lib/views/manage-ugc-media.tpl.php:54 313 | msgid "Error saving media attachment." 314 | msgstr "" 315 | 316 | #: ../lib/views/manage-ugc-media.tpl.php:55 317 | #: ../lib/views/manage-ugc-posts.tpl.php:56 318 | msgid "Media moved to the trash." 319 | msgstr "" 320 | 321 | #: ../lib/views/manage-ugc-media.tpl.php:56 322 | #: ../lib/views/manage-ugc-posts.tpl.php:57 323 | msgid "Media restored from the trash." 324 | msgstr "" 325 | 326 | #: ../lib/views/manage-ugc-media.tpl.php:71 327 | msgid "Search Media" 328 | msgstr "" 329 | 330 | #: ../lib/views/manage-ugc-posts.tpl.php:5 331 | msgid "You do not have permission to publish posts." 332 | msgstr "" 333 | 334 | #: ../lib/views/manage-ugc-posts.tpl.php:23 335 | #: ../lib/views/manage-ugc-posts.tpl.php:53 336 | msgid "Post updated." 337 | msgstr "" 338 | 339 | #: ../lib/views/manage-ugc-posts.tpl.php:55 340 | msgid "Error saving Post." 341 | msgstr "" 342 | 343 | #: ../lib/views/manage-ugc-posts.tpl.php:72 344 | msgid "Search Posts" 345 | msgstr "" 346 | -------------------------------------------------------------------------------- /lib/css/frontend-uploader.css: -------------------------------------------------------------------------------- 1 | #ug-photo-form li { 2 | list-style: none; 3 | } 4 | .ugc-inner-wrapper .ugc-input-wrapper { 5 | min-width: 50%; 6 | padding: 5px 0px; 7 | } 8 | .ugc-inner-wrapper .ugc-input-wrapper input { 9 | display: block; 10 | } 11 | .ugc-inner-wrapper .ugc-input-wrapper select { 12 | display: block; 13 | } 14 | .ugc-inner-wrapper .ugc-input-wrapper label { 15 | font-weight: bold; 16 | } 17 | .ugc-inner-wrapper .ugc-input-wrapper input[type="text"], .ugc-inner-wrapper .ugc-input-wrapper textarea { 18 | width: 100%; 19 | } 20 | .ugc-inner-wrapper h2 { 21 | padding: 5px 0px; 22 | } 23 | .ugc-notice { 24 | border: 1px solid; 25 | border-radius: 5px; 26 | padding: 5px 5px; 27 | } 28 | .ugc-notice.success { 29 | border-color: #3dbc15; 30 | /* background-color: #19D215; 31 | color: white; 32 | */ 33 | } 34 | .ugc-notice.failure { 35 | border-color: red; 36 | } -------------------------------------------------------------------------------- /lib/js/frontend-uploader.js: -------------------------------------------------------------------------------- 1 | jQuery( function($) { 2 | $( '#ugc-media-form' ).validate({ 3 | submitHandler: function(form) { 4 | form.submit(); 5 | } 6 | }); 7 | }); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_ar.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: AR (Arabic; العربية) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "هذا الحقل إلزامي", 8 | remote: "يرجى تصحيح هذا الحقل للمتابعة", 9 | email: "رجاء إدخال عنوان بريد إلكتروني صحيح", 10 | url: "رجاء إدخال عنوان موقع إلكتروني صحيح", 11 | date: "رجاء إدخال تاريخ صحيح", 12 | dateISO: "رجاء إدخال تاريخ صحيح (ISO)", 13 | number: "رجاء إدخال عدد بطريقة صحيحة", 14 | digits: "رجاء إدخال أرقام فقط", 15 | creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح", 16 | equalTo: "رجاء إدخال نفس القيمة", 17 | accept: "رجاء إدخال ملف بامتداد موافق عليه", 18 | maxlength: $.validator.format("الحد الأقصى لعدد الحروف هو {0}"), 19 | minlength: $.validator.format("الحد الأدنى لعدد الحروف هو {0}"), 20 | rangelength: $.validator.format("عدد الحروف يجب أن يكون بين {0} و {1}"), 21 | range: $.validator.format("رجاء إدخال عدد قيمته بين {0} و {1}"), 22 | max: $.validator.format("رجاء إدخال عدد أقل من أو يساوي (0}"), 23 | min: $.validator.format("رجاء إدخال عدد أكبر من أو يساوي (0}") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_bg.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: BG (Bulgarian; български език) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Полето е задължително.", 8 | remote: "Моля, въведете правилната стойност.", 9 | email: "Моля, въведете валиден email.", 10 | url: "Моля, въведете валидно URL.", 11 | date: "Моля, въведете валидна дата.", 12 | dateISO: "Моля, въведете валидна дата (ISO).", 13 | number: "Моля, въведете валиден номер.", 14 | digits: "Моля, въведете само цифри", 15 | creditcard: "Моля, въведете валиден номер на кредитна карта.", 16 | equalTo: "Моля, въведете същата стойност отново.", 17 | accept: "Моля, въведете стойност с валидно разширение.", 18 | maxlength: $.validator.format("Моля, въведете повече от {0} символа."), 19 | minlength: $.validator.format("Моля, въведете поне {0} символа."), 20 | rangelength: $.validator.format("Моля, въведете стойност с дължина между {0} и {1} символа."), 21 | range: $.validator.format("Моля, въведете стойност между {0} и {1}."), 22 | max: $.validator.format("Моля, въведете стойност по-малка или равна на {0}."), 23 | min: $.validator.format("Моля, въведете стойност по-голяма или равна на {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_ca.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: CA (Catalan; català) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Aquest camp és obligatori.", 8 | remote: "Si us plau, omple aquest camp.", 9 | email: "Si us plau, escriu una adreça de correu-e vàlida", 10 | url: "Si us plau, escriu una URL vàlida.", 11 | date: "Si us plau, escriu una data vàlida.", 12 | dateISO: "Si us plau, escriu una data (ISO) vàlida.", 13 | number: "Si us plau, escriu un número enter vàlid.", 14 | digits: "Si us plau, escriu només dígits.", 15 | creditcard: "Si us plau, escriu un número de tarjeta vàlid.", 16 | equalTo: "Si us plau, escriu el maateix valor de nou.", 17 | accept: "Si us plau, escriu un valor amb una extensió acceptada.", 18 | maxlength: $.validator.format("Si us plau, no escriguis més de {0} caracters."), 19 | minlength: $.validator.format("Si us plau, no escriguis menys de {0} caracters."), 20 | rangelength: $.validator.format("Si us plau, escriu un valor entre {0} i {1} caracters."), 21 | range: $.validator.format("Si us plau, escriu un valor entre {0} i {1}."), 22 | max: $.validator.format("Si us plau, escriu un valor menor o igual a {0}."), 23 | min: $.validator.format("Si us plau, escriu un valor major o igual a {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_cs.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: CS (Czech; čeština, český jazyk) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Tento údaj je povinný.", 8 | remote: "Prosím, opravte tento údaj.", 9 | email: "Prosím, zadejte platný e-mail.", 10 | url: "Prosím, zadejte platné URL.", 11 | date: "Prosím, zadejte platné datum.", 12 | dateISO: "Prosím, zadejte platné datum (ISO).", 13 | number: "Prosím, zadejte číslo.", 14 | digits: "Prosím, zadávejte pouze číslice.", 15 | creditcard: "Prosím, zadejte číslo kreditní karty.", 16 | equalTo: "Prosím, zadejte znovu stejnou hodnotu.", 17 | accept: "Prosím, zadejte soubor se správnou příponou.", 18 | maxlength: $.validator.format("Prosím, zadejte nejvíce {0} znaků."), 19 | minlength: $.validator.format("Prosím, zadejte nejméně {0} znaků."), 20 | rangelength: $.validator.format("Prosím, zadejte od {0} do {1} znaků."), 21 | range: $.validator.format("Prosím, zadejte hodnotu od {0} do {1}."), 22 | max: $.validator.format("Prosím, zadejte hodnotu menší nebo rovnu {0}."), 23 | min: $.validator.format("Prosím, zadejte hodnotu větší nebo rovnu {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_da.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: DA (Danish; dansk) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Dette felt er påkrævet.", 8 | maxlength: $.validator.format("Indtast højst {0} tegn."), 9 | minlength: $.validator.format("Indtast mindst {0} tegn."), 10 | rangelength: $.validator.format("Indtast mindst {0} og højst {1} tegn."), 11 | email: "Indtast en gyldig email-adresse.", 12 | url: "Indtast en gyldig URL.", 13 | date: "Indtast en gyldig dato.", 14 | number: "Indtast et tal.", 15 | digits: "Indtast kun cifre.", 16 | equalTo: "Indtast den samme værdi igen.", 17 | range: $.validator.format("Angiv en værdi mellem {0} og {1}."), 18 | max: $.validator.format("Angiv en værdi der højst er {0}."), 19 | min: $.validator.format("Angiv en værdi der mindst er {0}."), 20 | creditcard: "Indtast et gyldigt kreditkortnummer." 21 | }); 22 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_de.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: DE (German, Deutsch) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Dieses Feld ist ein Pflichtfeld.", 8 | maxlength: $.validator.format("Geben Sie bitte maximal {0} Zeichen ein."), 9 | minlength: $.validator.format("Geben Sie bitte mindestens {0} Zeichen ein."), 10 | rangelength: $.validator.format("Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein."), 11 | email: "Geben Sie bitte eine gültige E-Mail Adresse ein.", 12 | url: "Geben Sie bitte eine gültige URL ein.", 13 | date: "Bitte geben Sie ein gültiges Datum ein.", 14 | number: "Geben Sie bitte eine Nummer ein.", 15 | digits: "Geben Sie bitte nur Ziffern ein.", 16 | equalTo: "Bitte denselben Wert wiederholen.", 17 | range: $.validator.format("Geben Sie bitte einen Wert zwischen {0} und {1} ein."), 18 | max: $.validator.format("Geben Sie bitte einen Wert kleiner oder gleich {0} ein."), 19 | min: $.validator.format("Geben Sie bitte einen Wert größer oder gleich {0} ein."), 20 | creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein." 21 | }); 22 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_el.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: EL (Greek; ελληνικά) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Αυτό το πεδίο είναι υποχρεωτικό.", 8 | remote: "Παρακαλώ διορθώστε αυτό το πεδίο.", 9 | email: "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.", 10 | url: "Παρακαλώ εισάγετε ένα έγκυρο URL.", 11 | date: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.", 12 | dateISO: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).", 13 | number: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό.", 14 | digits: "Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.", 15 | creditcard: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.", 16 | equalTo: "Παρακαλώ εισάγετε την ίδια τιμή ξανά.", 17 | accept: "Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.", 18 | maxlength: $.validator.format("Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες."), 19 | minlength: $.validator.format("Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες."), 20 | rangelength: $.validator.format("Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων."), 21 | range: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}."), 22 | max: $.validator.format("Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}."), 23 | min: $.validator.format("Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_es.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ES (Spanish; Español) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Este campo es obligatorio.", 8 | remote: "Por favor, rellena este campo.", 9 | email: "Por favor, escribe una dirección de correo válida", 10 | url: "Por favor, escribe una URL válida.", 11 | date: "Por favor, escribe una fecha válida.", 12 | dateISO: "Por favor, escribe una fecha (ISO) válida.", 13 | number: "Por favor, escribe un número entero válido.", 14 | digits: "Por favor, escribe sólo dígitos.", 15 | creditcard: "Por favor, escribe un número de tarjeta válido.", 16 | equalTo: "Por favor, escribe el mismo valor de nuevo.", 17 | accept: "Por favor, escribe un valor con una extensión aceptada.", 18 | maxlength: $.validator.format("Por favor, no escribas más de {0} caracteres."), 19 | minlength: $.validator.format("Por favor, no escribas menos de {0} caracteres."), 20 | rangelength: $.validator.format("Por favor, escribe un valor entre {0} y {1} caracteres."), 21 | range: $.validator.format("Por favor, escribe un valor entre {0} y {1}."), 22 | max: $.validator.format("Por favor, escribe un valor menor o igual a {0}."), 23 | min: $.validator.format("Por favor, escribe un valor mayor o igual a {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_et.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ET (Estonian; eesti, eesti keel) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "See väli peab olema täidetud.", 8 | maxlength: $.validator.format("Palun sisestage vähem kui {0} tähemärki."), 9 | minlength: $.validator.format("Palun sisestage vähemalt {0} tähemärki."), 10 | rangelength: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki."), 11 | email: "Palun sisestage korrektne e-maili aadress.", 12 | url: "Palun sisestage korrektne URL.", 13 | date: "Palun sisestage korrektne kuupäev.", 14 | dateISO: "Palun sisestage korrektne kuupäev (YYYY-MM-DD).", 15 | number: "Palun sisestage korrektne number.", 16 | digits: "Palun sisestage ainult numbreid.", 17 | equalTo: "Palun sisestage sama väärtus uuesti.", 18 | range: $.validator.format("Palun sisestage väärtus vahemikus {0} kuni {1}."), 19 | max: $.validator.format("Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}."), 20 | min: $.validator.format("Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}."), 21 | creditcard: "Palun sisestage korrektne krediitkaardi number." 22 | }); 23 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_eu.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: EU (Basque; euskara, euskera) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Eremu hau beharrezkoa da.", 8 | remote: "Mesedez, bete eremu hau.", 9 | email: "Mesedez, idatzi baliozko posta helbide bat.", 10 | url: "Mesedez, idatzi baliozko URL bat.", 11 | date: "Mesedez, idatzi baliozko data bat.", 12 | dateISO: "Mesedez, idatzi baliozko (ISO) data bat.", 13 | number: "Mesedez, idatzi baliozko zenbaki oso bat.", 14 | digits: "Mesedez, idatzi digituak soilik.", 15 | creditcard: "Mesedez, idatzi baliozko txartel zenbaki bat.", 16 | equalTo: "Mesedez, idatzi berdina berriro ere.", 17 | accept: "Mesedez, idatzi onartutako luzapena duen balio bat.", 18 | maxlength: $.validator.format("Mesedez, ez idatzi {0} karaktere baino gehiago."), 19 | minlength: $.validator.format("Mesedez, ez idatzi {0} karaktere baino gutxiago."), 20 | rangelength: $.validator.format("Mesedez, idatzi {0} eta {1} karaktere arteko balio bat."), 21 | range: $.validator.format("Mesedez, idatzi {0} eta {1} arteko balio bat."), 22 | max: $.validator.format("Mesedez, idatzi {0} edo txikiagoa den balio bat."), 23 | min: $.validator.format("Mesedez, idatzi {0} edo handiagoa den balio bat.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_fa.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: FA (Persian; فارسی) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "تکمیل این فیلد اجباری است.", 8 | remote: "لطفا این فیلد را تصحیح کنید.", 9 | email: ".لطفا یک ایمیل صحیح وارد کنید", 10 | url: "لطفا آدرس صحیح وارد کنید.", 11 | date: "لطفا یک تاریخ صحیح وارد کنید", 12 | dateISO: "لطفا تاریخ صحیح وارد کنید (ISO).", 13 | number: "لطفا عدد صحیح وارد کنید.", 14 | digits: "لطفا تنها رقم وارد کنید", 15 | creditcard: "لطفا کریدیت کارت صحیح وارد کنید.", 16 | equalTo: "لطفا مقدار برابری وارد کنید", 17 | accept: "لطفا مقداری وارد کنید که ", 18 | maxlength: $.validator.format("لطفا بیشتر از {0} حرف وارد نکنید."), 19 | minlength: $.validator.format("لطفا کمتر از {0} حرف وارد نکنید."), 20 | rangelength: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."), 21 | range: $.validator.format("لطفا مقداری بین {0} تا {1} حرف وارد کنید."), 22 | max: $.validator.format("لطفا مقداری کمتر از {0} حرف وارد کنید."), 23 | min: $.validator.format("لطفا مقداری بیشتر از {0} حرف وارد کنید.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_fi.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: FI (Finnish; suomi, suomen kieli) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Tämä kenttä on pakollinen.", 8 | email: "Syötä oikea sähköpostiosoite.", 9 | url: "Syötä oikea URL osoite.", 10 | date: "Syötä oike päivämäärä.", 11 | dateISO: "Syötä oike päivämäärä (VVVV-MM-DD).", 12 | number: "Syötä numero.", 13 | creditcard: "Syötä voimassa oleva luottokorttinumero.", 14 | digits: "Syötä pelkästään numeroita.", 15 | equalTo: "Syötä sama arvo uudestaan.", 16 | maxlength: $.validator.format("Voit syöttää enintään {0} merkkiä."), 17 | minlength: $.validator.format("Vähintään {0} merkkiä."), 18 | rangelength: $.validator.format("Syötä vähintään {0} ja enintään {1} merkkiä."), 19 | range: $.validator.format("Syötä arvo {0} ja {1} väliltä."), 20 | max: $.validator.format("Syötä arvo joka on pienempi tai yhtä suuri kuin {0}."), 21 | min: $.validator.format("Syötä arvo joka on yhtä suuri tai suurempi kuin {0}.") 22 | }); 23 | }(jQuery)); 24 | -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_fr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: FR (French; français) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Ce champ est obligatoire.", 8 | remote: "Veuillez corriger ce champ.", 9 | email: "Veuillez fournir une adresse électronique valide.", 10 | url: "Veuillez fournir une adresse URL valide.", 11 | date: "Veuillez fournir une date valide.", 12 | dateISO: "Veuillez fournir une date valide (ISO).", 13 | number: "Veuillez fournir un numéro valide.", 14 | digits: "Veuillez fournir seulement des chiffres.", 15 | creditcard: "Veuillez fournir un numéro de carte de crédit valide.", 16 | equalTo: "Veuillez fournir encore la même valeur.", 17 | accept: "Veuillez fournir une valeur avec une extension valide.", 18 | maxlength: $.validator.format("Veuillez fournir au plus {0} caractères."), 19 | minlength: $.validator.format("Veuillez fournir au moins {0} caractères."), 20 | rangelength: $.validator.format("Veuillez fournir une valeur qui contient entre {0} et {1} caractères."), 21 | range: $.validator.format("Veuillez fournir une valeur entre {0} et {1}."), 22 | max: $.validator.format("Veuillez fournir une valeur inférieur ou égal à {0}."), 23 | min: $.validator.format("Veuillez fournir une valeur supérieur ou égal à {0}."), 24 | maxWords: $.validator.format("Veuillez fournir au plus {0} mots."), 25 | minWords: $.validator.format("Veuillez fournir au moins {0} mots."), 26 | rangeWords: $.validator.format("Veuillez fournir entre {0} et {1} mots."), 27 | letterswithbasicpunc: "Veuillez fournir seulement des lettres et des signes de ponctuation.", 28 | alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages", 29 | lettersonly: "Veuillez fournir seulement des lettres.", 30 | nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.", 31 | ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.", 32 | integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.", 33 | vinUS: "Veuillez fournir un numéro d'identification du véhicule (VIN).", 34 | dateITA: "Veuillez fournir une date valide.", 35 | time: "Veuillez fournir une heure valide entre 00:00 et 23:59.", 36 | phoneUS: "Veuillez fournir un numéro de téléphone valide.", 37 | phoneUK: "Veuillez fournir un numéro de téléphone valide.", 38 | mobileUK: "Veuillez fournir un numéro de téléphone mobile valide.", 39 | strippedminlength: $.validator.format("Veuillez fournir au moins {0} caractères."), 40 | email2: "Veuillez fournir une adresse électronique valide.", 41 | url2: "Veuillez fournir une adresse URL valide.", 42 | creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.", 43 | ipv4: "Veuillez fournir une adresse IP v4 valide.", 44 | ipv6: "Veuillez fournir une adresse IP v6 valide.", 45 | require_from_group: "Veuillez fournir au moins {0} de ces champs." 46 | }); 47 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_he.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: HE (Hebrew; עברית) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "השדה הזה הינו שדה חובה", 8 | remote: "נא לתקן שדה זה", 9 | email: "נא למלא כתובת דוא\"ל חוקית", 10 | url: "נא למלא כתובת אינטרנט חוקית", 11 | date: "נא למלא תאריך חוקי", 12 | dateISO: "נא למלא תאריך חוקי (ISO)", 13 | number: "נא למלא מספר", 14 | digits: "נא למלא רק מספרים", 15 | creditcard: "נא למלא מספר כרטיס אשראי חוקי", 16 | equalTo: "נא למלא את אותו ערך שוב", 17 | accept: "נא למלא ערך עם סיומת חוקית", 18 | maxlength: $.validator.format(".נא לא למלא יותר מ- {0} תווים"), 19 | minlength: $.validator.format("נא למלא לפחות {0} תווים"), 20 | rangelength: $.validator.format("נא למלא ערך בין {0} ל- {1} תווים"), 21 | range: $.validator.format("נא למלא ערך בין {0} ל- {1}"), 22 | max: $.validator.format("נא למלא ערך קטן או שווה ל- {0}"), 23 | min: $.validator.format("נא למלא ערך גדול או שווה ל- {0}") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_hr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: HR (Croatia; hrvatski jezik) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Ovo polje je obavezno.", 8 | remote: "Ovo polje treba popraviti.", 9 | email: "Unesite ispravnu e-mail adresu.", 10 | url: "Unesite ispravan URL.", 11 | date: "Unesite ispravan datum.", 12 | dateISO: "Unesite ispravan datum (ISO).", 13 | number: "Unesite ispravan broj.", 14 | digits: "Unesite samo brojeve.", 15 | creditcard: "Unesite ispravan broj kreditne kartice.", 16 | equalTo: "Unesite ponovo istu vrijednost.", 17 | accept: "Unesite vrijednost sa ispravnom ekstenzijom.", 18 | maxlength: $.validator.format("Maksimalni broj znakova je {0} ."), 19 | minlength: $.validator.format("Minimalni broj znakova je {0} ."), 20 | rangelength: $.validator.format("Unesite vrijednost između {0} i {1} znakova."), 21 | range: $.validator.format("Unesite vrijednost između {0} i {1}."), 22 | max: $.validator.format("Unesite vrijednost manju ili jednaku {0}."), 23 | min: $.validator.format("Unesite vrijednost veću ili jednaku {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_hu.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: HU (Hungarian; Magyar) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Kötelező megadni.", 8 | maxlength: $.validator.format("Legfeljebb {0} karakter hosszú legyen."), 9 | minlength: $.validator.format("Legalább {0} karakter hosszú legyen."), 10 | rangelength: $.validator.format("Legalább {0} és legfeljebb {1} karakter hosszú legyen."), 11 | email: "Érvényes e-mail címnek kell lennie.", 12 | url: "Érvényes URL-nek kell lennie.", 13 | date: "Dátumnak kell lennie.", 14 | number: "Számnak kell lennie.", 15 | digits: "Csak számjegyek lehetnek.", 16 | equalTo: "Meg kell egyeznie a két értéknek.", 17 | range: $.validator.format("{0} és {1} közé kell esnie."), 18 | max: $.validator.format("Nem lehet nagyobb, mint {0}."), 19 | min: $.validator.format("Nem lehet kisebb, mint {0}."), 20 | creditcard: "Érvényes hitelkártyaszámnak kell lennie.", 21 | remote: "Kérem javítsa ki ezt a mezőt.", 22 | dateISO: "Kérem írjon be egy érvényes dátumot (ISO)." 23 | }); 24 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_it.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: IT (Italian; Italiano) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Campo obbligatorio.", 8 | remote: "Controlla questo campo.", 9 | email: "Inserisci un indirizzo email valido.", 10 | url: "Inserisci un indirizzo web valido.", 11 | date: "Inserisci una data valida.", 12 | dateISO: "Inserisci una data valida (ISO).", 13 | number: "Inserisci un numero valido.", 14 | digits: "Inserisci solo numeri.", 15 | creditcard: "Inserisci un numero di carta di credito valido.", 16 | equalTo: "Il valore non corrisponde.", 17 | accept: "Inserisci un valore con un'estensione valida.", 18 | maxlength: $.validator.format("Non inserire più di {0} caratteri."), 19 | minlength: $.validator.format("Inserisci almeno {0} caratteri."), 20 | rangelength: $.validator.format("Inserisci un valore compreso tra {0} e {1} caratteri."), 21 | range: $.validator.format("Inserisci un valore compreso tra {0} e {1}."), 22 | max: $.validator.format("Inserisci un valore minore o uguale a {0}."), 23 | min: $.validator.format("Inserisci un valore maggiore o uguale a {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_ja.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: JA (Japanese; 日本語) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "このフィールドは必須です。", 8 | remote: "このフィールドを修正してください。", 9 | email: "有効なEメールアドレスを入力してください。", 10 | url: "有効なURLを入力してください。", 11 | date: "有効な日付を入力してください。", 12 | dateISO: "有効な日付(ISO)を入力してください。", 13 | number: "有効な数字を入力してください。", 14 | digits: "数字のみを入力してください。", 15 | creditcard: "有効なクレジットカード番号を入力してください。", 16 | equalTo: "同じ値をもう一度入力してください。", 17 | accept: "有効な拡張子を含む値を入力してください。", 18 | maxlength: $.format("{0} 文字以内で入力してください。"), 19 | minlength: $.format("{0} 文字以上で入力してください。"), 20 | rangelength: $.format("{0} 文字から {1} 文字までの値を入力してください。"), 21 | range: $.format("{0} から {1} までの値を入力してください。"), 22 | max: $.format("{0} 以下の値を入力してください。"), 23 | min: $.format("{0} 以上の値を入力してください。") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_ka.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: KA (Georgian; ქართული) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "ამ ველის შევსება აუცილებელია.", 8 | remote: "გთხოვთ მიუთითოთ სწორი მნიშვნელობა.", 9 | email: "გთხოვთ მიუთითოთ ელ-ფოსტის კორექტული მისამართი.", 10 | url: "გთხოვთ მიუთითოთ კორექტული URL.", 11 | date: "გთხოვთ მიუთითოთ კორექტული თარიღი.", 12 | dateISO: "გთხოვთ მიუთითოთ კორექტული თარიღი ISO ფორმატში.", 13 | number: "გთხოვთ მიუთითოთ ციფრი.", 14 | digits: "გთხოვთ მიუთითოთ მხოლოდ ციფრები.", 15 | creditcard: "გთხოვთ მიუთითოთ საკრედიტო ბარათის კორექტული ნომერი.", 16 | equalTo: "გთხოვთ მიუთითოთ ასეთივე მნიშვნელობა კიდევ ერთხელ.", 17 | accept: "გთხოვთ აირჩიოთ ფაილი კორექტული გაფართოებით.", 18 | maxlength: $.validator.format("დასაშვებია არაუმეტეს {0} სიმბოლო."), 19 | minlength: $.validator.format("აუცილებელია შეიყვანოთ მინიმუმ {0} სიმბოლო."), 20 | rangelength: $.validator.format("ტექსტში სიმბოლოების რაოდენობა უნდა იყოს {0}-დან {1}-მდე."), 21 | range: $.validator.format("გთხოვთ შეიყვანოთ ციფრი {0}-დან {1}-მდე."), 22 | max: $.validator.format("გთხოვთ შეიყვანოთ ციფრი რომელიც ნაკლებია ან უდრის {0}-ს."), 23 | min: $.validator.format("გთხოვთ შეიყვანოთ ციფრი რომელიც მეტია ან უდრის {0}-ს.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_kk.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: KK (Kazakh; қазақ тілі) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Бұл өрісті міндетті түрде толтырыңыз.", 8 | remote: "Дұрыс мағына енгізуіңізді сұраймыз.", 9 | email: "Нақты электронды поштаңызды енгізуіңізді сұраймыз.", 10 | url: "Нақты URL-ды енгізуіңізді сұраймыз.", 11 | date: "Нақты URL-ды енгізуіңізді сұраймыз.", 12 | dateISO: "Нақты ISO форматымен сәйкес датасын енгізуіңізді сұраймыз.", 13 | number: "Күнді енгізуіңізді сұраймыз.", 14 | digits: "Тек қана сандарды енгізуіңізді сұраймыз.", 15 | creditcard: "Несие картасының нөмірін дұрыс енгізуіңізді сұраймыз.", 16 | equalTo: "Осы мәнді қайта енгізуіңізді сұраймыз.", 17 | accept: "Файлдың кеңейтуін дұрыс таңдаңыз.", 18 | maxlength: $.format("Ұзындығы {0} символдан көр болмасын."), 19 | minlength: $.format("Ұзындығы {0} символдан аз болмасын."), 20 | rangelength: $.format("Ұзындығы {0}-{1} дейін мән енгізуіңізді сұраймыз."), 21 | range: $.format("Пожалуйста, введите число от {0} до {1}. - {0} - {1} санын енгізуіңізді сұраймыз."), 22 | max: $.format("{0} аз немесе тең санын енгізуіңіді сұраймыз."), 23 | min: $.format("{0} көп немесе тең санын енгізуіңізді сұраймыз.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_ko.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: KO (Korean; 한국어) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "필수 항목입니다.", 8 | remote: "항목을 수정하세요.", 9 | email: "유효하지 않은 E-Mail주소입니다.", 10 | url: "유효하지 않은 주소입니다.", 11 | date: "옳바른 날짜를 입력하세요.", 12 | dateISO: "옳바른 날짜(ISO)를 입력하세요.", 13 | number: "유효한 숫자가 아닙니다.", 14 | digits: "숫자만 입력 가능합니다.", 15 | creditcard: "신용카드번호가 바르지 않습니다.", 16 | equalTo: "같은값을 다시 입력하세요.", 17 | accept: "옳바른 확장자가 아닙니다.", 18 | maxlength: $.format("{0}자를 넘을 수 없습니다. "), 19 | minlength: $.format("{0}자 이하로 입력하세요."), 20 | rangelength: $.format("문자 길이를 {0} 에서 {1} 사이의로 입력하세요."), 21 | range: $.format("{0} 에서 {1} 값을 입력하세요."), 22 | max: $.format("{0} 이하의 값을 입력하세요."), 23 | min: $.format("{0} 이상의 값을 입력하세요.") 24 | }); 25 | }(jQuery)); 26 | -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_lt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: LT (Lithuanian; lietuvių kalba) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Šis laukas yra privalomas.", 8 | remote: "Prašau pataisyti šį lauką.", 9 | email: "Prašau įvesti teisingą elektroninio pašto adresą.", 10 | url: "Prašau įvesti teisingą URL.", 11 | date: "Prašau įvesti teisingą datą.", 12 | dateISO: "Prašau įvesti teisingą datą (ISO).", 13 | number: "Prašau įvesti teisingą skaičių.", 14 | digits: "Prašau naudoti tik skaitmenis.", 15 | creditcard: "Prašau įvesti teisingą kreditinės kortelės numerį.", 16 | equalTo: "Prašau įvestį tą pačią reikšmę dar kartą.", 17 | accept: "Prašau įvesti reikšmę su teisingu plėtiniu.", 18 | maxlength: $.format("Prašau įvesti ne daugiau kaip {0} simbolių."), 19 | minlength: $.format("Prašau įvesti bent {0} simbolius."), 20 | rangelength: $.format("Prašau įvesti reikšmes, kurių ilgis nuo {0} iki {1} simbolių."), 21 | range: $.format("Prašau įvesti reikšmę intervale nuo {0} iki {1}."), 22 | max: $.format("Prašau įvesti reikšmę mažesnę arba lygią {0}."), 23 | min: $.format("Prašau įvesti reikšmę didesnę arba lygią {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_lv.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: LV (Latvian; latviešu valoda) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Šis lauks ir obligāts.", 8 | remote: "Lūdzu, pārbaudiet šo lauku.", 9 | email: "Lūdzu, ievadiet derīgu e-pasta adresi.", 10 | url: "Lūdzu, ievadiet derīgu URL adresi.", 11 | date: "Lūdzu, ievadiet derīgu datumu.", 12 | dateISO: "Lūdzu, ievadiet derīgu datumu (ISO).", 13 | number: "Lūdzu, ievadiet derīgu numuru.", 14 | digits: "Lūdzu, ievadiet tikai ciparus.", 15 | creditcard: "Lūdzu, ievadiet derīgu kredītkartes numuru.", 16 | equalTo: "Lūdzu, ievadiet to pašu vēlreiz.", 17 | accept: "Lūdzu, ievadiet vērtību ar derīgu paplašinājumu.", 18 | maxlength: $.validator.format("Lūdzu, ievadiet ne vairāk kā {0} rakstzīmes."), 19 | minlength: $.validator.format("Lūdzu, ievadiet vismaz {0} rakstzīmes."), 20 | rangelength: $.validator.format("Lūdzu ievadiet {0} līdz {1} rakstzīmes."), 21 | range: $.validator.format("Lūdzu, ievadiet skaitli no {0} līdz {1}."), 22 | max: $.validator.format("Lūdzu, ievadiet skaitli, kurš ir mazāks vai vienāds ar {0}."), 23 | min: $.validator.format("Lūdzu, ievadiet skaitli, kurš ir lielāks vai vienāds ar {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_my.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: MY (Malay; Melayu) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Medan ini diperlukan.", 8 | remote: "Sila betulkan medan ini.", 9 | email: "Sila masukkan alamat emel yang betul.", 10 | url: "Sila masukkan URL yang betul.", 11 | date: "Sila masukkan tarikh yang betul.", 12 | dateISO: "Sila masukkan tarikh(ISO) yang betul.", 13 | number: "Sila masukkan nombor yang betul.", 14 | digits: "Sila masukkan nilai digit sahaja.", 15 | creditcard: "Sila masukkan nombor kredit kad yang betul.", 16 | equalTo: "Sila masukkan nilai yang sama semula.", 17 | accept: "Sila masukkan nilai yang telah diterima.", 18 | maxlength: $.validator.format("Sila masukkan nilai tidak lebih dari {0} aksara."), 19 | minlength: $.validator.format("Sila masukkan nilai sekurang-kurangnya {0} aksara."), 20 | rangelength: $.validator.format("Sila masukkan panjang nilai antara {0} dan {1} aksara."), 21 | range: $.validator.format("Sila masukkan nilai antara {0} dan {1} aksara."), 22 | max: $.validator.format("Sila masukkan nilai yang kurang atau sama dengan {0}."), 23 | min: $.validator.format("Sila masukkan nilai yang lebih atau sama dengan {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_nl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: NL (Dutch; Nederlands, Vlaams) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Dit is een verplicht veld.", 8 | remote: "Controleer dit veld.", 9 | email: "Vul hier een geldig e-mailadres in.", 10 | url: "Vul hier een geldige URL in.", 11 | date: "Vul hier een geldige datum in.", 12 | dateISO: "Vul hier een geldige datum in (ISO-formaat).", 13 | number: "Vul hier een geldig getal in.", 14 | digits: "Vul hier alleen getallen in.", 15 | creditcard: "Vul hier een geldig creditcardnummer in.", 16 | equalTo: "Vul hier dezelfde waarde in.", 17 | accept: "Vul hier een waarde in met een geldige extensie.", 18 | maxlength: $.validator.format("Vul hier maximaal {0} tekens in."), 19 | minlength: $.validator.format("Vul hier minimaal {0} tekens in."), 20 | rangelength: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1} tekens."), 21 | range: $.validator.format("Vul hier een waarde in van minimaal {0} en maximaal {1}."), 22 | max: $.validator.format("Vul hier een waarde in kleiner dan of gelijk aan {0}."), 23 | min: $.validator.format("Vul hier een waarde in groter dan of gelijk aan {0}."), 24 | 25 | // for validations in additional-methods.js 26 | iban: "Vul hier een geldig IBAN in.", 27 | dateNL: "Vul hier een geldige datum in.", 28 | phoneNL: "Vul hier een geldig Nederlands telefoonnummer in.", 29 | mobileNL: "Vul hier een geldig Nederlands mobiel telefoonnummer in.", 30 | postalcodeNL: "Vul hier een geldige postcode in.", 31 | bankaccountNL: "Vul hier een geldig bankrekeningnummer in.", 32 | giroaccountNL: "Vul hier een geldig gironummer in.", 33 | bankorgiroaccountNL: "Vul hier een geldig bank- of gironummer in." 34 | }); 35 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_no.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: NO (Norwegian; Norsk) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Dette feltet er obligatorisk.", 8 | maxlength: $.validator.format("Maksimalt {0} tegn."), 9 | minlength: $.validator.format("Minimum {0} tegn."), 10 | rangelength: $.validator.format("Angi minimum {0} og maksimum {1} tegn."), 11 | email: "Oppgi en gyldig epostadresse.", 12 | url: "Angi en gyldig URL.", 13 | date: "Angi en gyldig dato.", 14 | dateISO: "Angi en gyldig dato (&ARING;&ARING;&ARING;&ARING;-MM-DD).", 15 | dateSE: "Angi en gyldig dato.", 16 | number: "Angi et gyldig nummer.", 17 | numberSE: "Angi et gyldig nummer.", 18 | digits: "Skriv kun tall.", 19 | equalTo: "Skriv samme verdi igjen.", 20 | range: $.validator.format("Angi en verdi mellom {0} og {1}."), 21 | max: $.validator.format("Angi en verdi som er mindre eller lik {0}."), 22 | min: $.validator.format("Angi en verdi som er større eller lik {0}."), 23 | creditcard: "Angi et gyldig kredittkortnummer." 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_pl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: PL (Polish; język polski, polszczyzna) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "To pole jest wymagane.", 8 | remote: "Proszę o wypełnienie tego pola.", 9 | email: "Proszę o podanie prawidłowego adresu email.", 10 | url: "Proszę o podanie prawidłowego URL.", 11 | date: "Proszę o podanie prawidłowej daty.", 12 | dateISO: "Proszę o podanie prawidłowej daty (ISO).", 13 | number: "Proszę o podanie prawidłowej liczby.", 14 | digits: "Proszę o podanie samych cyfr.", 15 | creditcard: "Proszę o podanie prawidłowej karty kredytowej.", 16 | equalTo: "Proszę o podanie tej samej wartości ponownie.", 17 | accept: "Proszę o podanie wartości z prawidłowym rozszerzeniem.", 18 | maxlength: $.validator.format("Proszę o podanie nie więcej niż {0} znaków."), 19 | minlength: $.validator.format("Proszę o podanie przynajmniej {0} znaków."), 20 | rangelength: $.validator.format("Proszę o podanie wartości o długości od {0} do {1} znaków."), 21 | range: $.validator.format("Proszę o podanie wartości z przedziału od {0} do {1}."), 22 | max: $.validator.format("Proszę o podanie wartości mniejszej bądź równej {0}."), 23 | min: $.validator.format("Proszę o podanie wartości większej bądź równej {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_pt_BR.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: PT (Portuguese; português) 4 | * Region: BR (Brazil) 5 | */ 6 | (function ($) { 7 | $.extend($.validator.messages, { 8 | required: "Este campo é requerido.", 9 | remote: "Por favor, corrija este campo.", 10 | email: "Por favor, forneça um endereço eletrônico válido.", 11 | url: "Por favor, forneça uma URL válida.", 12 | date: "Por favor, forneça uma data válida.", 13 | dateISO: "Por favor, forneça uma data válida (ISO).", 14 | number: "Por favor, forneça um número válido.", 15 | digits: "Por favor, forneça somente dígitos.", 16 | creditcard: "Por favor, forneça um cartão de crédito válido.", 17 | equalTo: "Por favor, forneça o mesmo valor novamente.", 18 | accept: "Por favor, forneça um valor com uma extensão válida.", 19 | maxlength: $.validator.format("Por favor, forneça não mais que {0} caracteres."), 20 | minlength: $.validator.format("Por favor, forneça ao menos {0} caracteres."), 21 | rangelength: $.validator.format("Por favor, forneça um valor entre {0} e {1} caracteres de comprimento."), 22 | range: $.validator.format("Por favor, forneça um valor entre {0} e {1}."), 23 | max: $.validator.format("Por favor, forneça um valor menor ou igual a {0}."), 24 | min: $.validator.format("Por favor, forneça um valor maior ou igual a {0}.") 25 | }); 26 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_pt_PT.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: PT (Portuguese; português) 4 | * Region: PT (Portugal) 5 | */ 6 | (function ($) { 7 | $.extend($.validator.messages, { 8 | required: "Campo de preenchimento obrigatório.", 9 | remote: "Por favor, corrija este campo.", 10 | email: "Por favor, introduza um endereço eletrónico válido.", 11 | url: "Por favor, introduza um URL válido.", 12 | date: "Por favor, introduza uma data válida.", 13 | dateISO: "Por favor, introduza uma data válida (ISO).", 14 | number: "Por favor, introduza um número válido.", 15 | digits: "Por favor, introduza apenas dígitos.", 16 | creditcard: "Por favor, introduza um número de cartão de crédito válido.", 17 | equalTo: "Por favor, introduza de novo o mesmo valor.", 18 | accept: "Por favor, introduza um ficheiro com uma extensão válida.", 19 | maxlength: $.validator.format("Por favor, não introduza mais do que {0} caracteres."), 20 | minlength: $.validator.format("Por favor, introduza pelo menos {0} caracteres."), 21 | rangelength: $.validator.format("Por favor, introduza entre {0} e {1} caracteres."), 22 | range: $.validator.format("Por favor, introduza um valor entre {0} e {1}."), 23 | max: $.validator.format("Por favor, introduza um valor menor ou igual a {0}."), 24 | min: $.validator.format("Por favor, introduza um valor maior ou igual a {0}.") 25 | }); 26 | }(jQuery)); 27 | -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_ro.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: RO (Romanian, limba română) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Acest câmp este obligatoriu.", 8 | remote: "Te rugăm să completezi acest câmp.", 9 | email: "Te rugăm să introduci o adresă de email validă", 10 | url: "Te rugăm sa introduci o adresă URL validă.", 11 | date: "Te rugăm să introduci o dată corectă.", 12 | dateISO: "Te rugăm să introduci o dată (ISO) corectă.", 13 | number: "Te rugăm să introduci un număr întreg valid.", 14 | digits: "Te rugăm să introduci doar cifre.", 15 | creditcard: "Te rugăm să introduci un numar de carte de credit valid.", 16 | equalTo: "Te rugăm să reintroduci valoarea.", 17 | accept: "Te rugăm să introduci o valoare cu o extensie validă.", 18 | maxlength: $.validator.format("Te rugăm să nu introduci mai mult de {0} caractere."), 19 | minlength: $.validator.format("Te rugăm să introduci cel puțin {0} caractere."), 20 | rangelength: $.validator.format("Te rugăm să introduci o valoare între {0} și {1} caractere."), 21 | range: $.validator.format("Te rugăm să introduci o valoare între {0} și {1}."), 22 | max: $.validator.format("Te rugăm să introduci o valoare egal sau mai mică decât {0}."), 23 | min: $.validator.format("Te rugăm să introduci o valoare egal sau mai mare decât {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_ru.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: RU (Russian; русский язык) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Это поле необходимо заполнить.", 8 | remote: "Пожалуйста, введите правильное значение.", 9 | email: "Пожалуйста, введите корректный адрес электронной почты.", 10 | url: "Пожалуйста, введите корректный URL.", 11 | date: "Пожалуйста, введите корректную дату.", 12 | dateISO: "Пожалуйста, введите корректную дату в формате ISO.", 13 | number: "Пожалуйста, введите число.", 14 | digits: "Пожалуйста, вводите только цифры.", 15 | creditcard: "Пожалуйста, введите правильный номер кредитной карты.", 16 | equalTo: "Пожалуйста, введите такое же значение ещё раз.", 17 | accept: "Пожалуйста, выберите файл с правильным расширением.", 18 | maxlength: $.validator.format("Пожалуйста, введите не больше {0} символов."), 19 | minlength: $.validator.format("Пожалуйста, введите не меньше {0} символов."), 20 | rangelength: $.validator.format("Пожалуйста, введите значение длиной от {0} до {1} символов."), 21 | range: $.validator.format("Пожалуйста, введите число от {0} до {1}."), 22 | max: $.validator.format("Пожалуйста, введите число, меньшее или равное {0}."), 23 | min: $.validator.format("Пожалуйста, введите число, большее или равное {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_si.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SI (Slovenian) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "To polje je obvezno.", 8 | remote: "Vpis v tem polju ni v pravi obliki.", 9 | email: "Prosimo, vnesite pravi email naslov.", 10 | url: "Prosimo, vnesite pravi URL.", 11 | date: "Prosimo, vnesite pravi datum.", 12 | dateISO: "Prosimo, vnesite pravi datum (ISO).", 13 | number: "Prosimo, vnesite pravo številko.", 14 | digits: "Prosimo, vnesite samo številke.", 15 | creditcard: "Prosimo, vnesite pravo številko kreditne kartice.", 16 | equalTo: "Prosimo, ponovno vnesite enako vsebino.", 17 | accept: "Prosimo, vnesite vsebino z pravo končnico.", 18 | maxlength: $.validator.format("Prosimo, da ne vnašate več kot {0} znakov."), 19 | minlength: $.validator.format("Prosimo, vnesite vsaj {0} znakov."), 20 | rangelength: $.validator.format("Prosimo, vnesite od {0} do {1} znakov."), 21 | range: $.validator.format("Prosimo, vnesite vrednost med {0} in {1}."), 22 | max: $.validator.format("Prosimo, vnesite vrednost manjšo ali enako {0}."), 23 | min: $.validator.format("Prosimo, vnesite vrednost večjo ali enako {0}.") 24 | }); 25 | }(jQuery)); 26 | -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_sk.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SK (Slovak; slovenčina, slovenský jazyk) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Povinné zadať.", 8 | maxlength: $.validator.format("Maximálne {0} znakov."), 9 | minlength: $.validator.format("Minimálne {0} znakov."), 10 | rangelength: $.validator.format("Minimálne {0} a Maximálne {0} znakov."), 11 | email: "E-mailová adresa musí byť platná.", 12 | url: "URL musí byť platný.", 13 | date: "Musí byť dátum.", 14 | number: "Musí byť číslo.", 15 | digits: "Môže obsahovať iba číslice.", 16 | equalTo: "Dva hodnoty sa musia rovnať.", 17 | range: $.validator.format("Musí byť medzi {0} a {1}."), 18 | max: $.validator.format("Nemôže byť viac ako{0}."), 19 | min: $.validator.format("Nemôže byť menej ako{0}."), 20 | creditcard: "Číslo platobnej karty musí byť platné." 21 | }); 22 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_sl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Language: SL (Slovenian; slovenski jezik) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "To polje je obvezno.", 8 | remote: "Prosimo popravite to polje.", 9 | email: "Prosimo vnesite veljaven email naslov.", 10 | url: "Prosimo vnesite veljaven URL naslov.", 11 | date: "Prosimo vnesite veljaven datum.", 12 | dateISO: "Prosimo vnesite veljaven ISO datum.", 13 | number: "Prosimo vnesite veljavno število.", 14 | digits: "Prosimo vnesite samo števila.", 15 | creditcard: "Prosimo vnesite veljavno številko kreditne kartice.", 16 | equalTo: "Prosimo ponovno vnesite vrednost.", 17 | accept: "Prosimo vnesite vrednost z veljavno končnico.", 18 | maxlength: $.validator.format("Prosimo vnesite največ {0} znakov."), 19 | minlength: $.validator.format("Prosimo vnesite najmanj {0} znakov."), 20 | rangelength: $.validator.format("Prosimo vnesite najmanj {0} in največ {1} znakov."), 21 | range: $.validator.format("Prosimo vnesite vrednost med {0} in {1}."), 22 | max: $.validator.format("Prosimo vnesite vrednost manjše ali enako {0}."), 23 | min: $.validator.format("Prosimo vnesite vrednost večje ali enako {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_sr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SR (Serbian; српски језик) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Поље је обавезно.", 8 | remote: "Средите ово поље.", 9 | email: "Унесите исправну и-мејл адресу", 10 | url: "Унесите исправан URL.", 11 | date: "Унесите исправан датум.", 12 | dateISO: "Унесите исправан датум (ISO).", 13 | number: "Унесите исправан број.", 14 | digits: "Унесите само цифе.", 15 | creditcard: "Унесите исправан број кредитне картице.", 16 | equalTo: "Унесите исту вредност поново.", 17 | accept: "Унесите вредност са одговарајућом екстензијом.", 18 | maxlength: $.validator.format("Унесите мање од {0}карактера."), 19 | minlength: $.validator.format("Унесите барем {0} карактера."), 20 | rangelength: $.validator.format("Унесите вредност дугачку између {0} и {1} карактера."), 21 | range: $.validator.format("Унесите вредност између {0} и {1}."), 22 | max: $.validator.format("Унесите вредност мању или једнаку {0}."), 23 | min: $.validator.format("Унесите вредност већу или једнаку {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_sv.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SV (Swedish; Svenska) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Detta fält är obligatoriskt.", 8 | maxlength: $.validator.format("Du får ange högst {0} tecken."), 9 | minlength: $.validator.format("Du måste ange minst {0} tecken."), 10 | rangelength: $.validator.format("Ange minst {0} och max {1} tecken."), 11 | email: "Ange en korrekt e-postadress.", 12 | url: "Ange en korrekt URL.", 13 | date: "Ange ett korrekt datum.", 14 | dateISO: "Ange ett korrekt datum (ÅÅÅÅ-MM-DD).", 15 | number: "Ange ett korrekt nummer.", 16 | digits: "Ange endast siffror.", 17 | equalTo: "Ange samma värde igen.", 18 | range: $.validator.format("Ange ett värde mellan {0} och {1}."), 19 | max: $.validator.format("Ange ett värde som är mindre eller lika med {0}."), 20 | min: $.validator.format("Ange ett värde som är större eller lika med {0}."), 21 | creditcard: "Ange ett korrekt kreditkortsnummer." 22 | }); 23 | }(jQuery)); 24 | -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_th.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: TH (Thai; ไทย) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "โปรดระบุ", 8 | remote: "โปรดแก้ไขให้ถูกต้อง", 9 | email: "โปรดระบุที่อยู่อีเมล์ที่ถูกต้อง", 10 | url: "โปรดระบุ URL ที่ถูกต้อง", 11 | date: "โปรดระบุวันที่ ที่ถูกต้อง", 12 | dateISO: "โปรดระบุวันที่ ที่ถูกต้อง (ระบบ ISO).", 13 | number: "โปรดระบุทศนิยมที่ถูกต้อง", 14 | digits: "โปรดระบุจำนวนเต็มที่ถูกต้อง", 15 | creditcard: "โปรดระบุรหัสบัตรเครดิตที่ถูกต้อง", 16 | equalTo: "โปรดระบุค่าเดิมอีกครั้ง", 17 | accept: "โปรดระบุค่าที่มีส่วนขยายที่ถูกต้อง", 18 | maxlength: $.validator.format("โปรดอย่าระบุค่าที่ยาวกว่า {0} อักขระ"), 19 | minlength: $.validator.format("โปรดอย่าระบุค่าที่สั้นกว่า {0} อักขระ"), 20 | rangelength: $.validator.format("โปรดอย่าระบุค่าความยาวระหว่าง {0} ถึง {1} อักขระ"), 21 | range: $.validator.format("โปรดระบุค่าระหว่าง {0} และ {1}"), 22 | max: $.validator.format("โปรดระบุค่าน้อยกว่าหรือเท่ากับ {0}"), 23 | min: $.validator.format("โปรดระบุค่ามากกว่าหรือเท่ากับ {0}") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_tr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: TR (Turkish; Türkçe) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Bu alanın doldurulması zorunludur.", 8 | remote: "Lütfen bu alanı düzeltin.", 9 | email: "Lütfen geçerli bir e-posta adresi giriniz.", 10 | url: "Lütfen geçerli bir web adresi (URL) giriniz.", 11 | date: "Lütfen geçerli bir tarih giriniz.", 12 | dateISO: "Lütfen geçerli bir tarih giriniz(ISO formatında)", 13 | number: "Lütfen geçerli bir sayı giriniz.", 14 | digits: "Lütfen sadece sayısal karakterler giriniz.", 15 | creditcard: "Lütfen geçerli bir kredi kartı giriniz.", 16 | equalTo: "Lütfen aynı değeri tekrar giriniz.", 17 | accept: "Lütfen geçerli uzantıya sahip bir değer giriniz.", 18 | maxlength: $.validator.format("Lütfen en fazla {0} karakter uzunluğunda bir değer giriniz."), 19 | minlength: $.validator.format("Lütfen en az {0} karakter uzunluğunda bir değer giriniz."), 20 | rangelength: $.validator.format("Lütfen en az {0} ve en fazla {1} uzunluğunda bir değer giriniz."), 21 | range: $.validator.format("Lütfen {0} ile {1} arasında bir değer giriniz."), 22 | max: $.validator.format("Lütfen {0} değerine eşit ya da daha küçük bir değer giriniz."), 23 | min: $.validator.format("Lütfen {0} değerine eşit ya da daha büyük bir değer giriniz.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_uk.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: UK (Ukrainian; українська мова) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Це поле необхідно заповнити.", 8 | remote: "Будь ласка, введіть правильне значення.", 9 | email: "Будь ласка, введіть коректну адресу електронної пошти.", 10 | url: "Будь ласка, введіть коректний URL.", 11 | date: "Будь ласка, введіть коректну дату.", 12 | dateISO: "Будь ласка, введіть коректну дату у форматі ISO.", 13 | number: "Будь ласка, введіть число.", 14 | digits: "Вводите потрібно лише цифри.", 15 | creditcard: "Будь ласка, введіть правильний номер кредитної карти.", 16 | equalTo: "Будь ласка, введіть таке ж значення ще раз.", 17 | accept: "Будь ласка, виберіть файл з правильним розширенням.", 18 | maxlength: $.validator.format("Будь ласка, введіть не більше {0} символів."), 19 | minlength: $.validator.format("Будь ласка, введіть не менше {0} символів."), 20 | rangelength: $.validator.format("Будь ласка, введіть значення довжиною від {0} до {1} символів."), 21 | range: $.validator.format("Будь ласка, введіть число від {0} до {1}."), 22 | max: $.validator.format("Будь ласка, введіть число, менше або рівно {0}."), 23 | min: $.validator.format("Будь ласка, введіть число, більше або рівно {0}.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_vi.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: VI (Vietnamese; Tiếng Việt) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "Hãy nhập.", 8 | remote: "Hãy sửa cho đúng.", 9 | email: "Hãy nhập email.", 10 | url: "Hãy nhập URL.", 11 | date: "Hãy nhập ngày.", 12 | dateISO: "Hãy nhập ngày (ISO).", 13 | number: "Hãy nhập số.", 14 | digits: "Hãy nhập chữ số.", 15 | creditcard: "Hãy nhập số thẻ tín dụng.", 16 | equalTo: "Hãy nhập thêm lần nữa.", 17 | accept: "Phần mở rộng không đúng.", 18 | maxlength: $.format("Hãy nhập từ {0} kí tự trở xuống."), 19 | minlength: $.format("Hãy nhập từ {0} kí tự trở lên."), 20 | rangelength: $.format("Hãy nhập từ {0} đến {1} kí tự."), 21 | range: $.format("Hãy nhập từ {0} đến {1}."), 22 | max: $.format("Hãy nhập từ {0} trở xuống."), 23 | min: $.format("Hãy nhập từ {1} trở lên.") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_zh.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) 4 | */ 5 | (function ($) { 6 | $.extend($.validator.messages, { 7 | required: "必选字段", 8 | remote: "请修正该字段", 9 | email: "请输入正确格式的电子邮件", 10 | url: "请输入合法的网址", 11 | date: "请输入合法的日期", 12 | dateISO: "请输入合法的日期 (ISO).", 13 | number: "请输入合法的数字", 14 | digits: "只能输入整数", 15 | creditcard: "请输入合法的信用卡号", 16 | equalTo: "请再次输入相同的值", 17 | accept: "请输入拥有合法后缀名的字符串", 18 | maxlength: $.validator.format("请输入一个长度最多是 {0} 的字符串"), 19 | minlength: $.validator.format("请输入一个长度最少是 {0} 的字符串"), 20 | rangelength: $.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"), 21 | range: $.validator.format("请输入一个介于 {0} 和 {1} 之间的值"), 22 | max: $.validator.format("请输入一个最大为 {0} 的值"), 23 | min: $.validator.format("请输入一个最小为 {0} 的值") 24 | }); 25 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/messages_zh_TW.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ZH (Chinese; 中文 (Zhōngwén), 汉语, 漢語) 4 | * Region: TW (Taiwan) 5 | */ 6 | (function ($) { 7 | $.extend($.validator.messages, { 8 | required: "必填", 9 | remote: "請修正此欄位", 10 | email: "請輸入正確的電子信箱", 11 | url: "請輸入合法的URL", 12 | date: "請輸入合法的日期", 13 | dateISO: "請輸入合法的日期 (ISO).", 14 | number: "請輸入數字", 15 | digits: "請輸入整數", 16 | creditcard: "請輸入合法的信用卡號碼", 17 | equalTo: "請重複輸入一次", 18 | accept: "請輸入有效的後缀字串", 19 | maxlength: $.validator.format("請輸入長度不大於{0} 的字串"), 20 | minlength: $.validator.format("請輸入長度不小於 {0} 的字串"), 21 | rangelength: $.validator.format("請輸入長度介於 {0} 和 {1} 之間的字串"), 22 | range: $.validator.format("請輸入介於 {0} 和 {1} 之間的數值"), 23 | max: $.validator.format("請輸入不大於 {0} 的數值"), 24 | min: $.validator.format("請輸入不小於 {0} 的數值") 25 | }); 26 | }(jQuery)); -------------------------------------------------------------------------------- /lib/js/validate/localization/methods_de.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: DE 4 | */ 5 | jQuery.extend(jQuery.validator.methods, { 6 | date: function(value, element) { 7 | return this.optional(element) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value); 8 | }, 9 | number: function(value, element) { 10 | return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value); 11 | } 12 | }); -------------------------------------------------------------------------------- /lib/js/validate/localization/methods_nl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: NL 4 | */ 5 | jQuery.extend(jQuery.validator.methods, { 6 | date: function(value, element) { 7 | return this.optional(element) || /^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test(value); 8 | } 9 | }); -------------------------------------------------------------------------------- /lib/js/validate/localization/methods_pt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: PT_BR 4 | */ 5 | jQuery.extend(jQuery.validator.methods, { 6 | date: function(value, element) { 7 | return this.optional(element) || /^\d\d?\/\d\d?\/\d\d\d?\d?$/.test(value); 8 | } 9 | }); -------------------------------------------------------------------------------- /lib/php/class-frontend-uploader-wp-media-list-table.php: -------------------------------------------------------------------------------- 1 | is_trash = isset( $_REQUEST['status'] ) && 'trash' == $_REQUEST['status']; 26 | $this->set_pagination_args( array( 27 | 'total_items' => $wp_query->found_posts, 28 | 'total_pages' => $wp_query->max_num_pages, 29 | 'per_page' => $wp_query->query_vars['posts_per_page'], 30 | ) ); 31 | $this->items = $wp_query->posts; 32 | /* -- Register the Columns -- */ 33 | $columns = $this->get_columns(); 34 | $hidden = array( 35 | 'id', 36 | ); 37 | $this->_column_headers = array( $columns, $hidden, $this->get_sortable_columns() ) ; 38 | 39 | remove_filter( 'posts_where', array( &$this, 'modify_post_status_to_private' ) ); 40 | } 41 | 42 | function modify_post_status_to_private( $where ) { 43 | return str_replace( "post_status = 'inherit' ", "post_status = 'private' ", $where ); 44 | } 45 | 46 | function get_views() { 47 | global $wpdb, $post_mime_types, $avail_post_mime_types; 48 | $type_links = array(); 49 | $_num_posts = (array) wp_count_attachments(); 50 | 51 | $_total_posts = array_sum( $_num_posts ) - $_num_posts['trash']; 52 | if ( !isset( $total_orphans ) ) 53 | $total_orphans = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent < 1" ); 54 | $matches = wp_match_mime_types( array_keys( $post_mime_types ), array_keys( $_num_posts ) ); 55 | foreach ( $matches as $type => $reals ) 56 | foreach ( $reals as $real ) 57 | $num_posts[$type] = ( isset( $num_posts[$type] ) ) ? $num_posts[$type] + $_num_posts[$real] : $_num_posts[$real]; 58 | 59 | $class = ( empty( $_GET['post_mime_type'] ) && !$this->detached && !isset( $_GET['status'] ) ) ? ' class="current"' : ''; 60 | $type_links['all'] = "" . sprintf( _nx( 'All (%s)', 'All (%s)', $_total_posts, 'uploaded files' ), number_format_i18n( $_total_posts ) ) . ''; 61 | foreach ( $post_mime_types as $mime_type => $label ) { 62 | $class = ''; 63 | 64 | if ( !wp_match_mime_types( $mime_type, $avail_post_mime_types ) ) 65 | continue; 66 | 67 | if ( !empty( $_GET['post_mime_type'] ) && wp_match_mime_types( $mime_type, $_GET['post_mime_type'] ) ) 68 | $class = ' class="current"'; 69 | if ( !empty( $num_posts[$mime_type] ) ) 70 | $type_links[$mime_type] = "" . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] ) ) . ''; 71 | } 72 | $type_links['detached'] = 'detached ? ' class="current"' : '' ) . '>' . sprintf( _nx( 'Unattached (%s)', 'Unattached (%s)', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . ''; 73 | 74 | if ( !empty( $_num_posts['trash'] ) ) 75 | $type_links['trash'] = '' . sprintf( _nx( 'Trash (%s)', 'Trash (%s)', $_num_posts['trash'], 'uploaded files' ), number_format_i18n( $_num_posts['trash'] ) ) . ''; 76 | 77 | return array(); 78 | } 79 | 80 | function get_bulk_actions() { 81 | $actions = array(); 82 | $actions['delete'] = __( 'Delete Permanently', 'frontend-uploader' ); 83 | if ( $this->detached ) 84 | $actions['attach'] = __( 'Attach to a post', 'frontend-uploader' ); 85 | 86 | return $actions; 87 | } 88 | 89 | function current_action() { 90 | if ( isset( $_REQUEST['find_detached'] ) ) 91 | return 'find_detached'; 92 | 93 | if ( isset( $_REQUEST['found_post_id'] ) && isset( $_REQUEST['media'] ) ) 94 | return 'attach'; 95 | 96 | if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) 97 | return 'delete_all'; 98 | 99 | return parent::current_action(); 100 | } 101 | 102 | function has_items() { 103 | return have_posts(); 104 | } 105 | 106 | function no_items() { 107 | __( 'No media attachments found.', 'frontend-uploader' ); 108 | } 109 | 110 | function get_columns() { 111 | $posts_columns = array(); 112 | $posts_columns['cb'] = ''; 113 | $posts_columns['icon'] = ''; 114 | /* translators: column name */ 115 | $posts_columns['title'] = _x( 'File', 'column name' ); 116 | $posts_columns['author'] = __( 'Author', 'frontend-uploader' ); 117 | /* translators: column name */ 118 | if ( !$this->detached ) { 119 | $posts_columns['parent'] = _x( 'Attached to', 'column name' ); 120 | } 121 | /* translators: column name */ 122 | $posts_columns['date'] = _x( 'Date', 'column name' ); 123 | $posts_columns = apply_filters( 'manage_fu_media_columns', $posts_columns, $this->detached ); 124 | return $posts_columns; 125 | } 126 | 127 | function display_rows() { 128 | global $post, $id; 129 | 130 | add_filter( 'the_title', 'esc_html' ); 131 | $alt = ''; 132 | 133 | while ( have_posts() ) : the_post(); 134 | if ( $this->is_trash && $post->post_status != 'trash' || !$this->is_trash && $post->post_status == 'trash' ) 135 | continue; 136 | 137 | $alt = ( 'alternate' == $alt ) ? '' : 'alternate'; 138 | $post_owner = ( get_current_user_id() == $post->post_author ) ? 'self' : 'other' ; 139 | $att_title = _draft_or_post_title(); 140 | ?> 141 | post_status ); ?>' valign="top"> 142 | get_column_info(); 145 | foreach ( $columns as $column_name => $column_display_name ) { 146 | $class = "class='$column_name column-$column_name'"; 147 | 148 | $style = ''; 149 | if ( in_array( $column_name, $hidden ) ) 150 | $style = ' style="display:none;"'; 151 | 152 | $attributes = $class . $style; 153 | 154 | switch ( $column_name ) { 155 | 156 | case 'cb': 157 | ?> 158 | ID ) ) { ?> 159 | 165 | >ID, array( 80, 60 ), true ) ) { 167 | if ( $this->is_trash ) { 168 | echo $thumb; 169 | } else { 170 | ?> 171 | "> 172 | 173 | 174 | 175 | 178 | 179 | 184 | >is_trash ) echo $att_title; else { ?>"> 185 |

186 | ID ), $matches ) ) 188 | echo esc_html( strtoupper( $matches[1] ) ); 189 | else 190 | echo strtoupper( str_replace( 'image/', '', get_post_mime_type() ) ); 191 | ?> 192 |

193 | row_actions( $this->_get_row_actions( $post, $att_title ) ); 195 | ?> 196 | 197 | 202 | > 203 | 208 | >slug'> " . esc_html( sanitize_term_field( 'name', $c->name, $c->term_id, 'post_tag', 'display' ) ) . ""; 214 | echo join( ', ', $out ); 215 | } else { 216 | __( 'No Tags', 'frontend-uploader' ); 217 | } 218 | ?> 219 | 220 | 225 | >post_excerpt : ''; ?> 226 | post_date && 'date' == $column_name ) { 231 | $t_time = $h_time = __( 'Unpublished', 'frontend-uploader' ); 232 | } else { 233 | $t_time = get_the_time( __( 'Y/m/d g:i:s A', 'frontend-uploader' ) ); 234 | $m_time = $post->post_date; 235 | $time = get_post_time( 'G', true, $post, false ); 236 | if ( ( abs( $t_diff = time() - $time ) ) < 86400 ) { 237 | if ( $t_diff < 0 ) 238 | $h_time = sprintf( __( '%s from now', 'frontend-uploader' ), human_time_diff( $time ) ); 239 | else 240 | $h_time = sprintf( __( '%s ago', 'frontend-uploader' ), human_time_diff( $time ) ); 241 | } else { 242 | $h_time = mysql2date( __( 'Y/m/d', 'frontend-uploader' ), $m_time ); 243 | } 244 | } 245 | ?> 246 | > 247 | post_parent > 0 ) { 252 | if ( get_post( $post->post_parent ) ) { 253 | $title =_draft_or_post_title( $post->post_parent ); 254 | } 255 | ?> 256 | > 257 | , 258 | 259 | 260 | 263 | >
264 | 265 | 273 | > 274 | 275 | 276 | 281 | 282 | detached ) { 295 | if ( current_user_can( 'edit_post', $post->ID ) ) 296 | $actions['edit'] = '' . __( 'Edit', 'frontend-uploader' ) . ''; 297 | if ( current_user_can( 'delete_post', $post->ID ) ) 298 | if ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) { 299 | $actions['trash'] = "ID ) . "'>" . __( 'Trash', 'frontend-uploader' ) . ""; 300 | } else { 301 | $delete_ays = !MEDIA_TRASH ? " onclick='return showNotice.warn();'" : ''; 302 | // $actions['delete'] = "ID ) . "'>" . __( 'Delete Permanently', 'frontend-uploader' ) . ""; 303 | $actions['delete'] = ''. __( 'Delete Permanently', 'frontend-uploader' ) .''; 304 | } 305 | $actions['view'] = '' . __( 'View', 'frontend-uploader' ) . ''; 306 | if ( current_user_can( 'edit_post', $post->ID ) ) 307 | $actions['attach'] = ''.__( 'Attach', 'frontend-uploader' ).''; 308 | } 309 | else { 310 | if ( current_user_can( 'edit_post', $post->ID ) && !$this->is_trash ) 311 | $actions['edit'] = '' . __( 'Edit', 'frontend-uploader' ) . ''; 312 | if ( current_user_can( 'delete_post', $post->ID ) ) { 313 | if ( $this->is_trash ) 314 | $actions['untrash'] = "ID ) . "'>" . __( 'Restore', 'frontend-uploader' ) . ""; 315 | elseif ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) 316 | $actions['trash'] = "ID ) . "'>" . __( 'Trash', 'frontend-uploader' ) . ""; 317 | if ( $this->is_trash || !EMPTY_TRASH_DAYS || !MEDIA_TRASH ) { 318 | $delete_ays = ( !$this->is_trash && !MEDIA_TRASH ) ? " onclick='return showNotice.warn();'" : ''; 319 | $actions['delete'] = "ID ) . "'>" . __( 'Delete Permanently', 'frontend-uploader' ) . ""; 320 | } 321 | 322 | if ( $post->post_status == 'private' ) { 323 | $delete_ays = !MEDIA_TRASH ? " onclick='return showNotice.warn();'" : ''; 324 | $actions['pass'] = ''. __( 'Approve', 'frontend-uploader' ) .''; 325 | $actions['delete'] = ''. __( 'Delete Permanently', 'frontend-uploader' ) .''; 326 | } 327 | } 328 | if ( !$this->is_trash ) { 329 | $title =_draft_or_post_title( $post->post_parent ); 330 | $actions['view'] = '' . __( 'View', 'frontend-uploader' ) . ''; 331 | } 332 | } 333 | 334 | $actions = apply_filters( 'media_row_actions', $actions, $post, $this->detached ); 335 | 336 | return $actions; 337 | } 338 | } 339 | 340 | // Add a nice little feature: 341 | // Re-attach Media 342 | // http://wordpress.org/support/topic/detach-amp-re-attach-media-attachment-images-from-posts 343 | 344 | add_filter( "manage_fu_media_columns", 'fu_upload_columns' ); 345 | add_action( "manage_fu_media_custom_column", 'fu_media_custom_columns', 0, 2 ); 346 | 347 | function fu_upload_columns( $columns ) { 348 | unset( $columns['parent'] ); 349 | $columns['better_parent'] = "Parent"; 350 | return $columns; 351 | } 352 | 353 | function fu_media_custom_columns( $column_name, $id ) { 354 | $post = get_post( $id ); 355 | if ( $column_name != 'better_parent' ) 356 | return; 357 | 358 | if ( $post->post_parent > 0 ) { 359 | if ( get_post( $post->post_parent ) ) { 360 | $title =_draft_or_post_title( $post->post_parent ); 361 | } else { 362 | $title = 'Untitled'; 363 | } 364 | ?> 365 | , 366 |
367 | 368 | 369 | 372 |
373 | 374 | post_type == '' ) { 15 | $screen->post_type ='post'; 16 | } 17 | 18 | foreach( (array) $frontend_uploader->settings['enabled_post_types'] as $post_type ) { 19 | add_filter( "{$post_type}_row_actions", array( $this, '_add_row_actions' ), 10, 2 ); 20 | } 21 | 22 | parent::__construct( array( 'screen' => $screen ) ); 23 | 24 | } 25 | 26 | function _add_row_actions( $actions, $post ) { 27 | unset( $actions['inline hide-if-no-js'] ); 28 | if ( $post->post_status == 'private' ) { 29 | $actions['pass'] = ''. __( 'Approve', 'frontend-uploader' ) .''; 30 | $actions['delete'] = ''. __( 'Delete Permanently', 'frontend-uploader' ) .''; 31 | } 32 | return $actions; 33 | } 34 | 35 | function prepare_items() { 36 | global $lost, $wpdb, $wp_query, $post_mime_types, $avail_post_mime_types; 37 | 38 | $q = $_REQUEST; 39 | 40 | if ( !empty( $lost ) ) 41 | $q['post__in'] = implode( ',', $lost ); 42 | 43 | add_filter( 'posts_where', array( &$this, 'modify_post_status_to_private' ) ); 44 | 45 | list( $post_mime_types, $avail_post_mime_types ) = wp_edit_attachments_query( $q ); 46 | $this->is_trash = isset( $_REQUEST['status'] ) && 'trash' == $_REQUEST['status']; 47 | $this->set_pagination_args( array( 48 | 'total_items' => $wp_query->found_posts, 49 | 'total_pages' => $wp_query->max_num_pages, 50 | 'per_page' => $wp_query->query_vars['posts_per_page'], 51 | ) ); 52 | $this->items = $wp_query->posts; 53 | 54 | $columns = $this->get_columns(); 55 | 56 | $hidden = array( 57 | 'id', 58 | ); 59 | $this->_column_headers = array( $columns, $hidden, $this->get_sortable_columns() ) ; 60 | 61 | remove_filter( 'posts_where', array( &$this, 'modify_post_status_to_private' ) ); 62 | } 63 | 64 | 65 | function modify_post_status_to_private( $where ) { 66 | global $wpdb; 67 | return "AND $wpdb->posts.post_type = '{$this->screen->post_type}' AND ($wpdb->posts.post_status = 'inherit' OR $wpdb->posts.post_status = 'private') "; 68 | 69 | } 70 | 71 | function get_views() { 72 | global $wpdb, $post_mime_types, $avail_post_mime_types; 73 | $type_links = array(); 74 | $_num_posts = (array) wp_count_attachments(); 75 | 76 | $_total_posts = array_sum( $_num_posts ) - $_num_posts['trash']; 77 | if ( !isset( $total_orphans ) ) 78 | $total_orphans = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent < 1" ); 79 | $matches = wp_match_mime_types( array_keys( $post_mime_types ), array_keys( $_num_posts ) ); 80 | foreach ( $matches as $type => $reals ) 81 | foreach ( $reals as $real ) 82 | $num_posts[$type] = ( isset( $num_posts[$type] ) ) ? $num_posts[$type] + $_num_posts[$real] : $_num_posts[$real]; 83 | 84 | $class = ( empty( $_GET['post_mime_type'] ) && !isset( $_GET['status'] ) ) ? ' class="current"' : ''; 85 | $type_links['all'] = "" . sprintf( _nx( 'All (%s)', 'All (%s)', $_total_posts, 'uploaded files' ), number_format_i18n( $_total_posts ) ) . ''; 86 | foreach ( $post_mime_types as $mime_type => $label ) { 87 | $class = ''; 88 | 89 | if ( !wp_match_mime_types( $mime_type, $avail_post_mime_types ) ) 90 | continue; 91 | 92 | if ( !empty( $_GET['post_mime_type'] ) && wp_match_mime_types( $mime_type, $_GET['post_mime_type'] ) ) 93 | $class = ' class="current"'; 94 | if ( !empty( $num_posts[$mime_type] ) ) 95 | $type_links[$mime_type] = "" . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] ) ) . ''; 96 | } 97 | 98 | if ( !empty( $_num_posts['trash'] ) ) 99 | $type_links['trash'] = '' . sprintf( _nx( 'Trash (%s)', 'Trash (%s)', $_num_posts['trash'], 'uploaded files' ), number_format_i18n( $_num_posts['trash'] ) ) . ''; 100 | 101 | return array(); 102 | } 103 | 104 | 105 | 106 | function get_bulk_actions() { 107 | $actions = array(); 108 | $actions['delete'] = __( 'Delete Permanently', 'frontend-uploader' ); 109 | return $actions; 110 | } 111 | 112 | function has_items() { 113 | return have_posts(); 114 | } 115 | 116 | function no_items() { 117 | __( 'No posts found.', 'frontend-uploader' ); 118 | } 119 | 120 | function get_columns() { 121 | 122 | $posts_columns = array(); 123 | $posts_columns['cb'] = ''; 124 | $posts_columns['title'] = _x( 'Title', 'column name' ); 125 | 126 | $posts_columns['categories'] = _x( 'Categories', 'column name' ); 127 | 128 | $posts_columns['date'] = _x( 'Date', 'column name' ); 129 | $posts_columns = apply_filters( 'manage_fu_posts_columns', $posts_columns ); 130 | 131 | return $posts_columns; 132 | } 133 | 134 | } 135 | -------------------------------------------------------------------------------- /lib/php/class-html-helper.php: -------------------------------------------------------------------------------- 1 | element( 'p', __( $description ) ); 27 | echo ''; 28 | foreach ( (array) $data as $item ) { 29 | $is_checked_attr = in_array( $item, (array) $checked ) ? ' checked="true" ' : ''; 30 | $item = filter_var( $item, FILTER_SANITIZE_STRING ); 31 | echo '
'; 32 | echo ''; 33 | echo ''; 34 | echo '
'; 35 | } 36 | } 37 | } 38 | 39 | function _checkbox( $name = '', $data = array(), $checked = array() ) { 40 | 41 | } 42 | 43 | function _radio( $name = '', $data = array(), $checked = array() ) { 44 | 45 | } 46 | 47 | /** 48 | * This method supports unlimited arguments, 49 | * each argument represents html value 50 | */ 51 | function table_row() { 52 | $data = func_get_args(); 53 | $ret = ''; 54 | foreach ( $data as $cell ) 55 | $ret .= $this->element( 'td', $cell, null, false ); 56 | return "" . $ret . "\n"; 57 | } 58 | 59 | /** 60 | * easy wrapper method 61 | * 62 | * @param unknown $type (select|input) 63 | * @param string $name 64 | * @param mixed $data 65 | */ 66 | function input( $type, $name, $data = null, $attrs = array() ) { 67 | switch ( $type ) { 68 | case 'select': 69 | return $this->_select( $name, $data, $attrs ); 70 | break; 71 | case 'text': 72 | case 'hidden': 73 | case 'submit': 74 | case 'file': 75 | case 'checkbox': 76 | return $this->_text( $name, $type, $data, $attrs ) ; 77 | break; 78 | case 'radio': 79 | return $this->_radio( $name, $data, $attrs ) ; 80 | default: 81 | return; 82 | } 83 | 84 | 85 | } 86 | 87 | /** 88 | * This is a private method to render inputs 89 | * 90 | * @access private 91 | */ 92 | function _text( $name = '', $type='text', $data = '', $attrs = array() ) { 93 | return '_format_attributes( $attrs ) . ' />'; 94 | } 95 | 96 | /** 97 | * 98 | * 99 | * @access private 100 | */ 101 | function _select( $name, $data = array(), $attrs ) { 102 | $ret = ''; 103 | foreach ( (array) $data as $key => $value ) { 104 | $attrs_to_pass = array( 'value' => $key ); 105 | if ( isset( $attrs[ 'default' ] ) && $key == $attrs[ 'default' ] ) 106 | $attrs_to_pass[ 'selected' ] = 'selected'; 107 | $ret .= $this->element( 'option', $value, $attrs_to_pass, false ); 108 | } 109 | return ''; 110 | } 111 | 112 | 113 | function table_head( $data = array(), $params = null ) { 114 | echo ''; 115 | foreach ( $data as $th ) { 116 | echo ''; 117 | } 118 | echo ''; 119 | } 120 | 121 | function table_foot() { 122 | echo '
' . esc_html( $th ) . '
'; 123 | } 124 | 125 | function form_start( $attrs = array() ) { 126 | echo '_format_attributes( $attrs ) .'>'; 127 | } 128 | 129 | function form_end() { 130 | echo ''; 131 | } 132 | /** 133 | * Cast to string and return with leading zero 134 | * 135 | * @param int $number 136 | * @todo Why is this here? 137 | */ 138 | function leading_zero( $number ) { 139 | $number = (string) $number; 140 | if ( strlen( $number ) > 1 ) 141 | return $number; 142 | else 143 | return '0' . $number; 144 | } 145 | 146 | /** 147 | * Renders html element 148 | * 149 | * @param string $tag one of allowed tags 150 | * @param string content innerHTML content of tag 151 | * @param array $params additional attributes 152 | * @param bool $escape escape innerHTML or not, defaults to true 153 | * @return string rendered html tag 154 | */ 155 | function element( $tag, $content, $params = array(), $escape = true ) { 156 | $allowed = apply_filters( 'hh_allowed_html_elements' , array( 'div', 'p', 'span', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'td', 'option', 'label', 'textarea', 'select', 'option' ) ); 157 | $attr_string = $this->_format_attributes( $params ); 158 | if ( in_array( $tag, $allowed ) ) 159 | return "<{$tag} {$attr_string}>" . ( $escape ? esc_html ( $content ) : $content ) . ""; 160 | } 161 | 162 | /** 163 | * Formats and returns string of allowed html attrs 164 | * 165 | * @param array $attrs 166 | * @return string attributes 167 | */ 168 | function _format_attributes( $attrs = array() ) { 169 | $attr_string = ''; 170 | foreach ( (array) $attrs as $attr => $value ) { 171 | if ( in_array( $attr, $this->_allowed_html_attrs() ) ) 172 | $attr_string .= " {$attr}='" . esc_attr ( $value ) . "'"; 173 | } 174 | return $attr_string; 175 | } 176 | 177 | /** 178 | * Validates and returns url as A HTML element 179 | * 180 | * @param string $url any valid url 181 | * @param string $title 182 | * @param unknown $params array of html attributes 183 | * @return string html link 184 | */ 185 | function a( $url, $title = '', $params = array() ) { 186 | $attr_string = $this->_format_attributes( $params ); 187 | if ( filter_var( trim( $url ), FILTER_VALIDATE_URL ) ) 188 | return '' . ( $title != '' ? esc_html ( $title ) : esc_url( trim( $url ) ) ) . ''; 189 | } 190 | 191 | /** 192 | * Returns allowed HTML attributes 193 | */ 194 | function _allowed_html_attrs() { 195 | return apply_filters( 'hh_allowed_html_attributes', array( 'href', 'class', 'id', 'value', 'action', 'name', 'method', 'selected', 'checked', 'for', 'multiple' ) ); 196 | } 197 | } 198 | -------------------------------------------------------------------------------- /lib/php/frontend-uploader-settings.php: -------------------------------------------------------------------------------- 1 | settings_api = new WeDevs_Settings_API; 11 | 12 | add_action( 'current_screen', array( $this, 'action_current_screen' ) ); 13 | add_action( 'admin_menu', array( $this, 'action_admin_menu' ) ); 14 | } 15 | 16 | /** 17 | * Only run if current screen is plugin settings or options.php 18 | * @return [type] [description] 19 | */ 20 | function action_current_screen() { 21 | $screen = get_current_screen(); 22 | if ( in_array( $screen->base, array( 'settings_page_fu_settings', 'options' ) ) ) { 23 | $this->settings_api->set_sections( $this->get_settings_sections() ); 24 | $this->settings_api->set_fields( $this->get_settings_fields() ); 25 | // Initialize settings 26 | $this->settings_api->admin_init(); 27 | } 28 | } 29 | 30 | /** 31 | * Get post types for checkbox option 32 | * @return array of slug => label for registered post types 33 | */ 34 | static function get_post_types() { 35 | $fu_public_post_types = get_post_types( array( 'public' => true ), 'objects' ); 36 | foreach( $fu_public_post_types as $slug => $post_object ) { 37 | if ( $slug == 'attachment' ) { 38 | unset( $fu_public_post_types[$slug] ); 39 | continue; 40 | } 41 | $fu_public_post_types[$slug] = $post_object->labels->name; 42 | } 43 | return $fu_public_post_types; 44 | } 45 | 46 | function action_admin_menu() { 47 | add_options_page( __( 'Frontend Uploader Settings', 'frontend-uploader' ) , __( 'Frontend Uploader Settings', 'frontend-uploader' ), 'manage_options', 'fu_settings', array( $this, 'plugin_page' ) ); 48 | } 49 | 50 | function get_settings_sections() { 51 | $sections = array( 52 | array( 53 | 'id' => 'frontend_uploader_settings', 54 | 'title' => __( 'Basic Settings', 'frontend-uploader' ), 55 | ), 56 | ); 57 | return $sections; 58 | } 59 | 60 | /** 61 | * Returns all the settings fields 62 | * 63 | * @return array settings fields 64 | */ 65 | static function get_settings_fields() {; 66 | $default_post_type = array( 'post' => 'Posts', 'post' => 'post' ); 67 | $settings_fields = array( 68 | 'frontend_uploader_settings' => array( 69 | array( 70 | 'name' => 'notify_admin', 71 | 'label' => __( 'Notify site admins', 'frontend-uploader' ), 72 | 'desc' => __( 'Yes', 'frontend-uploader' ), 73 | 'type' => 'checkbox', 74 | 'default' => '', 75 | ), 76 | array( 77 | 'name' => 'admin_notification_text', 78 | 'label' => __( 'Admin Notification', 'frontend-uploader' ), 79 | 'desc' => __( 'Message that admin will get on new file upload', 'frontend-uploader' ), 80 | 'type' => 'textarea', 81 | 'default' => 'Someone uploaded a new UGC file, please moderate at: ' . admin_url( 'upload.php?page=manage_frontend_uploader' ), 82 | 'sanitize_callback' => 'wp_filter_post_kses' 83 | ), 84 | array( 85 | 'name' => 'notification_email', 86 | 'label' => __( 'Notification email', 'frontend-uploader' ), 87 | 'desc' => __( 'Leave blank to use site admin email', 'frontend-uploader' ), 88 | 'type' => 'text', 89 | 'default' => '', 90 | 'sanitize_callback' => 'sanitize_email', 91 | ), 92 | array( 93 | 'name' => 'allowed_categories', 94 | 'label' => __( 'Allowed categories', 'frontend-uploader' ), 95 | 'desc' => __( 'Comma separated IDs (leave blank for all)', 'frontend-uploader' ), 96 | 'type' => 'text', 97 | 'default' => '', 98 | ), 99 | array( 100 | 'name' => 'show_author', 101 | 'label' => __( 'Show author field', 'frontend-uploader' ), 102 | 'desc' => __( 'Yes', 'frontend-uploader' ), 103 | 'type' => 'checkbox', 104 | 'default' => '', 105 | ), 106 | array( 107 | 'name' => 'enabled_post_types', 108 | 'label' => __( 'Enable Frontend Uploader for the following post types', 'frontend-uploader' ), 109 | 'desc' => '', 110 | 'type' => 'multicheck', 111 | 'default' => $default_post_type, 112 | 'options' => self::get_post_types(), 113 | ), 114 | array( 115 | 'name' => 'wysiwyg_enabled', 116 | 'label' => __( 'Enable visual editor for textareas', 'frontend-uploader' ), 117 | 'desc' => __( 'Yes', 'frontend-uploader' ), 118 | 'type' => 'checkbox', 119 | 'default' => '', 120 | ), 121 | array( 122 | 'name' => 'enabled_files', 123 | 'label' => __( 'Allow following files to be uploaded', 'frontend-uploader' ), 124 | 'desc' => '', 125 | 'type' => 'multicheck', 126 | 'default' => array(), 127 | 'options' => fu_get_exts_descs(), 128 | ), 129 | array( 130 | 'name' => 'auto_approve_user_files', 131 | 'label' => __( 'Auto-approve registered users files', 'frontend-uploader' ), 132 | 'desc' => __( 'Yes', 'frontend-uploader' ), 133 | 'type' => 'checkbox', 134 | 'default' => '', 135 | ), 136 | array( 137 | 'name' => 'auto_approve_any_files', 138 | 'label' => __( 'Auto-approve any files', 'frontend-uploader' ), 139 | 'desc' => __( 'Yes', 'frontend-uploader' ), 140 | 'type' => 'checkbox', 141 | 'default' => '', 142 | ), 143 | array( 144 | 'name' => 'suppress_default_fields', 145 | 'label' => __('Suppress default fields', 'frontend-uploader' ), 146 | 'desc' => __( 'Yes', 'frontend-uploader' ), 147 | 'type' => 'checkbox', 148 | 'default' => '', 149 | ), 150 | ), 151 | ); 152 | return $settings_fields; 153 | } 154 | 155 | /** 156 | * Render the UI 157 | */ 158 | function plugin_page() { 159 | echo '
'; 160 | $this->settings_api->show_navigation(); 161 | $this->settings_api->show_forms(); 162 | echo '
'; 163 | } 164 | } 165 | 166 | // Instantiate 167 | $frontend_uploader_settings = new Frontend_Uploader_Settings; -------------------------------------------------------------------------------- /lib/php/functions.php: -------------------------------------------------------------------------------- 1 | 14 | array( 15 | 'label'=> 'Microsoft Word Document', 16 | 'mimes'=> 17 | array( 18 | 'application/msword', 19 | ), 20 | ), 21 | 'docx'=> 22 | array( 23 | 'label'=> 'Microsoft Word Open XML Document', 24 | 'mimes'=> 25 | array( 26 | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 27 | ), 28 | ), 29 | 'xls'=> 30 | array( 31 | 'label'=> 'Excel Spreadsheet', 32 | 'mimes'=> 33 | array( 34 | 'application/vnd.ms-excel', 35 | 'application/msexcel', 36 | 'application/x-msexcel', 37 | 'application/x-ms-excel', 38 | 'application/vnd.ms-excel', 39 | 'application/x-excel', 40 | 'application/x-dos_ms_excel', 41 | 'application/xls', 42 | ), 43 | ), 44 | 'xlsx'=> 45 | array( 46 | 'label'=> 'Microsoft Excel Open XML Spreadsheet', 47 | 'mimes'=> 48 | array( 49 | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 50 | ), 51 | ), 52 | 'pdf'=> 53 | array( 54 | 'label'=> 'Portable Document Format File', 55 | 'mimes'=> 56 | array( 57 | 'application/pdf', 58 | 'application/x-pdf', 59 | 'application/acrobat', 60 | 'applications/vnd.pdf', 61 | 'text/pdf', 62 | 'text/x-pdf', 63 | ), 64 | ), 65 | 'psd'=> 66 | array( 67 | 'label'=> 'Adobe Photoshop Document', 68 | 'mimes'=> 69 | array( 70 | 'image/photoshop', 71 | 'image/x-photoshop', 72 | 'image/psd', 73 | 'application/photoshop', 74 | 'application/psd', 75 | 'zz-application/zz-winassoc-psd', 76 | 'image/vnd.adobe.photoshop', 77 | ), 78 | ), 79 | 'csv'=> 80 | array( 81 | 'label'=> 'Comma Separated Values File', 82 | 'mimes'=> 83 | array( 84 | 'text/comma-separated-values', 85 | 'text/csv', 86 | 'application/csv', 87 | 'application/excel', 88 | 'application/vnd.ms-excel', 89 | 'application/vnd.msexcel', 90 | 'text/anytext', 91 | ), 92 | ), 93 | 'ppt'=> 94 | array( 95 | 'label'=> 'PowerPoint Presentation', 96 | 'mimes'=> 97 | array( 98 | 'application/vnd.ms-powerpoint', 99 | 'application/mspowerpoint', 100 | 'application/ms-powerpoint', 101 | 'application/mspowerpnt', 102 | 'application/vnd-mspowerpoint', 103 | ), 104 | ), 105 | 'pptx'=> 106 | array( 107 | 'label'=> 'PowerPoint Open XML Presentation', 108 | 'mimes'=> 109 | array( 110 | 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 111 | ), 112 | ), 113 | 'mp3'=> 114 | array( 115 | 'label'=> 'MP3 Audio File', 116 | 'mimes'=> 117 | array( 118 | 'audio/mpeg', 119 | 'audio/x-mpeg', 120 | 'audio/mp3', 121 | 'audio/x-mp3', 122 | 'audio/mpeg3', 123 | 'audio/x-mpeg3', 124 | 'audio/mpg', 125 | 'audio/x-mpg', 126 | 'audio/x-mpegaudio', 127 | ), 128 | ), 129 | 'avi'=> 130 | array( 131 | 'label'=> 'Audio Video Interleave File', 132 | 'mimes'=> 133 | array( 134 | 'video/avi', 135 | 'video/msvideo', 136 | 'video/x-msvideo', 137 | 'image/avi', 138 | 'video/xmpg2', 139 | 'application/x-troff-msvideo', 140 | 'audio/aiff', 141 | 'audio/avi', 142 | ), 143 | ), 144 | 'mp4'=> 145 | array( 146 | 'label'=> 'MPEG-4 Video File', 147 | 'mimes'=> 148 | array( 149 | 'video/mp4v-es', 150 | 'audio/mp4', 151 | 'application/mp4', 152 | ), 153 | ), 154 | 'm4a'=> array( 155 | 'label'=> 'MPEG-4 Audio File', 156 | 'mimes'=> array( 157 | 'audio/aac', 'audio/aacp', 'audio/3gpp', 'audio/3gpp2', 'audio/mp4', 'audio/MP4A-LATM','audio/mpeg4-generic', 'audio/x-m4a', 'audio/m4a' 158 | ) ), 159 | 'mov'=> 160 | array( 161 | 'label'=> 'Apple QuickTime Movie', 162 | 'mimes'=> 163 | array( 164 | 'video/quicktime', 165 | 'video/x-quicktime', 166 | 'image/mov', 167 | 'audio/aiff', 168 | 'audio/x-midi', 169 | 'audio/x-wav', 170 | 'video/avi', 171 | ), 172 | ), 173 | 'mpg'=> 174 | array( 175 | 'label'=> 'MPEG Video File', 176 | 'mimes'=> 177 | array( 178 | 'video/mpeg', 179 | 'video/mpg', 180 | 'video/x-mpg', 181 | 'video/mpeg2', 182 | 'application/x-pn-mpg', 183 | 'video/x-mpeg', 184 | 'video/x-mpeg2a', 185 | 'audio/mpeg', 186 | 'audio/x-mpeg', 187 | 'image/mpg', 188 | ), 189 | ), 190 | 'mid'=> 191 | array( 192 | 'label'=> 'MIDI File', 193 | 'mimes'=> 194 | array( 195 | 'audio/mid', 196 | 'audio/m', 197 | 'audio/midi', 198 | 'audio/x-midi', 199 | 'application/x-midi', 200 | 'audio/soundtrack', 201 | ), 202 | ), 203 | 'wav'=> 204 | array( 205 | 'label'=> 'WAVE Audio File', 206 | 'mimes'=> 207 | array( 208 | 'audio/wav', 209 | 'audio/x-wav', 210 | 'audio/wave', 211 | 'audio/x-pn-wav', 212 | ), 213 | ), 214 | 'wma'=> 215 | array( 216 | 'label'=> 'Windows Media Audio File', 217 | 'mimes'=> 218 | array( 219 | 'audio/x-ms-wma', 220 | 'video/x-ms-asf', 221 | ), 222 | ), 223 | 'wmv'=> 224 | array( 225 | 'label'=> 'Windows Media Video File', 226 | 'mimes'=> 227 | array( 228 | 'video/x-ms-wmv', 229 | ), 230 | ), 231 | ); 232 | 233 | return $mimes_exts; 234 | } 235 | 236 | /** 237 | * Generate slug => description array for Frontend Uploader settings 238 | * @return array 239 | */ 240 | function fu_get_exts_descs() { 241 | $mimes = fu_get_mime_types(); 242 | $a = array(); 243 | 244 | foreach( $mimes as $ext => $mime ) 245 | $a[$ext] = sprintf( '%1$s (.%2$s)', $mime['label'], $ext ); 246 | 247 | return $a; 248 | } -------------------------------------------------------------------------------- /lib/views/manage-ugc-media.tpl.php: -------------------------------------------------------------------------------- 1 | get_pagenum(); 9 | $doaction = $wp_list_table->current_action(); 10 | $wp_list_table->prepare_items(); 11 | ?> 12 |
13 | 14 |

' . __( 'Search results for “%s”', 'frontend-uploader' ) . '', get_search_query() ); ?> 17 |

18 | 19 | ' . __( 'Undo', 'frontend-uploader' ) . ''; 40 | $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'trashed' ), $_SERVER['REQUEST_URI'] ); 41 | } 42 | 43 | if ( isset( $_GET['untrashed'] ) && (int) $_GET['untrashed'] ) { 44 | $message = sprintf( _n( 'Media attachment restored from the trash.', '%d media attachments restored from the trash.', $_GET['untrashed'] ), number_format_i18n( $_GET['untrashed'] ) ); 45 | $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'untrashed' ), $_SERVER['REQUEST_URI'] ); 46 | } 47 | 48 | if ( isset( $_GET['approved'] ) ) { 49 | $message = 'The photo was approved'; 50 | } 51 | 52 | $messages[1] = __( 'Media attachment updated.', 'frontend-uploader' ); 53 | $messages[2] = __( 'Media permanently deleted.', 'frontend-uploader' ); 54 | $messages[3] = __( 'Error saving media attachment.', 'frontend-uploader' ); 55 | $messages[4] = __( 'Media moved to the trash.', 'frontend-uploader' ) . ' ' . __( 'Undo', 'frontend-uploader' ) . ''; 56 | $messages[5] = __( 'Media restored from the trash.', 'frontend-uploader' ); 57 | 58 | if ( isset( $_GET['message'] ) && (int) $_GET['message'] ) { 59 | $message = $messages[$_GET['message']]; 60 | $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'message' ), $_SERVER['REQUEST_URI'] ); 61 | } 62 | 63 | if ( !empty( $message ) ) { ?> 64 |

65 | 66 | 67 | views(); ?> 68 | 69 |
70 | 71 | search_box( __( 'Search Media', 'frontend-uploader' ), 'media' ); ?> 72 | 73 | display(); ?> 74 | 75 |
76 | 77 |
78 | 79 |
80 |
81 | -------------------------------------------------------------------------------- /lib/views/manage-ugc-posts.tpl.php: -------------------------------------------------------------------------------- 1 | get_pagenum(); 9 | $doaction = $wp_post_list_table->current_action(); 10 | $wp_post_list_table->prepare_items(); 11 | ?> 12 | 13 |
14 | 15 |

' . __( 'Search results for “%s”', 'frontend-uploader' ) . '', get_search_query() ); ?> 18 |

19 | 20 | ' . __( 'Undo', 'frontend-uploader' ) . ''; 41 | $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'trashed' ), $_SERVER['REQUEST_URI'] ); 42 | } 43 | 44 | if ( isset( $_GET['untrashed'] ) && (int) $_GET['untrashed'] ) { 45 | $message = sprintf( _n( 'Post restored from the trash.', '%d Posts restored from the trash.', $_GET['untrashed'] ), number_format_i18n( $_GET['untrashed'] ) ); 46 | $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'untrashed' ), $_SERVER['REQUEST_URI'] ); 47 | } 48 | 49 | if ( isset( $_GET['approved'] ) ) { 50 | $message = 'The post was approved'; 51 | } 52 | 53 | $messages[1] = __( 'Post updated.', 'frontend-uploader' ); 54 | $messages[2] = __( 'Media permanently deleted.', 'frontend-uploader' ); 55 | $messages[3] = __( 'Error saving Post.', 'frontend-uploader' ); 56 | $messages[4] = __( 'Media moved to the trash.', 'frontend-uploader' ) . ' ' . __( 'Undo', 'frontend-uploader' ) . ''; 57 | $messages[5] = __( 'Media restored from the trash.', 'frontend-uploader' ); 58 | 59 | if ( isset( $_GET['message'] ) && (int) $_GET['message'] ) { 60 | $message = $messages[$_GET['message']]; 61 | $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'message' ), $_SERVER['REQUEST_URI'] ); 62 | } 63 | 64 | if ( !empty( $message ) ) { ?> 65 |

66 | 67 | 68 | views(); ?> 69 | 70 |
71 | 72 | search_box( __( 'Search Posts', 'frontend-uploader' ), 'posts' ); ?> 73 | 74 | display(); ?> 75 | 76 |
77 | 78 |
79 | 80 |
81 |
82 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | ./tests/ 12 | 13 | 14 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Frontend Uploader 2 | 3 | ## Description 4 | 5 | This plugin gives you an ability to easily accept, moderate and publish user generated content (currently, there are 3 modes: media, post, post + media). The plugin allows you to create a front end form with multiple fields (easily customizable with shortcodes). You can limit which MIME-types are supported for each field. All of the submissions are safely held for moderation in Media/Post/Custom Post Types menu under a special tab "Manage UGC". Review, moderate and publish. It's that easy! 6 | 7 | ## Installation 8 | 9 | 1. `git clone https://github.com/automattic/wp-frontend-uploader.git` in your WP plugins directory 10 | 1. `git submodule update --init --recursive` in the plugin dir to get dependencies 11 | 1. Activate the plugin 12 | 1. Set the settings 13 | 1. Enjoy 14 | 15 | ## Upgrade instructions 16 | 17 | 1. Pull as usual 18 | 2. Do `git submodule -q foreach git pull -q origin master` to update submodules 19 | 3. ... 20 | 4. Profit 21 | 22 | ## Developers 23 | 24 | Miss a feature? Pull requests are welcome. -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | === Frontend Uploader === 2 | Contributors: rinatkhaziev, danielbachhuber 3 | Donate link: http://digitallyconscious.com/my-wordpress-plugins/ 4 | Tags: frontend, image, images, media, uploader, upload, video, audio, photo, photos, picture, pictures, file 5 | Requires at least: 3.3 6 | Tested up to: 5.0 7 | Stable tag: 0.5.8.1 8 | 9 | This plugin allows your visitors to upload User Generated Content (media and posts/custom-post-types with media). 10 | 11 | == Description == 12 | 13 | This plugin gives you an ability to easily accept, moderate and publish user generated content (currently, there are 3 modes: media, post, post + media). The plugin allows you to create a front end form with multiple fields (easily customizable with shortcodes). You can limit which MIME-types are supported for each field. All of the submissions are safely held for moderation in Media/Post/Custom Post Types menu under a special tab "Manage UGC". Review, moderate and publish. It's that easy! 14 | 15 | This plugin supports multiple uploads for modern browsers. Multiple file uploads are enabled for default form. To use it in your custom shortcode add multiple="" attribute to file shortcode. 16 | 17 | If you want to customize your form, please refer to FAQ section. 18 | 19 | By default plugin allows all MIME-types that are whitelisted in WordPress. However, there's a filter if you need to add some exotic MIME-type. Be sure to check out FAQ to get a grasp on how to customize the upload form with actions and filters. 20 | 21 | = New in v0.5 = 22 | 23 | You can choose what type of files you allow your visitors to upload from Frontend Uploader Settings 24 | 25 | = New in v0.4 = 26 | 27 | Now your visitors are able to upload not only media, but guest posts as well! 28 | Use [fu-upload-form form_layout="post_image"] to get default form to upload post content and images 29 | Use [fu-upload-form form_layout="post"] to get default form to upload post content 30 | 31 | You can also manage UGC for selected custom post types (Please refer to the plugin's settings page). By default, UGC is enabled for posts and attachments. If you want to be able to get any other post types UGC submissions just select desired post types at the plugin's settings page, and pass post_type='my_post_type' to the [fu-upload-form] shortcode. 32 | 33 | = Translations: = 34 | 35 | * Se habla español (Spanish) (props gastonbesada) 36 | * Мы говорим по-русски (Russian) 37 | * Nous parlons français (French) (props dapickboy) 38 | * Nous parlons français (Canadian French) (props rfzappala) 39 | * Vi snakker norsk (Norwegian) (props André Langseth) 40 | 41 | [Fork the plugin on Github](https://github.com/rinatkhaziev/wp-frontend-uploader/) 42 | 43 | == Installation == 44 | 45 | 1. Upload `frontend-uploader` to the `/wp-content/plugins/` directory 46 | 1. Activate the plugin through the 'Plugins' menu in WordPress 47 | 1. Tweak the plugin's settings in: Settings -> Frontend Uploader Settings 48 | 1. Use the following shortcode in post or page: [fu-upload-form] 49 | 1. Moderate uploaded files in Media -> Manage UGC menu 50 | 1. Moderate user posts in Posts -> Manage UGC 51 | 52 | == Screenshots == 53 | 54 | 1. Screenshot of plugin's UI (It's looks like standard media list table, with slightly better Parent column and additional row action: "Approve") 55 | 56 | == Frequently Asked Questions == 57 | 58 | = Shortcode parameters = 59 | 60 | The [fu-upload-form] shortcode has several parameters that can modify its behavior: 61 | 62 | 1. 'title' => Headline that will be displayed before the form 63 | 1. 'class' => HTML class of the form, defaults to 'validate'. If you want your form being validated - do not remove validate class 64 | 1. 'category' => ID of category the post should be attached (only in post or post+image mode). The category should be whitelisted in the settings 65 | 1. 'success_page' => URL to redirect on successful submission, defaults to the URL where the form is being displayed 66 | 1. 'form_layout' => There are three different modes: post, post_image, image. Default is image 67 | 1. 'post_id' => ID of the post the image should be attached to. Defaults to current post id 68 | 1. 'post_type' => Any registered whitelisted post type. Defaults to 'post'. Works only in post and post+image modes. 69 | 70 | = Example of default media upload form = 71 | Here's example of default form (you don't need to enter all that if you want to use default form, just use [fu-upload-form]): 72 | 73 | `[fu-upload-form class="your-class" title="Upload your media"] 74 | [input type="text" name="post_title" id="title" class="required" description="Title" multiple=""] 75 | [textarea name="post_content" class="textarea" id="ug_caption" description="Description (optional)"] 76 | [input type="file" name="photo" id="ug_photo" class="required" description="Your Photo" multiple=""] 77 | [input type="submit" class="btn" value="Submit"] 78 | [/fu-upload-form]` 79 | 80 | = I want to customize my form = 81 | You can include additional elements with a set of shortcodes 82 | [input type="text" name="post_title" id="title" class="required" description="Title" multiple=""] 83 | [select name="foo" class="select" id="ug_select" description="Pick a fruit" values="Apple,Banana,Cherry"] 84 | [textarea name="post_content" class="textarea" id="ug_caption" description="Description (optional)"] 85 | 86 | = I want to be allow users to upload mp3, psd, or any other file restricted by default. = 87 | You are able to do that within Frontend Uploader Settings admin page. The settings there cover the most popular extensions/MIME-types. 88 | The trick is that the same file might have several different mime-types based on setup of server/client. 89 | If you're experiencing any issues, you can set WP_DEBUG to true in your wp-config.php or put 90 | `add_filter( 'fu_is_debug', '__return_true' );` in your theme's functions.php to see what MIME-types you are having troubles with. 91 | 92 | [FileExt](http://filext.com/) is a good place to find MIME-types for specific file extension. 93 | 94 | Let's say we want to be able to upload 3gp media files. 95 | 96 | First we look up all MIME-types for 3gp: http://filext.com/file-extension/3gp 97 | 98 | Now that we have all possible MIME-types for .3gp, we can allow the files to be uploaded. 99 | 100 | Following code whitelists 3gp files, if it makes sense to you, you can modify it for other extensions/mime-types. 101 | If it confuses you, please don't hesitate to post on support forum. 102 | Put this in your theme's functions.php 103 | `add_filter( 'fu_allowed_mime_types', 'my_fu_allowed_mime_types' ); 104 | function my_fu_allowed_mime_types( $mime_types ) { 105 | // Array of 3gp mime types 106 | // From http://filext.com (there might be more) 107 | $mimes = array( 'audio/3gpp', 'video/3gpp' ); 108 | // Iterate through all mime types and add this specific mime to allow it 109 | foreach( $mimes as $mime ) { 110 | // Preserve the mime_type 111 | $orig_mime = $mime; 112 | // Leave only alphanumeric characters (needed for unique array key) 113 | preg_replace("/[^0-9a-zA-Z ]/", "", $mime ); 114 | // Workaround for unique array keys 115 | // If you-re going to modify it for your files 116 | // Don't forget to change extension in array key 117 | // E.g. $mime_types['pdf|pdf_' . $mime ] = $orig_mime 118 | $mime_types['3gp|3gp_' . $mime ] = $orig_mime; 119 | } 120 | return $mime_types; 121 | }` 122 | 123 | = Configuration Filters = 124 | 125 | = fu_manage_permissions = 126 | 127 | By default Frontend Uploader could be managed with 'edit_posts' capability, if you want to change permissions, this is the right filter 128 | `add_filter( 'fu_manage_permissions', create_function( '$cap', 'return "edit_others_posts"; ) );` 129 | 130 | = fu_allowed_mime_types = 131 | 132 | Allows you to add your custom MIME-types. Please note that there might be multiple MIME types per file extension. 133 | 134 | `add_filter( 'fu_allowed_mime_types', 'my_fu_allowed_mime_types' ); 135 | function my_fu_allowed_mime_types( $mime_types ) { 136 | $mp3_mimes = array( 'audio/mpeg', 'audio/x-mpeg', 'audio/mp3', 'audio/x-mp3', 'audio/mpeg3', 'audio/x-mpeg3', 'audio/mpg', 'audio/x-mpg', 'audio/x-mpegaudio' ); 137 | foreach( $mp3_mimes as $mp3_mime ) { 138 | $mime = $mp3_mime; 139 | preg_replace("/[^0-9a-zA-Z ]/", "", $mp3_mime ); 140 | $mime_types['mp3|mp3_' . $mp3_mime ] = $mime; 141 | } 142 | return $mime_types; 143 | }` 144 | 145 | = fu_after_upload = 146 | 147 | `add_action( 'fu_after_upload', 'my_fu_after_upload' ); 148 | 149 | function my_fu_after_upload( $attachment_ids ) { 150 | // do something with freshly uploaded files 151 | // This happens on POST request, so $_POST will also be available for you 152 | }` 153 | 154 | = fu_additional_html = 155 | 156 | Allows you to add additional HTML to form 157 | 158 | `add_action('fu_additional_html', 'my_fu_additional_html' ); 159 | 160 | function my_fu_additional_html() { 161 | ?> 162 | 163 | _fu = $frontend_uploader; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tests/test-frontend-uploader.php: -------------------------------------------------------------------------------- 1 | assertNotEmpty( $this->_fu->settings ); 17 | } 18 | 19 | // Test if the post has gallery shortcode and needs to be updated with the new att id 20 | function test_gallery_shortcode_update() { 21 | } 22 | 23 | // Check if errors are handled properly 24 | function test_error_handling() { 25 | 26 | } 27 | 28 | function test_mime_types() { 29 | $mimes = $this->_fu->_get_mime_types(); 30 | $this->assertNotEmpty( $mimes ); 31 | $this->assertInternalType( 'array', $mimes ); 32 | 33 | $this->assertGreaterThan( 0, has_filter( 'upload_mimes', array( $this->_fu, '_get_mime_types' ) ) ); 34 | } 35 | 36 | function test_successful_file_upload() { 37 | 38 | } 39 | 40 | function test_failed_file_upload() { 41 | 42 | } 43 | 44 | function test_successful_post_submit() { 45 | 46 | } 47 | 48 | function test_failed_post_submit() { 49 | 50 | } 51 | } --------------------------------------------------------------------------------