Compare commits

..

93 Commits

Author SHA1 Message Date
erwanlr
32b4670755 Bumps version 2020-01-02 15:28:33 +00:00
erwanlr
4a032d5e12 Merge branch 'ruby-2.7' 2020-01-02 14:53:46 +00:00
erwanlr
5887fede15 Updates deps 2020-01-02 13:53:28 +00:00
erwanlr
ad4eeb9f81 Fixes specs 2020-01-02 13:29:30 +00:00
erwanlr
a62c16d7cc Fixes Rubocop warning 2020-01-02 13:04:01 +00:00
erwanlr
e766e7392a Updates CMScanner dep 2020-01-02 12:52:03 +00:00
erwanlr
025c9c24ca Fixes GH Action 2020-01-02 12:51:23 +00:00
erwanlr
ab052add27 Allows Travis to fail on ruby-2.7 2019-12-28 13:14:19 +00:00
erwanlr
15cb99977b Fixes #1444 2019-12-28 13:10:57 +00:00
erwanlr
82d5af926f Adds Ruby 2.7.0 to Travis 2019-12-28 12:27:20 +00:00
erwanlr
76f73f3dc8 Adds DFs 2019-12-28 11:38:10 +00:00
erwanlr
575b22320e Merge branch 'df' 2019-12-21 10:49:32 +00:00
erwanlr
d20c07dc85 Adds DFs 2019-12-21 10:49:11 +00:00
erwanlr
f89071b87a Adds DFs, Updates rspec behaviour regarding --fail-fast 2019-12-20 15:47:56 +00:00
erwanlr
8b4e90f285 Updates deps + fixes travis 2019-12-19 13:56:06 +00:00
erwanlr
9c4f57c786 Adds DFs 2019-12-19 13:55:21 +00:00
erwanlr
902ec24b77 Adds DFs 2019-12-19 07:55:39 +00:00
erwanlr
7eba77fa63 Displays status code for KnownLocation finders 2019-12-15 09:00:30 +00:00
erwanlr
0753bbf7b3 Adds DF 2019-12-15 08:47:47 +00:00
erwanlr
6b2333614a Adds DFs 2019-12-14 12:14:37 +00:00
erwanlr
80b7f458f5 Fixes #1435 2019-12-08 10:34:18 +00:00
erwanlr
dbd8e59cf4 Typo 2019-12-07 15:46:31 +00:00
erwanlr
9948230ea0 Adds Dfs 2019-12-07 15:40:40 +00:00
Erwan
e2c858ac69 Merge pull request #1434 from crweiner/api-link
Fix links to API signup page
2019-12-03 13:37:55 +01:00
chandler
bac8b613e6 Fix links to API signup page 2019-12-02 17:03:36 -05:00
erwanlr
abbae15c6f Adds DFs 2019-11-30 12:47:32 +00:00
erwanlr
1548e8bfc1 Updates DFs 2019-11-28 20:19:25 +00:00
erwanlr
dc8cf3fc34 Disables a DF causing FP when checking the WP version 2019-11-28 17:15:05 +00:00
Erwan
c3cd815567 Merge pull request #1433 from wpscanteam/dependabot/bundler/rubocop-tw-0.77.0
Update rubocop requirement from ~> 0.76.0 to ~> 0.77.0
2019-11-28 08:50:50 +01:00
dependabot-preview[bot]
ce543b9384 Update rubocop requirement from ~> 0.76.0 to ~> 0.77.0
Updates the requirements on [rubocop](https://github.com/rubocop-hq/rubocop) to permit the latest version.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.76.0...v0.77.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-28 05:21:09 +00:00
Christian Mehlmauer
9755c8cf42 Delete rubocop.yml 2019-11-26 23:33:52 +01:00
Christian Mehlmauer
434a210fb5 Update and rename rspec.yml to ruby.yml 2019-11-26 23:33:37 +01:00
Christian Mehlmauer
587602665a Update rubocop.yml 2019-11-26 23:29:30 +01:00
Christian Mehlmauer
bfec63df41 Update rspec.yml 2019-11-26 23:26:35 +01:00
Christian Mehlmauer
3b150df1af Update rspec.yml 2019-11-26 23:25:36 +01:00
Christian Mehlmauer
f24ecf0537 Update rubocop.yml 2019-11-26 23:23:13 +01:00
Christian Mehlmauer
9ddecbcc0a Update and rename ruby.yml to rspec.yml 2019-11-26 23:22:46 +01:00
Christian Mehlmauer
947bb8d3d5 Update ruby.yml 2019-11-26 23:18:33 +01:00
Christian Mehlmauer
30cbf87b35 Update gempush.yml 2019-11-26 23:14:53 +01:00
Christian Mehlmauer
69c3aab35a Update .dockerignore 2019-11-26 23:06:05 +01:00
Christian Mehlmauer
bdeb3547f1 Create rubocop.yml 2019-11-26 23:05:45 +01:00
Christian Mehlmauer
99e04b9669 Create ruby.yml 2019-11-26 23:04:03 +01:00
Christian Mehlmauer
680d2fb7eb add gem push 2019-11-26 23:03:23 +01:00
erwanlr
8814eda018 Adds DFs 2019-11-23 11:45:15 +00:00
erwanlr
7e72ba2885 Adds DFs 2019-11-16 11:18:23 +00:00
Christian Mehlmauer
b4d7a8490b change twitter handle 2019-11-13 08:23:18 +01:00
erwanlr
e9a5bc66df Bumps version 2019-11-11 12:41:29 +00:00
erwanlr
edebc77726 Fixes 1426 2019-11-09 17:55:31 +00:00
erwanlr
271dee824d Adds DFs 2019-11-09 10:59:46 +00:00
erwanlr
1e868d10ca Ignores slow specs when executing rake tasks 2019-11-05 20:11:03 +00:00
erwanlr
4be3f17ae4 Bumps version 2019-11-05 19:19:18 +00:00
erwanlr
f24e7be264 Updates dep 2019-11-05 18:47:41 +00:00
erwanlr
9adc26445d Adds DFs 2019-11-02 11:47:11 +00:00
erwanlr
353e7dcbb9 Removes ruby-head from Travis 2019-11-01 17:47:05 +00:00
erwanlr
430e65c12e Updates cms_scanner dep 2019-11-01 16:43:13 +00:00
erwanlr
1aa242a9d8 Avoids duplicates in finding the same thing diffrent pages 2019-11-01 15:20:46 +00:00
erwanlr
7173cd85fe Changes "Detected By" to "Found By" in cli output for consistency with JSON output 2019-11-01 10:52:31 +00:00
erwanlr
b95a4f55e3 Adds DFs 2019-11-01 10:32:02 +00:00
erwanlr
6b5e016770 Improves detection of WP Version, Plugins etc by checking 404 2019-11-01 09:47:44 +00:00
erwanlr
85aa9f61cd Center the banner text 2019-10-31 16:42:40 +00:00
erwanlr
5c187002d6 Updates cms_scanner dep 2019-10-31 16:27:41 +00:00
Erwan
9bc373308b Merge pull request #1420 from wpscanteam/dependabot/bundler/rubocop-tw-0.76.0
Update rubocop requirement from ~> 0.75.0 to ~> 0.76.0
2019-10-29 07:52:15 +01:00
dependabot-preview[bot]
cdeb0fc144 Update rubocop requirement from ~> 0.75.0 to ~> 0.76.0
Updates the requirements on [rubocop](https://github.com/rubocop-hq/rubocop) to permit the latest version.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.75.0...v0.76.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-29 05:26:34 +00:00
ethicalhack3r
f1acdd9389 Remove 'no monetary cost' from LICENSE file 2019-10-28 16:42:15 +01:00
erwanlr
d6fac6a210 Adds DFs 2019-10-26 12:29:41 +01:00
Erwan
007cfb0801 Updates Ruby versions for Travis (now only latest in stable) 2019-10-26 10:58:56 +02:00
erwanlr
1f9829b7c0 Adds DFs 2019-10-19 22:56:38 +01:00
Erwan
e039d22565 Fix #1413 2019-10-17 20:31:28 +02:00
erwanlr
b0775b1610 Adds DFs 2019-10-15 17:18:40 +01:00
erwanlr
0e429700c6 Fixes #1412 2019-10-12 11:48:14 +01:00
erwanlr
af7804ca23 Adds DF 2019-10-12 10:54:21 +01:00
erwanlr
9da326967b Bumps version 2019-10-11 15:07:50 +01:00
erwanlr
62600b3a66 Fixes #1411 2019-10-11 14:32:00 +01:00
erwanlr
b236138fb5 Adds additional specs related to previous commit 2019-10-10 22:57:26 +01:00
erwanlr
40c2e9a54b Fixes non detection of plugins/themes from homepage in some cases 2019-10-10 22:33:19 +01:00
erwanlr
a9062db57f Improves detection speed of plugins/themes from homepage 2019-10-10 21:15:59 +01:00
erwanlr
2621404c5f Removes useless spec comment 2019-10-10 21:03:54 +01:00
erwanlr
c47211ca79 Fixes empty username returned in some cases 2019-10-10 20:34:39 +01:00
erwanlr
e39a192e8d Checks default wp-content dir regardless of detection mode if not found passively 2019-10-10 19:59:09 +01:00
Erwan
d85035d5ef Merge pull request #1407 from wpscanteam/dependabot/bundler/rspec-tw-3.9.0
Update rspec requirement from ~> 3.8.0 to ~> 3.9.0
2019-10-09 12:50:59 +02:00
dependabot-preview[bot]
de09a97343 Update rspec requirement from ~> 3.8.0 to ~> 3.9.0
Updates the requirements on [rspec](https://github.com/rspec/rspec) to permit the latest version.
- [Release notes](https://github.com/rspec/rspec/releases)
- [Commits](https://github.com/rspec/rspec/compare/v3.8.0...v3.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-09 05:48:37 +00:00
erwanlr
a6855345d7 Fixes #1406 2019-10-07 07:03:06 +01:00
erwanlr
a53f88b626 Improves WP detection 2019-10-06 16:51:35 +01:00
erwanlr
7048c82124 Adds DFs 2019-10-06 10:46:12 +01:00
erwanlr
6aa7cda478 Fixes #1404 2019-10-05 20:25:35 +01:00
erwanlr
ff339b9a8c Updates rubocop config 2019-10-03 13:09:14 +01:00
Erwan
8898cc20fe Merge pull request #1403 from wpscanteam/dependabot/bundler/rubocop-performance-tw-1.5.0
Update rubocop-performance requirement from ~> 1.4.0 to ~> 1.5.0
2019-10-02 18:35:11 +02:00
dependabot-preview[bot]
770d1da280 Update rubocop-performance requirement from ~> 1.4.0 to ~> 1.5.0
Updates the requirements on [rubocop-performance](https://github.com/rubocop-hq/rubocop-performance) to permit the latest version.
- [Release notes](https://github.com/rubocop-hq/rubocop-performance/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop-performance/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop-performance/compare/v1.4.0...v1.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-02 06:46:49 +00:00
Erwan
6ba4e8a29b Merge pull request #1402 from wpscanteam/dependabot/bundler/rubocop-tw-0.75.0
Update rubocop requirement from ~> 0.74.0 to ~> 0.75.0
2019-10-02 08:45:36 +02:00
dependabot-preview[bot]
953ca68495 Update rubocop requirement from ~> 0.74.0 to ~> 0.75.0
Updates the requirements on [rubocop](https://github.com/rubocop-hq/rubocop) to permit the latest version.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases)
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.74.0...v0.75.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-01 06:21:21 +00:00
Erwan
4289dfb37d Merge pull request #1401 from wpscanteam/dependabot/bundler/rake-tw-13.0
Update rake requirement from ~> 12.3 to ~> 13.0
2019-09-30 12:37:15 +02:00
dependabot-preview[bot]
4f6f2f436a Update rake requirement from ~> 12.3 to ~> 13.0
Updates the requirements on [rake](https://github.com/ruby/rake) to permit the latest version.
- [Release notes](https://github.com/ruby/rake/releases)
- [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc)
- [Commits](https://github.com/ruby/rake/compare/v12.3.0...v13.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-30 05:44:30 +00:00
erwanlr
237979a479 Adds DFs 2019-09-28 17:29:35 +01:00
287 changed files with 85061 additions and 400 deletions

View File

@@ -14,3 +14,4 @@ Dockerfile
*.orig
bin/wpscan-*
.wpscan/
.github/

40
.github/workflows/gempush.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: Ruby Gem
on:
release:
types: [published]
jobs:
build:
name: Build + Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Ruby 2.6
uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
#- name: Publish to GPR
# run: |
# mkdir -p $HOME/.gem
# touch $HOME/.gem/credentials
# chmod 0600 $HOME/.gem/credentials
# printf -- "---\n:github: Bearer ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
# gem build *.gemspec
# gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} *.gem
# env:
# GEM_HOST_API_KEY: ${{secrets.GITHUB_TOKEN}}
# OWNER: wpscanteam
- name: Publish to RubyGems
run: |
mkdir -p $HOME/.gem
touch $HOME/.gem/credentials
chmod 0600 $HOME/.gem/credentials
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
gem build *.gemspec
gem push *.gem
env:
GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}

34
.github/workflows/ruby.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: Ruby
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set up Ruby 2.6
uses: actions/setup-ruby@v1
with:
ruby-version: 2.6.x
- name: Cache gems
uses: actions/cache@v1
with:
path: vendor/bundle
key: ${{ runner.os }}-gem-${{ hashFiles('**/wpscan.gemspec') }}
restore-keys: |
${{ runner.os }}-gem-
- name: Build and test
run: |
gem install bundler
bundle config force_ruby_platform true
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: test
run: |
bundle exec rspec
- name: rubocop
run: |
bundle exec rubocop

5
.rspec
View File

@@ -1,3 +1,2 @@
--color
--fail-fast
--require spec_helper
--require spec_helper
--color

View File

@@ -4,16 +4,10 @@ AllCops:
Exclude:
- '*.gemspec'
- 'vendor/**/*'
ClassVars:
Enabled: false
LineLength:
Layout/LineLength:
Max: 120
Lint/UriEscapeUnescape:
Enabled: false
MethodLength:
Max: 20
Exclude:
- 'app/controllers/enumeration/cli_options.rb'
Metrics/AbcSize:
Max: 25
Metrics/BlockLength:
@@ -25,6 +19,12 @@ Metrics/ClassLength:
- 'app/controllers/enumeration/cli_options.rb'
Metrics/CyclomaticComplexity:
Max: 8
Metrics/MethodLength:
Max: 20
Exclude:
- 'app/controllers/enumeration/cli_options.rb'
Style/ClassVars:
Enabled: false
Style/Documentation:
Enabled: false
Style/FormatStringToken:

View File

@@ -2,29 +2,13 @@ language: ruby
sudo: false
cache: bundler
rvm:
- 2.4.1
- 2.4.2
- 2.4.3
- 2.4.4
- 2.4.5
- 2.4.6
- 2.5.0
- 2.5.1
- 2.5.2
- 2.5.3
- 2.5.4
- 2.5.5
- 2.6.0
- 2.6.1
- 2.6.2
- 2.6.3
- ruby-head
before_install:
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
- gem update --system
- 2.4.9
- 2.5.7
- 2.6.5
- 2.7.0
matrix:
allow_failures:
- rvm: ruby-head
- rvm: 2.7.0
script:
- bundle exec rubocop
- bundle exec rspec

View File

@@ -38,4 +38,3 @@ USER wpscan
RUN /usr/local/bundle/bin/wpscan --update --verbose
ENTRYPOINT ["/usr/local/bundle/bin/wpscan"]
CMD ["--help"]

View File

@@ -29,8 +29,6 @@ Example cases which do not require a commercial license, and thus fall under the
If you need to purchase a commercial license or are unsure whether you need to purchase a commercial license contact us - team@wpscan.org.
We may grant commercial licenses at no monetary cost at our own discretion if the commercial usage is deemed by the WPScan Team to significantly benefit WPScan.
Free-use Terms and Conditions;
3. Redistribution

View File

@@ -6,14 +6,18 @@ exec = []
begin
require 'rubocop/rake_task'
RuboCop::RakeTask.new
exec << :rubocop
rescue LoadError
end
begin
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec)
RSpec::Core::RakeTask.new(:spec) { |t| t.rspec_opts = %w{--tag ~slow} }
exec << :spec
rescue LoadError
end

View File

@@ -18,7 +18,7 @@ module WPScan
target.content_dir = ParsedCli.wp_content_dir if ParsedCli.wp_content_dir
target.plugins_dir = ParsedCli.wp_plugins_dir if ParsedCli.wp_plugins_dir
return if target.content_dir(ParsedCli.detection_mode)
return if target.content_dir
raise Error::WpContentDirNotDetected
end

View File

@@ -4,7 +4,6 @@ module WPScan
module Finders
module DbExports
# DB Exports finder
# See https://github.com/wpscanteam/wpscan-v3/issues/62
class KnownLocations < CMSScanner::Finders::Finder
include CMSScanner::Finders::Finder::Enumerator
@@ -41,7 +40,7 @@ module WPScan
# @return [ Hash ]
def potential_urls(opts = {})
urls = {}
domain_name = target.uri.host[/(^[\w|-]+)/, 1]
domain_name = PublicSuffix.domain(target.uri.host)[/(^[\w|-]+)/, 1]
File.open(opts[:list]).each_with_index do |path, index|
path.gsub!('{domain_name}', domain_name)

View File

@@ -1,8 +1,10 @@
# frozen_string_literal: true
require_relative 'main_theme/css_style'
require_relative 'main_theme/css_style_in_homepage'
require_relative 'main_theme/css_style_in_404_page'
require_relative 'main_theme/woo_framework_meta_generator'
require_relative 'main_theme/urls_in_homepage'
require_relative 'main_theme/urls_in_404_page'
module WPScan
module Finders
@@ -14,9 +16,11 @@ module WPScan
# @param [ WPScan::Target ] target
def initialize(target)
finders <<
MainTheme::CssStyle.new(target) <<
MainTheme::CssStyleInHomepage.new(target) <<
MainTheme::CssStyleIn404Page.new(target) <<
MainTheme::WooFrameworkMetaGenerator.new(target) <<
MainTheme::UrlsInHomepage.new(target)
MainTheme::UrlsInHomepage.new(target) <<
MainTheme::UrlsIn404Page.new(target)
end
end
end

View File

@@ -0,0 +1,14 @@
# frozen_string_literal: true
module WPScan
module Finders
module MainTheme
# From the CSS style in the 404 page
class CssStyleIn404Page < CssStyleInHomepage
def passive(opts = {})
passive_from_css_href(target.error_404_res, opts) || passive_from_style_code(target.error_404_res, opts)
end
end
end
end
end

View File

@@ -3,9 +3,9 @@
module WPScan
module Finders
module MainTheme
# From the css style
class CssStyle < CMSScanner::Finders::Finder
include Finders::WpItems::URLsInHomepage
# From the CSS style in the homepage
class CssStyleInHomepage < CMSScanner::Finders::Finder
include Finders::WpItems::UrlsInPage # To have the item_code_pattern method available here
def create_theme(slug, style_url, opts)
Model::Theme.new(

View File

@@ -0,0 +1,15 @@
# frozen_string_literal: true
module WPScan
module Finders
module MainTheme
# URLs In 404 Page Finder
class UrlsIn404Page < UrlsInHomepage
# @return [ Typhoeus::Response ]
def page_res
@page_res ||= target.error_404_res
end
end
end
end
end

View File

@@ -5,7 +5,7 @@ module WPScan
module MainTheme
# URLs In Homepage Finder
class UrlsInHomepage < CMSScanner::Finders::Finder
include WpItems::URLsInHomepage
include WpItems::UrlsInPage
# @param [ Hash ] opts
#
@@ -21,6 +21,11 @@ module WPScan
found
end
# @return [ Typhoeus::Response ]
def page_res
@page_res ||= target.homepage_res
end
end
end
end

View File

@@ -10,7 +10,7 @@ module WPScan
PATTERN = /#{THEME_PATTERN}\s+#{FRAMEWORK_PATTERN}/i.freeze
def passive(opts = {})
return unless target.homepage_res.body =~ PATTERN
return unless target.homepage_res.body =~ PATTERN || target.error_404_res.body =~ PATTERN
Model::Theme.new(
Regexp.last_match[1],

View File

@@ -1,6 +1,7 @@
# frozen_string_literal: true
require_relative 'plugins/urls_in_homepage'
require_relative 'plugins/urls_in_404_page'
require_relative 'plugins/known_locations'
# From the DynamicFinders
require_relative 'plugins/comment'
@@ -22,6 +23,7 @@ module WPScan
def initialize(target)
finders <<
Plugins::UrlsInHomepage.new(target) <<
Plugins::UrlsIn404Page.new(target) <<
Plugins::HeaderPattern.new(target) <<
Plugins::Comment.new(target) <<
Plugins::Xpath.new(target) <<

View File

@@ -19,8 +19,12 @@ module WPScan
def aggressive(opts = {})
found = []
enumerate(target_urls(opts), opts.merge(check_full_response: true)) do |_res, slug|
found << Model::Plugin.new(slug, target, opts.merge(found_by: found_by, confidence: 80))
enumerate(target_urls(opts), opts.merge(check_full_response: true)) do |res, slug|
finding_opts = opts.merge(found_by: found_by,
confidence: 80,
interesting_entries: ["#{res.effective_url}, status: #{res.code}"])
found << Model::Plugin.new(slug, target, finding_opts)
raise Error::PluginsThresholdReached if opts[:threshold].positive? && found.size >= opts[:threshold]
end

View File

@@ -0,0 +1,16 @@
# frozen_string_literal: true
module WPScan
module Finders
module Plugins
# URLs In 404 Page Finder
# Typically, the items detected from URLs like /wp-content/plugins/<slug>/
class UrlsIn404Page < UrlsInHomepage
# @return [ Typhoeus::Response ]
def page_res
@page_res ||= target.error_404_res
end
end
end
end
end

View File

@@ -4,10 +4,9 @@ module WPScan
module Finders
module Plugins
# URLs In Homepage Finder
# Typically, the items detected from URLs like
# /wp-content/plugins/<slug>/
# Typically, the items detected from URLs like /wp-content/plugins/<slug>/
class UrlsInHomepage < CMSScanner::Finders::Finder
include WpItems::URLsInHomepage
include WpItems::UrlsInPage
# @param [ Hash ] opts
#
@@ -21,6 +20,11 @@ module WPScan
found
end
# @return [ Typhoeus::Response ]
def page_res
@page_res ||= target.homepage_res
end
end
end
end

View File

@@ -1,12 +1,13 @@
# frozen_string_literal: true
require_relative 'themes/urls_in_homepage'
require_relative 'themes/urls_in_404_page'
require_relative 'themes/known_locations'
module WPScan
module Finders
module Themes
# themes Finder
# Themes Finder
class Base
include CMSScanner::Finders::SameTypeFinder
@@ -14,6 +15,7 @@ module WPScan
def initialize(target)
finders <<
Themes::UrlsInHomepage.new(target) <<
Themes::UrlsIn404Page.new(target) <<
Themes::KnownLocations.new(target)
end
end

View File

@@ -19,8 +19,12 @@ module WPScan
def aggressive(opts = {})
found = []
enumerate(target_urls(opts), opts.merge(check_full_response: true)) do |_res, slug|
found << Model::Theme.new(slug, target, opts.merge(found_by: found_by, confidence: 80))
enumerate(target_urls(opts), opts.merge(check_full_response: true)) do |res, slug|
finding_opts = opts.merge(found_by: found_by,
confidence: 80,
interesting_entries: ["#{res.effective_url}, status: #{res.code}"])
found << Model::Theme.new(slug, target, finding_opts)
raise Error::ThemesThresholdReached if opts[:threshold].positive? && found.size >= opts[:threshold]
end

View File

@@ -0,0 +1,15 @@
# frozen_string_literal: true
module WPScan
module Finders
module Themes
# URLs In 04 Page Finder
class UrlsIn404Page < UrlsInHomepage
# @return [ Typhoeus::Response ]
def page_res
@page_res ||= target.error_404_res
end
end
end
end
end

View File

@@ -5,7 +5,7 @@ module WPScan
module Themes
# URLs In Homepage Finder
class UrlsInHomepage < CMSScanner::Finders::Finder
include WpItems::URLsInHomepage
include WpItems::UrlsInPage
# @param [ Hash ] opts
#
@@ -19,6 +19,11 @@ module WPScan
found
end
# @return [ Typhoeus::Response ]
def page_res
@page_res ||= target.homepage_res
end
end
end
end

View File

@@ -97,9 +97,12 @@ module WPScan
# @return [ String, nil ]
def display_name_from_body(body)
page = Nokogiri::HTML.parse(body)
# WP >= 3.0
page.css('h1.page-title span').each do |node|
return node.text.to_s
text = node.text.to_s.strip
return text unless text.empty?
end
# WP < 3.0

View File

@@ -34,6 +34,8 @@ module WPScan
def user_details_from_oembed_data(oembed_data)
return unless oembed_data
oembed_data = oembed_data.first if oembed_data.is_a?(Array)
if oembed_data['author_url'] =~ %r{/author/([^/]+)/?\z}
details = [Regexp.last_match[1], 'Author URL', 90]
elsif oembed_data['author_name'] && !oembed_data['author_name'].empty?

View File

@@ -1,3 +1,3 @@
# frozen_string_literal: true
require_relative 'wp_items/urls_in_homepage'
require_relative 'wp_items/urls_in_page'

View File

@@ -4,7 +4,7 @@ module WPScan
module Finders
module WpItems
# URLs In Homepage Module to use in plugins & themes finders
module URLsInHomepage
module UrlsInPage
# @param [ String ] type plugins / themes
# @param [ Boolean ] uniq Wether or not to apply the #uniq on the results
#
@@ -12,10 +12,12 @@ module WPScan
def items_from_links(type, uniq = true)
found = []
target.in_scope_uris(target.homepage_res) do |uri|
target.in_scope_uris(page_res) do |uri|
next unless uri.to_s =~ item_attribute_pattern(type)
found << Regexp.last_match[1]
slug = Regexp.last_match[1]&.strip
found << slug unless slug&.empty?
end
uniq ? found.uniq.sort : found.sort
@@ -28,7 +30,7 @@ module WPScan
def items_from_codes(type, uniq = true)
found = []
target.homepage_res.html.css('script,style').each do |tag|
page_res.html.xpath('//script[not(@src)]|//style[not(@src)]').each do |tag|
code = tag.text.to_s
next if code.empty?
@@ -42,7 +44,7 @@ module WPScan
#
# @return [ Regexp ]
def item_attribute_pattern(type)
@item_attribute_pattern ||= %r{\A#{item_url_pattern(type)}([^/]+)/}i
@item_attribute_pattern ||= %r{#{item_url_pattern(type)}([^/]+)/}i
end
# @param [ String ] type
@@ -59,7 +61,7 @@ module WPScan
item_dir = type == 'plugins' ? target.plugins_dir : target.content_dir
item_url = type == 'plugins' ? target.plugins_url : target.content_url
url = /#{item_url.gsub(/\A(?:http|https)/i, 'https?').gsub('/', '\\\\\?\/')}/i
url = /#{item_url.gsub(/\A(?:https?)/i, 'https?').gsub('/', '\\\\\?\/')}/i
item_dir = %r{(?:#{url}|\\?\/#{item_dir.gsub('/', '\\\\\?\/')}\\?/)}i
type == 'plugins' ? item_dir : %r{#{item_dir}#{type}\\?\/}i

View File

@@ -101,7 +101,7 @@ module WPScan
#
# @return [ String ]
def parse_style_tag(body, tag)
value = body[/^\s*#{Regexp.escape(tag)}:[\t ]*([^\r\n]+)/i, 1]
value = body[/#{Regexp.escape(tag)}:[\t ]*([^\r\n\*]+)/i, 1]
value && !value.strip.empty? ? value.strip : nil
end

View File

@@ -14,7 +14,7 @@ module WPScan
attr_reader :uri, :slug, :detection_opts, :version_detection_opts, :blog, :path_from_blog, :db_data
delegate :homepage_res, :xpath_pattern_from_page, :in_scope_uris, :head_or_get_params, to: :blog
delegate :homepage_res, :error_404_res, :xpath_pattern_from_page, :in_scope_uris, :head_or_get_params, to: :blog
# @param [ String ] slug The plugin/theme slug
# @param [ Target ] blog The targeted blog
@@ -23,7 +23,7 @@ module WPScan
# @option opts [ Hash ] :version_detection The options to use when looking for the version
# @option opts [ String ] :url The URL of the item
def initialize(slug, blog, opts = {})
@slug = URI.decode(slug)
@slug = Addressable::URI.unencode(slug)
@blog = blog
@uri = Addressable::URI.parse(opts[:url]) if opts[:url]
@@ -83,11 +83,6 @@ module WPScan
end
end
# URI.encode is preferered over Addressable::URI.encode as it will encode
# leading # character:
# URI.encode('#t#') => %23t%23
# Addressable::URI.encode('#t#') => #t%23
#
# @param [ String ] path Optional path to merge with the uri
#
# @return [ String ]
@@ -95,7 +90,7 @@ module WPScan
return unless @uri
return @uri.to_s unless path
@uri.join(URI.encode(path)).to_s
@uri.join(Addressable::URI.encode(path)).to_s
end
# @return [ Boolean ]
@@ -166,7 +161,7 @@ module WPScan
# @return [ Typhoeus::Response ]
def head_and_get(path, codes = [200], params = {})
final_path = +@path_from_blog
final_path << URI.encode(path) unless path.nil?
final_path << path unless path.nil?
blog.head_and_get(final_path, codes, params)
end

View File

@@ -1,14 +1,14 @@
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __ ®
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
__ _______ _____
\ \ / / __ \ / ____|
\ \ /\ / /| |__) | (___ ___ __ _ _ __ ®
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | |
\/ \/ |_| |_____/ \___|\__,_|_| |_|
WordPress Security Scanner by the WPScan Team
Version <%= WPScan::VERSION %>
WordPress Security Scanner by the WPScan Team
Version <%= WPScan::VERSION %>
<%= ' ' * ((63 - WPScan::DB::Sponsor.text.length)/2) + WPScan::DB::Sponsor.text %>
@_WPScan_, @ethicalhack3r, @erwan_lr, @_FireFart_
@_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

View File

@@ -1,4 +1,4 @@
| Detected By: <%= @item.found_by %>
| Found By: <%= @item.found_by %>
<% @item.interesting_entries.each do |entry| -%>
| - <%= entry %>
<% end -%>

View File

@@ -9,5 +9,5 @@
<% end -%>
<% else -%>
<%= warning_icon %> No WPVulnDB API Token given, as a result vulnerability data has not been output.
<%= warning_icon %> You can get a free API token with 50 daily requests by registering at https://wpvulndb.com/users/sign_up.
<%= warning_icon %> You can get a free API token with 50 daily requests by registering at https://wpvulndb.com/users/sign_up
<% end -%>

View File

@@ -5,7 +5,7 @@
"@_WPScan_",
"@ethicalhack3r",
"@erwan_lr",
"@_FireFart_"
"@firefart"
],
"sponsor": <%= WPScan::DB::Sponsor.text.to_json %>
},

View File

@@ -8,6 +8,6 @@
"requests_remaining": <%= @status['requests_remaining'].to_json %>
<% end -%>
<% else -%>
"error": "No WPVulnDB API Token given, as a result vulnerability data has not been output.\nYou can get a free API token with 50 daily requests by registering at https://wpvulndb.com/users/sign_up."
"error": "No WPVulnDB API Token given, as a result vulnerability data has not been output.\nYou can get a free API token with 50 daily requests by registering at https://wpvulndb.com/users/sign_up"
<% end -%>
},

View File

@@ -44,19 +44,27 @@ module WPScan
#
# @param [ Typhoeus::Response ] response
# @param [ Hash ] opts
# @return [ Mixed ]
# @return [ Mixed: nil, Object, Array ]
def find(_response, _opts = {})
raise NoMethodError
end
# @param [ Hash ] opts
# @return [ Mixed ] See #find
def passive(opts = {})
return if self.class::PATH
find(target.homepage_res, opts)
homepage_result = find(target.homepage_res, opts)
if homepage_result
return homepage_result unless homepage_result.is_a?(Array) && homepage_result.empty?
end
find(target.error_404_res, opts)
end
# @param [ Hash ] opts
# @return [ Mixed ] See #find
def aggressive(opts = {})
return unless self.class::PATH

View File

@@ -31,9 +31,14 @@ module WPScan
passive_configs.each do |slug, configs|
configs.each do |klass, config|
item = process_response(opts, target.homepage_res, slug, klass, config)
[target.homepage_res, target.error_404_res].each do |page_res|
item = process_response(opts, page_res, slug, klass, config)
found << item if item.is_a?(Model::WpItem)
if item.is_a?(Model::WpItem)
found << item
break # No need to check the other page if detected in the current
end
end
end
end

View File

@@ -37,6 +37,8 @@ module WPScan
end
end
# This one has been disabled from the DF.yml as it was causing FPs when a plugin had numerous
# files matching a known WP version.
class WpItemQueryParameter < QueryParameter
def xpath
@xpath ||=

View File

@@ -11,7 +11,9 @@ module WPScan
module WordPress
include CMSScanner::Target::Platform::PHP
WORDPRESS_PATTERN = %r{/(?:(?:wp-content/(?:themes|(?:mu\-)?plugins|uploads))|wp-includes)/}i.freeze
WORDPRESS_PATTERN = %r{/(?:(?:wp-content/(?:themes|(?:mu\-)?plugins|uploads))|wp-includes)/}i.freeze
WP_JSON_OEMBED_PATTERN = %r{/wp\-json/oembed/}i.freeze
WP_ADMIN_AJAX_PATTERN = %r{\\?/wp\-admin\\?/admin\-ajax\.php}i.freeze
# These methods are used in the associated interesting_findings finders
# to keep the boolean state of the finding rather than re-check the whole thing again
@@ -22,22 +24,16 @@ module WPScan
# @param [ Symbol ] detection_mode
#
# @return [ Boolean ]
# @return [ Boolean ] Whether or not the target is running WordPress
def wordpress?(detection_mode)
in_scope_uris(homepage_res) do |uri|
return true if uri.path.match(WORDPRESS_PATTERN)
[homepage_res, error_404_res].each do |page_res|
return true if wordpress_from_meta_comments_or_scripts?(page_res)
end
homepage_res.html.css('meta[name="generator"]').each do |node|
return true if /wordpress/i.match?(node['content'])
end
return true unless comments_from_page(/wordpress/i, homepage_res).empty?
if %i[mixed aggressive].include?(detection_mode)
%w[wp-admin/install.php wp-login.php].each do |path|
in_scope_uris(Browser.get_and_follow_location(url(path))).each do |uri|
return true if uri.path.match(WORDPRESS_PATTERN)
return true if in_scope_uris(Browser.get_and_follow_location(url(path))).any? do |uri|
WORDPRESS_PATTERN.match?(uri.path)
end
end
end
@@ -45,6 +41,26 @@ module WPScan
false
end
# @param [ Typhoeus::Response ] response
# @return [ Boolean ]
def wordpress_from_meta_comments_or_scripts?(response)
in_scope_uris(response) do |uri|
return true if WORDPRESS_PATTERN.match?(uri.path) || WP_JSON_OEMBED_PATTERN.match?(uri.path)
end
return true if response.html.css('meta[name="generator"]').any? do |node|
/wordpress/i.match?(node['content'])
end
return true unless comments_from_page(/wordpress/i, response).empty?
return true if response.html.xpath('//script[not(@src)]').any? do |node|
WP_ADMIN_AJAX_PATTERN.match?(node.text)
end
false
end
COOKIE_PATTERNS = {
'vjs' => /createCookie\('vjs','(?<c_value>\d+)',\d+\);/i
}.freeze
@@ -82,7 +98,7 @@ module WPScan
def wordpress_hosted?
return true if /\.wordpress\.com$/i.match?(uri.host)
unless content_dir(:passive)
unless content_dir
pattern = %r{https?://s\d\.wp\.com#{WORDPRESS_PATTERN}}i.freeze
uris_from_page(homepage_res) do |uri|

View File

@@ -13,25 +13,24 @@ module WPScan
@plugins_dir = dir.chomp('/')
end
# @param [ Symbol ] detection_mode
# @return [ String ] The wp-content directory
def content_dir(detection_mode = :mixed)
def content_dir
unless @content_dir
# scope_url_pattern is from CMSScanner::Target
pattern = %r{#{scope_url_pattern}([\w\s\-/]+)\\?/(?:themes|plugins|uploads|cache)\\?/}i
pattern = %r{#{scope_url_pattern}([\w\s\-/]+?)\\?/(?:themes|plugins|uploads|cache)\\?/}i
in_scope_uris(homepage_res) do |uri|
return @content_dir = Regexp.last_match[1] if uri.to_s.match(pattern)
[homepage_res, error_404_res].each do |page_res|
in_scope_uris(page_res, '//link/@href|//script/@src|//img/@src') do |uri|
return @content_dir = Regexp.last_match[1] if uri.to_s.match(pattern)
end
# Checks for the pattern in raw JS code, as well as @content attributes of meta tags
xpath_pattern_from_page('//script[not(@src)]|//meta/@content', pattern, page_res) do |match|
return @content_dir = match[1]
end
end
# Checks for the pattern in raw JS code, as well as @content attributes of meta tags
xpath_pattern_from_page('//script[not(@src)]|//meta/@content', pattern, homepage_res) do |match|
return @content_dir = match[1]
end
unless detection_mode == :passive
return @content_dir = 'wp-content' if default_content_dir_exists?
end
return @content_dir = 'wp-content' if default_content_dir_exists?
end
@content_dir
@@ -72,7 +71,7 @@ module WPScan
#
# @return [ String ]
def plugin_url(slug)
plugins_uri.join("#{URI.encode(slug)}/").to_s
plugins_uri.join("#{Addressable::URI.encode(slug)}/").to_s
end
# @return [ String ]
@@ -94,7 +93,7 @@ module WPScan
#
# @return [ String ]
def theme_url(slug)
themes_uri.join("#{URI.encode(slug)}/").to_s
themes_uri.join("#{Addressable::URI.encode(slug)}/").to_s
end
# @return [ String, False ] String of the sub_dir found, false otherwise
@@ -107,8 +106,10 @@ module WPScan
# url_pattern is from CMSScanner::Target
pattern = %r{#{url_pattern}(.+?)/(?:xmlrpc\.php|wp\-includes/)}i
in_scope_uris(homepage_res) do |uri|
return @sub_dir = Regexp.last_match[1] if uri.to_s.match(pattern)
[homepage_res, error_404_res].each do |page_res|
in_scope_uris(page_res) do |uri|
return @sub_dir = Regexp.last_match[1] if uri.to_s.match(pattern)
end
end
@sub_dir = false

View File

@@ -2,5 +2,5 @@
# Version
module WPScan
VERSION = '3.7.2'
VERSION = '3.7.6'
end

View File

@@ -166,6 +166,7 @@ describe WPScan::Controller::Core do
before do
expect(core).to receive(:load_server_module)
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(true)
expect(core.target).to receive(:wordpress_hosted?).and_return(false)
end
it 'calls the formatter when started and finished to update the db' do
@@ -174,56 +175,6 @@ describe WPScan::Controller::Core do
end
end
context 'when a redirect occurs' do
before do
stub_request(:any, target_url)
expect(core.target).to receive(:homepage_res)
.at_least(1)
.and_return(Typhoeus::Response.new(effective_url: redirection, body: ''))
end
context 'to the wp-admin/install.php' do
let(:redirection) { "#{target_url}wp-admin/install.php" }
it 'calls the formatter with the correct parameters and exit' do
expect(core.formatter).to receive(:output)
.with('not_fully_configured', hash_including(url: redirection), 'core').ordered
# TODO: Would be cool to be able to test the exit code
expect { core.before_scan }.to raise_error(SystemExit)
end
end
context 'to something else' do
let(:redirection) { 'http://g.com/' }
it 'raises an error' do
expect { core.before_scan }.to raise_error(CMSScanner::Error::HTTPRedirect)
end
end
context 'to another path with the wp-admin/install.php in the query' do
let(:redirection) { "#{target_url}index.php?a=/wp-admin/install.php" }
context 'when wordpress' do
it 'does not raise an error' do
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(true)
expect { core.before_scan }.to_not raise_error
end
end
context 'when not wordpress' do
it 'raises an error' do
expect(core.target).to receive(:wordpress?).twice.with(:mixed).and_return(false)
expect { core.before_scan }.to raise_error(WPScan::Error::NotWordPress)
end
end
end
end
context 'when hosted on wordpress.com' do
let(:target_url) { 'http://ex.wordpress.com' }
@@ -234,52 +185,106 @@ describe WPScan::Controller::Core do
end
end
context 'when wordpress' do
before do
expect(core).to receive(:load_server_module)
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(true)
end
context 'when not hosted on wordpress.com' do
before { allow(core.target).to receive(:wordpress_hosted?).and_return(false) }
it 'does not raise any error' do
expect { core.before_scan }.to_not raise_error
end
end
context 'when a redirect occurs' do
before do
stub_request(:any, target_url)
context 'when not wordpress' do
before do
expect(core).to receive(:load_server_module)
end
expect(core.target).to receive(:homepage_res)
.at_least(1)
.and_return(Typhoeus::Response.new(effective_url: redirection, body: ''))
end
context 'when no --force' do
before { expect(core.target).to receive(:maybe_add_cookies) }
context 'to the wp-admin/install.php' do
let(:redirection) { "#{target_url}wp-admin/install.php" }
context 'when no cookies added or still not wordpress after being added' do
it 'raises an error' do
expect(core.target).to receive(:wordpress?).twice.with(:mixed).and_return(false)
it 'calls the formatter with the correct parameters and exit' do
expect(core.formatter).to receive(:output)
.with('not_fully_configured', hash_including(url: redirection), 'core').ordered
expect { core.before_scan }.to raise_error(WPScan::Error::NotWordPress)
# TODO: Would be cool to be able to test the exit code
expect { core.before_scan }.to raise_error(SystemExit)
end
end
context 'when the added cookies solved it' do
it 'does not raise an error' do
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(false).ordered
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(true).ordered
context 'to something else' do
let(:redirection) { 'http://g.com/' }
it 'raises an error' do
expect { core.before_scan }.to raise_error(CMSScanner::Error::HTTPRedirect)
end
end
context 'to another path with the wp-admin/install.php in the query' do
let(:redirection) { "#{target_url}index.php?a=/wp-admin/install.php" }
context 'when wordpress' do
it 'does not raise an error' do
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(true)
expect { core.before_scan }.to_not raise_error
end
end
context 'when not wordpress' do
it 'raises an error' do
expect(core.target).to receive(:wordpress?).twice.with(:mixed).and_return(false)
expect { core.before_scan }.to raise_error(WPScan::Error::NotWordPress)
end
end
end
end
context 'when wordpress' do
before do
expect(core).to receive(:load_server_module)
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(true)
end
it 'does not raise any error' do
expect { core.before_scan }.to_not raise_error
end
end
context 'when not wordpress' do
before do
expect(core).to receive(:load_server_module)
end
context 'when no --force' do
before { expect(core.target).to receive(:maybe_add_cookies) }
context 'when no cookies added or still not wordpress after being added' do
it 'raises an error' do
expect(core.target).to receive(:wordpress?).twice.with(:mixed).and_return(false)
expect { core.before_scan }.to raise_error(WPScan::Error::NotWordPress)
end
end
context 'when the added cookies solved it' do
it 'does not raise an error' do
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(false).ordered
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(true).ordered
expect { core.before_scan }.to_not raise_error
end
end
end
context 'when --force' do
let(:cli_args) { "#{super()} --force" }
it 'does not raise any error' do
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(false)
expect { core.before_scan }.to_not raise_error
end
end
end
context 'when --force' do
let(:cli_args) { "#{super()} --force" }
it 'does not raise any error' do
expect(core.target).to receive(:wordpress?).with(:mixed).and_return(false)
expect { core.before_scan }.to_not raise_error
end
end
end
end
end

View File

@@ -20,7 +20,7 @@ describe WPScan::Controller::CustomDirectories do
describe '#before_scan' do
context 'when the content_dir is not found and not supplied' do
before { expect(controller.target).to receive(:content_dir).with(:mixed) }
before { expect(controller.target).to receive(:content_dir).and_return(nil) }
it 'raises an exception' do
expect { controller.before_scan }.to raise_error(WPScan::Error::WpContentDirNotDetected)

View File

@@ -9,7 +9,7 @@ describe WPScan::Finders::DbExports::KnownLocations do
describe '#potential_urls' do
before do
expect(target).to receive(:sub_dir).at_least(1).and_return(false)
allow(target).to receive(:sub_dir).and_return(false)
end
it 'replace {domain_name} by its value' do
@@ -22,11 +22,45 @@ describe WPScan::Finders::DbExports::KnownLocations do
http://ex.lo/aa/backups/db_backup.sql
]
end
%w[dev poc www].each do |sub_domain|
context "when #{sub_domain} sub-domain" do
let(:url) { "https://#{sub_domain}.domain.tld" }
it 'replace {domain_name} by its correct value' do
expect(finder.potential_urls(opts).keys).to include "#{url}/domain.sql"
end
end
end
context 'when multi-level tlds' do
let(:url) { 'https://something.com.tr' }
it 'replace {domain_name} by its correct value' do
expect(finder.potential_urls(opts).keys).to include 'https://something.com.tr/something.sql'
end
end
context 'when multi-level tlds and sub-domain' do
let(:url) { 'https://dev.something.com.tr' }
it 'replace {domain_name} by its correct value' do
expect(finder.potential_urls(opts).keys).to include 'https://dev.something.com.tr/something.sql'
end
end
context 'when some weird stuff' do
let(:url) { 'https://098f6bcd4621d373cade4e832627b4f6.aa-bb-ccc-dd.domain-test.com' }
it 'replace {domain_name} by its correct value' do
expect(finder.potential_urls(opts).keys).to include "#{url}/domain-test.sql"
end
end
end
describe '#aggressive' do
before do
expect(target).to receive(:sub_dir).at_least(1).and_return(false)
allow(target).to receive(:sub_dir).and_return(false)
expect(target).to receive(:head_or_get_params).and_return(method: :head)
finder.potential_urls(opts).each_key do |url|

View File

@@ -0,0 +1,11 @@
# frozen_string_literal: true
describe WPScan::Finders::MainTheme::CssStyleIn404Page do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url).extend(CMSScanner::Target::Server::Apache) }
let(:url) { 'http://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('main_theme', 'css_style_in_404_page') }
# This stuff is just a child class of CssStyleInHomepage (using the error_404_res rather than homepage_res)
# which already has a spec
end

View File

@@ -1,10 +1,10 @@
# frozen_string_literal: true
describe WPScan::Finders::MainTheme::CssStyle do
describe WPScan::Finders::MainTheme::CssStyleInHomepage do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url).extend(CMSScanner::Target::Server::Apache) }
let(:url) { 'http://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('main_theme', 'css_style') }
let(:fixtures) { FINDERS_FIXTURES.join('main_theme', 'css_style_in_homepage') }
describe '#passive' do
after do
@@ -33,7 +33,7 @@ describe WPScan::Finders::MainTheme::CssStyle do
@expected = WPScan::Model::Theme.new(
'twentyfifteen',
target,
found_by: 'Css Style (Passive Detection)',
found_by: 'Css Style In Homepage (Passive Detection)',
confidence: 70,
style_url: 'http://wp.lab/wp-content/themes/twentyfifteen/style.css?ver=4.1.1'
)
@@ -47,7 +47,7 @@ describe WPScan::Finders::MainTheme::CssStyle do
@expected = WPScan::Model::Theme.new(
'custom',
target,
found_by: 'Css Style (Passive Detection)',
found_by: 'Css Style In Homepage (Passive Detection)',
confidence: 70,
style_url: 'http://wp.lab/wp-content/themes/custom/style.css'
)

View File

@@ -0,0 +1,11 @@
# frozen_string_literal: true
describe WPScan::Finders::MainTheme::UrlsIn404Page do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url) }
let(:url) { 'http://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('main_theme', 'urls_in_404_page') }
# This stuff is just a child class of URLsInHomepage (using the error_404_res rather than homepage_res)
# which already has a spec
end

View File

@@ -6,7 +6,8 @@ describe WPScan::Finders::MainTheme::UrlsInHomepage do
let(:url) { 'http://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('main_theme', 'urls_in_homepage') }
it_behaves_like 'App::Finders::WpItems::URLsInHomepage' do
it_behaves_like 'App::Finders::WpItems::UrlsInPage' do
let(:page_url) { url }
let(:type) { 'themes' }
let(:uniq_links) { false }
let(:uniq_codes) { false }
@@ -18,6 +19,8 @@ describe WPScan::Finders::MainTheme::UrlsInHomepage do
before do
stub_request(:get, /.*.css/)
stub_request(:get, target.url).to_return(body: File.read(fixtures.join('found.html')))
allow(target).to receive(:content_dir).and_return('wp-content')
end
it 'returns the expected Themes' do

View File

@@ -7,32 +7,50 @@ describe WPScan::Finders::MainTheme::WooFrameworkMetaGenerator do
let(:fixtures) { FINDERS_FIXTURES.join('main_theme', 'woo_framework_meta_generator') }
describe '#passive' do
after do
stub_request(:get, url).to_return(body: File.read(fixtures.join(@file)))
expect(finder.passive).to eql @expected
before do
stub_request(:get, url).to_return(body: File.read(fixtures.join(homepage_fixture)))
stub_request(:get, ERROR_404_URL_PATTERN).to_return(body: File.read(fixtures.join(error_404_fixture)))
end
context 'when no Woo generator' do
let(:homepage_fixture) { 'no_woo_generator.html' }
let(:error_404_fixture) { 'no_woo_generator.html' }
it 'returns nil' do
@file = 'no_woo_generator.html'
@expected = nil
expect(finder.passive).to eql nil
end
end
context 'when Woo generator' do
before do
expect(target).to receive(:content_dir).at_least(1).and_return('wp-content')
allow(target).to receive(:content_dir).and_return('wp-content')
stub_request(:get, "#{url}wp-content/themes/Merchant/style.css")
end
it 'returns the expected theme' do
@file = 'woo_generator.html'
@expected = WPScan::Model::Theme.new(
'Merchant', target,
found_by: 'Woo Framework Meta Generator (Passive Detection)',
confidence: 80
)
context 'from the homepage' do
let(:homepage_fixture) { 'woo_generator.html' }
let(:error_404_fixture) { 'no_woo_generator.html' }
it 'returns the expected theme' do
expect(finder.passive).to eql WPScan::Model::Theme.new(
'Merchant', target,
found_by: 'Woo Framework Meta Generator (Passive Detection)',
confidence: 80
)
end
end
context 'from the 404 page' do
let(:homepage_fixture) { 'no_woo_generator.html' }
let(:error_404_fixture) { 'woo_generator.html' }
it 'returns the expected theme' do
expect(finder.passive).to eql WPScan::Model::Theme.new(
'Merchant', target,
found_by: 'Woo Framework Meta Generator (Passive Detection)',
confidence: 80
)
end
end
end
end

View File

@@ -8,7 +8,7 @@ describe WPScan::Finders::MainTheme::Base do
describe '#finders' do
it 'contains the expected finders' do
expect(main_theme.finders.map { |f| f.class.to_s.demodulize })
.to eq %w[CssStyle WooFrameworkMetaGenerator UrlsInHomepage]
.to eq %w[CssStyleInHomepage CssStyleIn404Page WooFrameworkMetaGenerator UrlsInHomepage UrlsIn404Page]
end
end
end

View File

@@ -0,0 +1,11 @@
# frozen_string_literal: true
describe WPScan::Finders::Plugins::UrlsIn404Page do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url) }
let(:url) { 'https://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('plugins', 'urls_in_404_page') }
# This stuff is just a child class of URLsInHomepage (using the error_404_res rather than homepage_res)
# which already has a spec
end

View File

@@ -3,14 +3,17 @@
describe WPScan::Finders::Plugins::UrlsInHomepage do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url) }
let(:url) { 'http://wp.lab/' }
let(:url) { 'https://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('plugins', 'urls_in_homepage') }
it_behaves_like 'App::Finders::WpItems::URLsInHomepage' do
before { target.scope << 'sub.lab' }
it_behaves_like 'App::Finders::WpItems::UrlsInPage' do
let(:page_url) { url }
let(:type) { 'plugins' }
let(:uniq_links) { true }
let(:uniq_codes) { true }
let(:expected_from_links) { (1..4).map { |i| "dl-#{i}" } }
let(:expected_from_links) { (1..5).map { |i| "dl-#{i}" } }
let(:expected_from_codes) { (1..6).map { |i| "dc-#{i}" } }
end

View File

@@ -8,7 +8,7 @@ describe WPScan::Finders::Plugins::Base do
describe '#finders' do
it 'contains the expected finders' do
expect(plugins.finders.map { |f| f.class.to_s.demodulize })
.to eq %w[UrlsInHomepage HeaderPattern Comment Xpath BodyPattern JavascriptVar KnownLocations]
.to eq %w[UrlsInHomepage UrlsIn404Page HeaderPattern Comment Xpath BodyPattern JavascriptVar KnownLocations]
end
end
end

View File

@@ -0,0 +1,11 @@
# frozen_string_literal: true
describe WPScan::Finders::Themes::UrlsIn404Page do
subject(:finder) { described_class.new(target) }
let(:target) { WPScan::Target.new(url) }
let(:url) { 'http://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('themes', 'urls_in_404_page') }
# This stuff is just a child class of URLsInHomepage (using the error_404_res rather than homepage_res)
# which already has a spec
end

View File

@@ -6,7 +6,10 @@ describe WPScan::Finders::Themes::UrlsInHomepage do
let(:url) { 'http://wp.lab/' }
let(:fixtures) { FINDERS_FIXTURES.join('themes', 'urls_in_homepage') }
it_behaves_like 'App::Finders::WpItems::URLsInHomepage' do
# before { target.scope << 'sub.lab' }
it_behaves_like 'App::Finders::WpItems::UrlsInPage' do
let(:page_url) { url }
let(:type) { 'themes' }
let(:uniq_links) { true }
let(:uniq_codes) { true }

View File

@@ -8,7 +8,7 @@ describe WPScan::Finders::Themes::Base do
describe '#finders' do
it 'contains the expected finders' do
expect(themes.finders.map { |f| f.class.to_s.demodulize })
.to eq %w[UrlsInHomepage KnownLocations]
.to eq %w[UrlsInHomepage UrlsIn404Page KnownLocations]
end
end
end

View File

@@ -50,7 +50,7 @@ describe WPScan::Finders::Users::AuthorIdBruteForcing do
end
context 'when no display_name' do
['4.1.1', '3.0', '2.9.2'].each do |file|
%w[4.9-span-tag 4.1.1 3.0 2.9.2].each do |file|
it "returns nil for #{file}-empty.html" do
body = File.read(fixtures.join("#{file}-empty.html"))

View File

@@ -19,15 +19,17 @@ describe WPScan::Finders::Users::OembedApi do
end
context 'when a JSON response' do
let(:body) { File.read(fixture) }
context 'when 404' do
let(:body) { File.read(fixtures.join('404.json')) }
let(:fixture) { fixtures.join('404.json') }
its(:aggressive) { should eql([]) }
end
context 'when 200' do
context 'when author_url present' do
let(:body) { File.read(fixtures.join('200_author_url.json')) }
let(:fixture) { fixtures.join('200_author_url.json') }
it 'returns the expected array of users' do
users = finder.aggressive
@@ -44,7 +46,7 @@ describe WPScan::Finders::Users::OembedApi do
end
context 'when author_url not present but author_name' do
let(:body) { File.read(fixtures.join('200_author_name.json')) }
let(:fixture) { fixtures.join('200_author_name.json') }
it 'returns the expected array of users' do
users = finder.aggressive
@@ -59,6 +61,12 @@ describe WPScan::Finders::Users::OembedApi do
expect(user.interesting_entries).to eql ['http://wp.lab/wp-json/oembed/1.0/embed?url=http://wp.lab/&format=json']
end
end
context 'when body is an array' do
let(:fixture) { fixtures.join('array.json') }
its(:aggressive) { should eql([]) }
end
end
end
end

View File

@@ -87,6 +87,8 @@ describe WPScan::Finders::Users::WpJsonApi do
describe '#api_url' do
let(:fixtures) { super().join('api_url') }
before { allow(target).to receive(:sub_dir).and_return(false) }
context 'when url in the homepage' do
{
in_scope: 'https://wp.lab/wp-json/wp/v2/users/',
@@ -100,7 +102,7 @@ describe WPScan::Finders::Users::WpJsonApi do
end
context 'when subdir' do
before { allow(target).to receive(:subdir).and_return('cms') }
before { allow(target).to receive(:sub_dir).and_return('cms') }
{
in_scope_subdir: 'https://wp.lab/cms/wp-json/wp/v2/users/',

View File

@@ -10,10 +10,9 @@ describe WPScan::Model::Theme do
before { expect(blog).to receive(:content_dir).at_least(1).and_return('wp-content') }
describe '#new' do
before do
stub_request(:get, /.*\.css\z/)
.to_return(body: File.read(fixtures.join('style.css')))
end
before { stub_request(:get, /.*\.css\z/).to_return(body: File.read(fixture)) }
let(:fixture) { fixtures.join('style.css') }
its(:url) { should eql 'http://wp.lab/wp-content/themes/spec/' }
its(:style_url) { should eql 'http://wp.lab/wp-content/themes/spec/style.css' }
@@ -34,6 +33,14 @@ describe WPScan::Model::Theme do
its(:style_url) { should eql opts[:style_url] }
end
context 'when some new lines are stripped' do
let(:fixture) { fixtures.join('stripped_new_lines.css') }
its(:style_name) { should eql 'Divi' }
its(:style_uri) { should eql 'http://www.elegantthemes.com/gallery/divi/' }
its(:license_uri) { should eql 'http://www.gnu.org/licenses/gpl-2.0.html' }
end
end
describe '#version' do

View File

@@ -46,7 +46,7 @@ describe WPScan::Model::WpItem do
end
it 'encodes the path' do
expect(wp_item.url('#t#')).to eql "#{item_url}%23t%23"
expect(wp_item.url('#t#')).to eql "#{item_url}#t%23"
expect(wp_item.url('t .txt')).to eql "#{item_url}t%20.txt"
end
end

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,94 @@
msgid ""
msgstr ""
"Project-Id-Version: Woo Pelecard v1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-07 07:09+0200\n"
"PO-Revision-Date: 2014-07-07 07:09+0200\n"
"Last-Translator: Tzvi Rabinovitch <tzvi.ra@gmail.com>\n"
"Language-Team: \n"
"Language: he_IL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"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"
"X-Poedit-Basepath: .\n"
"X-Textdomain-Support: yes\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../10bit-easycard-paybuttons-options.php:18
msgid "Settings saved."
msgstr "שמרתי את ההגדרות."
#: ../10bit-easycard-paybuttons-options.php:23
msgid "10Bit EasyCard PayButtons Settings"
msgstr "כפתורי תשלום איזיקארד"
#: ../10bit-easycard-paybuttons-options.php:37
msgid "Client ID"
msgstr "מזהה לקוח"
# @ TenBit_woo_pelecard
#: ../10bit-easycard-paybuttons-options.php:45
msgid "Password"
msgstr "סיסמה"
#: ../10bit-easycard-paybuttons-options.php:53
msgid "Maximum Payments"
msgstr "מספר תשלמים מקסימלי"
#: ../10bit-easycard-paybuttons-options.php:64
msgid "Save Changes"
msgstr "שמור שינויים"
#: ../10bit-easycard-paybuttons-options.php:70
msgid "Usage :"
msgstr "שימוש"
#: ../10bit-easycard-paybuttons-options.php:72
msgid "Add the folloing short code inside a post or a page :"
msgstr "הוסיפו את השורטקוד הבא לדף או לעמוד באתר"
#: ../10bit-easycard-paybuttons-options.php:76
msgid "value : The amount to pay"
msgstr "value : הסכום לתשלום"
#: ../10bit-easycard-paybuttons-options.php:78
msgid "item_name : the name of the sold item"
msgstr "item_name : שם המוצר למכירה"
#: ../10bit-easycard-paybuttons-options.php:80
msgid "button_class : CSS class for styling"
msgstr "button_class : קלאס CSS לעיצוב"
#: ../10bit-easycard-paybuttons-options.php:82
msgid "button_text : Text to show on the button"
msgstr "button_text : הטקסט שיופיע על הכפתור"
#: ../10bit-paybuttons-easycard.php:29
msgid "EasyCard Pay Buttons"
msgstr "כפתורי תשלום איזיקארד"
# @ TenBit_woo_pelecard
#~ msgid "License Key"
#~ msgstr "מפתח"
#~ msgid "Valid"
#~ msgstr "תקין"
#~ msgid "Invalid"
#~ msgstr "לא תקין"
#, fuzzy
#~ msgid "Leave blank for not sending a copy"
#~ msgstr "השאר ריק במידה ואינך מעוניים בהעתק"
#, fuzzy
#~ msgid "10Bit iCount Settings"
#~ msgstr "הגדרות icount"
#~ msgid "Easycard"
#~ msgstr "איזיקארד"

View File

@@ -0,0 +1,132 @@
msgid ""
msgstr ""
"Project-Id-Version: Woo Pelecard v1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-07-09 01:31+0200\n"
"PO-Revision-Date: 2014-07-09 01:32+0200\n"
"Last-Translator: Tzvi Rabinovitch <tzvi.ra@gmail.com>\n"
"Language-Team: \n"
"Language: he_IL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SourceCharset: UTF-8\n"
"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"
"X-Poedit-Basepath: .\n"
"X-Textdomain-Support: yes\n"
"X-Poedit-SearchPath-0: ..\n"
# @ TenBit_woo_pelecard
#: ../10bit-paybuttons-pelecard.php:28
msgid "pelecard Pay Buttons"
msgstr "כפתורי תשלום פלאכארד"
#: ../10bit-pelecard-paybuttons-options.php:68
msgid "Settings saved."
msgstr "שמרתי את ההגדרות."
#: ../10bit-pelecard-paybuttons-options.php:73
msgid "10Bit pelecard PayButtons Settings"
msgstr "כפתורי תשלום פלאכארד"
# @ TenBit_woo_pelecard
#: ../10bit-pelecard-paybuttons-options.php:87
msgid "Terminal Number"
msgstr "מספר מסוף סליקה"
# @ TenBit_woo_pelecard
#: ../10bit-pelecard-paybuttons-options.php:95
msgid "Username"
msgstr "שם משתמש"
# @ TenBit_woo_pelecard
#: ../10bit-pelecard-paybuttons-options.php:103
msgid "Password"
msgstr "סיסמה"
#: ../10bit-pelecard-paybuttons-options.php:111
msgid "Maximum Payments"
msgstr "מספר תשלמים מקסימלי"
#: ../10bit-pelecard-paybuttons-options.php:119
msgid "Currency"
msgstr "מטבע"
#: ../10bit-pelecard-paybuttons-options.php:123
msgid "ILS"
msgstr "ש\"ח"
#: ../10bit-pelecard-paybuttons-options.php:124
msgid "USD"
msgstr "דולר"
#: ../10bit-pelecard-paybuttons-options.php:130
msgid "Success ( thank you ) page URL"
msgstr "כתובת הצלחה ( דף תודה )"
#: ../10bit-pelecard-paybuttons-options.php:138
msgid "Error page URL"
msgstr "כתובת כשלון"
#: ../10bit-pelecard-paybuttons-options.php:146
msgid "Path to custom logo"
msgstr "קישור ללוגו "
#: ../10bit-pelecard-paybuttons-options.php:154
msgid "Path to small custom logo"
msgstr "קישור ללוגו קטן "
#: ../10bit-pelecard-paybuttons-options.php:162
msgid "Hide PCI DSS logo"
msgstr "הסתר את הלוגו של PCI DSS"
#: ../10bit-pelecard-paybuttons-options.php:170
msgid "Hide Pelecard logo"
msgstr "הסתר את לוגו פלאכארד"
#: ../10bit-pelecard-paybuttons-options.php:178
msgid "Path To custom Style sheet(CSS)"
msgstr "כתובת כשלון"
#: ../10bit-pelecard-paybuttons-options.php:183
msgid "must be a secured URL ( HTTPS )"
msgstr "חייב להיות מכתובת מאובטחת (HTTPS )"
#: ../10bit-pelecard-paybuttons-options.php:189
msgid "Background color"
msgstr "צבע רקע"
#: ../10bit-pelecard-paybuttons-options.php:195
msgid "Use hexadecimal color without the #"
msgstr "ערך הקסדצימלי ללא #"
#: ../10bit-pelecard-paybuttons-options.php:217
msgid "Save Changes"
msgstr "שמור שינויים"
#: ../10bit-pelecard-paybuttons-options.php:223
msgid "Usage :"
msgstr "שימוש"
#: ../10bit-pelecard-paybuttons-options.php:225
msgid "Add the following short code inside a post or a page :"
msgstr "הוסיפו את השורטקוד הבא לדף או לעמוד באתר"
#: ../10bit-pelecard-paybuttons-options.php:229
msgid "value : The amount to pay"
msgstr "value : הסכום לתשלום"
#: ../10bit-pelecard-paybuttons-options.php:231
msgid "item_name : the name of the sold item"
msgstr "item_name : שם המוצר למכירה"
#: ../10bit-pelecard-paybuttons-options.php:233
msgid "button_class : CSS class for styling"
msgstr "button_class : קלאס CSS לעיצוב"
#: ../10bit-pelecard-paybuttons-options.php:235
msgid "button_text : Text to show on the button"
msgstr "button_text : הטקסט שיופיע על הכפתור"

View File

@@ -0,0 +1,24 @@
# Italian translation for ab-human-time
# Copyright (C) 2014 AB Human Time
# This file is distributed under the same license as the AB Human Time package.
msgid ""
msgstr ""
"Project-Id-Version: AB Human Time 0.1\n"
"POT-Creation-Date: 2014-02-26 20:13+0100\n"
"PO-Revision-Date: 2014-02-26 21:25+0100\n"
"Last-Translator: endrix.develop <endrix.develop@gmail.com>\n"
"Language-Team: <endrix.develop@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: it_IT\n"
#: ../ab-human-time.php:21
msgid "Published "
msgstr "Pubblicato "
#: ../ab-human-time.php:23
msgid " ago"
msgstr " fa"

View File

@@ -0,0 +1,49 @@
msgid ""
msgstr ""
"Project-Id-Version: xq-xe-xt-xy 1.0\n"
"POT-Creation-Date: 2018-07-11 09:44+0300\n"
"PO-Revision-Date: 2018-07-11 09:44+0300\n"
"Last-Translator: \n"
"Language-Team: Marko Maksym\n"
"Language: uk_UA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"X-Poedit-Basepath: ../includes\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-SearchPath-0: .\n"
#: admin/class-admin-main.php:66
msgid "Title of the page"
msgstr ""
#: admin/class-admin-main.php:66
msgid "Link Name"
msgstr ""
#: admin/class-admin-main.php:69
msgid "Submenu title"
msgstr ""
#: admin/class-admin-main.php:69
msgid "Submenu item"
msgstr ""
#: admin/templates/index.php:8
msgid "Settings Page"
msgstr ""
#: admin/templates/main_module_menu.php:10
msgid "Main page"
msgstr ""
#: admin/templates/main_module_menu.php:13 admin/templates/page1.php:8
msgid "Page 1"
msgstr ""
#: admin/templates/main_module_menu.php:16 admin/templates/page2.php:8
msgid "Page 2"
msgstr ""

View File

@@ -0,0 +1,112 @@
# Copyright (C) 2016 Kailey Lampert
# This file is distributed under the same license as the PACKAGE package.
# Kailey Lampert <trepmal@gmail.com>, 2016.
msgid ""
msgstr ""
"Project-Id-Version: 1.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-08 17:48-0700\n"
"PO-Revision-Date: 2016-09-08 17:48-0700\n"
"Last-Translator: Kailey Lampert <trepmal@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: active-plugins.php:62
msgid "Acitve Plugins is for multisite use only."
msgstr ""
#: active-plugins.php:72 active-plugins.php:83
msgid "Active Plugins Across Network"
msgstr ""
#: active-plugins.php:72
msgid "Active Plugins"
msgstr ""
#: active-plugins.php:86
#, php-format
msgid "<a href=\"%s\">Network-Activated Plugins</a>"
msgstr ""
#: active-plugins.php:87
#, php-format
msgid "<a href=\"%s\">MU Plugins</a>"
msgstr ""
#: active-plugins.php:90
#, php-format
msgid "List does not include: %s"
msgstr ""
#: active-plugins.php:146
msgid ""
"Totals <span class=\"description\">each active plugin and how many users</"
"span>"
msgstr ""
#: active-plugins.php:176 active-plugins.php:213
#, php-format
msgid "v%s"
msgstr ""
#: active-plugins.php:180 active-plugins.php:214
#, php-format
msgid "%1$s %2$s"
msgstr ""
#: active-plugins.php:182
#, php-format
msgid "%s (Uninstalled)"
msgstr ""
#: active-plugins.php:187
#, php-format
msgid " (tagged: %s)"
msgstr ""
#: active-plugins.php:197
msgid "Select all"
msgstr ""
#: active-plugins.php:198
msgid "Deselect all"
msgstr ""
#: active-plugins.php:199
msgid "Toggle"
msgstr ""
#: active-plugins.php:209
msgid "Plugins with zero (0) users:"
msgstr ""
#: active-plugins.php:217
msgid "none"
msgstr ""
#: active-plugins.php:224
msgid "Show sites with no active plugins"
msgstr ""
#: active-plugins.php:235
msgid "Edit"
msgstr ""
#: active-plugins.php:236
msgid "View"
msgstr ""
#: active-plugins.php:237
msgid "Dashboard"
msgstr ""
#: active-plugins.php:238
msgid "Plugins"
msgstr ""
#: active-plugins.php:249
msgid "(network-activated)"
msgstr ""

View File

@@ -0,0 +1,619 @@
# Copyright (C) 2019 RedNao
# This file is distributed under the same license as the Extra Product Options Builder for WooCommerce plugin.
msgid ""
msgstr ""
"Project-Id-Version: Extra Product Options Builder for WooCommerce 1.2.11\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-extra-products\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2019-11-02T18:08:21+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.3.0\n"
"X-Domain: rednaowooextraproduct\n"
#. Plugin Name of the plugin
msgid "Extra Product Options Builder for WooCommerce"
msgstr ""
#. Plugin URI of the plugin
msgid "http://smartforms.rednao.com/getit"
msgstr ""
#. Description of the plugin
msgid "Additional product fields for woocommerce"
msgstr ""
#. Author of the plugin
msgid "RedNao"
msgstr ""
#. Author URI of the plugin
msgid "http://rednao.com"
msgstr ""
#: jstranslations/InternalShared.php:2
msgid "Jan"
msgstr ""
#: jstranslations/InternalShared.php:3
msgid "Feb"
msgstr ""
#: jstranslations/InternalShared.php:4
msgid "Mar"
msgstr ""
#: jstranslations/InternalShared.php:5
msgid "Apr"
msgstr ""
#: jstranslations/InternalShared.php:6
msgid "May"
msgstr ""
#: jstranslations/InternalShared.php:7
msgid "Jun"
msgstr ""
#: jstranslations/InternalShared.php:8
msgid "Jul"
msgstr ""
#: jstranslations/InternalShared.php:9
msgid "Aug"
msgstr ""
#: jstranslations/InternalShared.php:10
msgid "Sep"
msgstr ""
#: jstranslations/InternalShared.php:11
msgid "Oct"
msgstr ""
#: jstranslations/InternalShared.php:12
msgid "Nov"
msgstr ""
#: jstranslations/InternalShared.php:13
msgid "Dec"
msgstr ""
#: jstranslations/InternalShared.php:14
msgid "January"
msgstr ""
#: jstranslations/InternalShared.php:15
msgid "February"
msgstr ""
#: jstranslations/InternalShared.php:16
msgid "March"
msgstr ""
#: jstranslations/InternalShared.php:17
msgid "April"
msgstr ""
#: jstranslations/InternalShared.php:18
msgid "June"
msgstr ""
#: jstranslations/InternalShared.php:19
msgid "July"
msgstr ""
#: jstranslations/InternalShared.php:20
msgid "August"
msgstr ""
#: jstranslations/InternalShared.php:21
msgid "September"
msgstr ""
#: jstranslations/InternalShared.php:22
msgid "October"
msgstr ""
#: jstranslations/InternalShared.php:23
msgid "November"
msgstr ""
#: jstranslations/InternalShared.php:24
msgid "December"
msgstr ""
#: jstranslations/InternalShared.php:25
msgid "Su"
msgstr ""
#: jstranslations/InternalShared.php:26
msgid "Mo"
msgstr ""
#: jstranslations/InternalShared.php:27
msgid "Tu"
msgstr ""
#: jstranslations/InternalShared.php:28
msgid "We"
msgstr ""
#: jstranslations/InternalShared.php:29
msgid "Th"
msgstr ""
#: jstranslations/InternalShared.php:30
msgid "Fr"
msgstr ""
#: jstranslations/InternalShared.php:31
msgid "Sa"
msgstr ""
#: jstranslations/InternalShared.php:32
msgid "Sun"
msgstr ""
#: jstranslations/InternalShared.php:33
msgid "Mon"
msgstr ""
#: jstranslations/InternalShared.php:34
msgid "Tue"
msgstr ""
#: jstranslations/InternalShared.php:35
msgid "Wed"
msgstr ""
#: jstranslations/InternalShared.php:36
msgid "Thu"
msgstr ""
#: jstranslations/InternalShared.php:37
msgid "Fri"
msgstr ""
#: jstranslations/InternalShared.php:38
msgid "Sat"
msgstr ""
#: jstranslations/InternalShared.php:39
#: jstranslations/ProductFieldBuilder.php:97
msgid "Sunday"
msgstr ""
#: jstranslations/InternalShared.php:40
#: jstranslations/ProductFieldBuilder.php:98
msgid "Monday"
msgstr ""
#: jstranslations/InternalShared.php:41
#: jstranslations/ProductFieldBuilder.php:99
msgid "Tuesday"
msgstr ""
#: jstranslations/InternalShared.php:42
#: jstranslations/ProductFieldBuilder.php:100
msgid "Wednesday"
msgstr ""
#: jstranslations/InternalShared.php:43
#: jstranslations/ProductFieldBuilder.php:101
msgid "Thursday"
msgstr ""
#: jstranslations/InternalShared.php:44
#: jstranslations/ProductFieldBuilder.php:102
msgid "Friday"
msgstr ""
#: jstranslations/InternalShared.php:45
#: jstranslations/ProductFieldBuilder.php:103
msgid "Saturday"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:2
msgid "Please select a field"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:3
msgid "Cancel"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:4
msgid "Import"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:5
msgid "Export"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:6
#: ProductFieldBuilder.php:1
msgid "Label"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:7
msgid "Image URL"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:8
msgid "Price"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:9
msgid "Sale"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:10
msgid "Price Type"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:11
msgid "Fixed amount"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:12
msgid "% of original price"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:13
msgid "% of original price + options"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:14
msgid "Settings"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:15
msgid "Conditions"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:16
msgid "Enable Show/Hide Conditions"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:17
msgid "Show"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:18
msgid "Hide"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:19
msgid "this field if"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:20
msgid "Select a field"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:21
msgid "Fields"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:22
msgid "AND"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:23
msgid "or"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:24
msgid "Add new group"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:25
msgid "Select one"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:26
msgid "Equal to"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:27
msgid "Not Equal to"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:28
msgid "Is Empty"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:29
msgid "Is Not Empty"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:30
msgid "Contains"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:31
msgid "Not Contains"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:32
msgid "Default text"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:33
#: ProductFieldBuilder.php:1
msgid "Placeholder"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:34
#: ProductFieldBuilder.php:1
msgid "Required"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:35
#: ProductFieldBuilder.php:1
msgid "Show quantity selector"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:36
#: ProductFieldBuilder.php:1
msgid "Quantity Position"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:37
msgid "Left"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:38
msgid "Right"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:39
msgid "Top"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:40
msgid "Bottom"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:41
#: ProductFieldBuilder.php:1
msgid "Default value"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:42
#: ProductFieldBuilder.php:1
msgid "Quantity Label"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:43
#: ProductFieldBuilder.php:1
msgid "0 = No Maximum"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:44
#: ProductFieldBuilder.php:1
msgid "Maximum Value"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:45
#: ProductFieldBuilder.php:1
msgid "0 = No Minimum"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:46
#: ProductFieldBuilder.php:1
msgid "Minimum Value"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:47
msgid "Price type"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:48
msgid "None (don't use this field to calculate price)"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:49
msgid "Fixed Amount"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:50
#: ProductFieldBuilder.php:1
msgid "Quantity"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:51
msgid "Current value"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:52
msgid "Percent of the original price"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:53
msgid "Percent of the original price + options"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:54
msgid "Price per word"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:55
msgid "Price per char"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:56
msgid "Sale Price (Empty = No Sale)"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:57
msgid "Percentage"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:58
msgid "Sale Percentage"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:59
msgid "Free chars"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:60
msgid "Ignore Spaces"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:61
msgid "Free words"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:62
#: ProductFieldBuilder.php:1
msgid "Hide price"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:63
#: ProductFieldBuilder.php:1
msgid "General"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:64
#: ProductFieldBuilder.php:1
msgid "Pricing"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:65
msgid "Text"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:66
#: ProductFieldBuilder.php:1
msgid "Options"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:67
msgid "Phone: (999)99-999-999"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:68
msgid "Credit Card: 9999 9999 9999 9999"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:69
msgid "Custom"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:70
msgid "9=Numbers, a=letters, *=Numbers or letters"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:71
msgid "Custom Mask"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:72
msgid "Mask Char"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:73
msgid "Image Width"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:74
msgid "Image Height"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:75
msgid "Allow Multiple"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:76
msgid "Horizontal"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:77
msgid "Vertical"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:78
#: ProductFieldBuilder.php:1
msgid "Date Format"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:79
msgid "Price Per Day"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:80
msgid "Label (Start Date)"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:81
msgid "Placeholder (Start Date)"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:82
msgid "Default Date (Start Date)"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:83
msgid "This property support two type of fields"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:84
msgid "A number, representing the number of dates from now e.g. 0 for today 1 for tomorrow"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:85
msgid "2 for the day after tomorrow and so on. It supports negative numbers as well"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:86
msgid "An specific date in the format of YYYY/MM/DD e.g. 2000/02/01 for February first of 2000"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:87
msgid "Start Date"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:88
msgid "Label (End Date)"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:89
msgid "End Date"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:90
msgid "Title"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:91
msgid "Style"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:92
msgid "Dashed"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:93
msgid "Solid"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:94
msgid "Color"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:95
msgid "Default Date"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:96
msgid "Week Start On"
msgstr ""
#: jstranslations/ProductFieldBuilder.php:104
msgid "Default Color"
msgstr ""

View File

@@ -0,0 +1,428 @@
# Copyright (C) 2012
# This file is distributed under the same license as the package.
msgid ""
msgstr ""
"Project-Id-Version: Advanced Category Column\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/advanced-category-column\n"
"POT-Creation-Date: 2016-02-17 11:35+0200\n"
"PO-Revision-Date: 2016-02-17 11:36+0200\n"
"Last-Translator: Stefan Crämer <translate@atelier-fuenf.de>\n"
"Language-Team: Waldemar Stoffel <stoffel@atelier-fuenf.de>\n"
"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.8.1\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
"_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-SearchPath-0: .\n"
#: advanced-cc.php:112
msgid "FAQ"
msgstr "FAQ"
#: advanced-cc.php:113
msgid "Donate"
msgstr "Donar"
#: advanced-cc.php:123 class-lib/A5_OptionPageClass.php:31
#: class-lib/ACC_AdminClass.php:35
msgid "Settings"
msgstr "Ajustes"
#: class-lib/A5_ImageClass.php:48
msgid "Permalink to"
msgstr "enlace permanente a"
#: class-lib/A5_OptionPageClass.php:145
msgid "Click to toggle"
msgstr ""
#: class-lib/A5_OptionPageClass.php:382
msgid "Not set"
msgstr ""
#: class-lib/A5_WidgetClass.php:37
msgid "Homepage"
msgstr "Página de Inicio"
#: class-lib/A5_WidgetClass.php:38
msgid "Frontpage (e.g. a static page as homepage)"
msgstr ""
"Página Inicial (por ejemplo, una página estática como página de inicio)"
#: class-lib/A5_WidgetClass.php:39
msgid "&#34;Page&#34; pages"
msgstr "&#34;Pagína&#34; páginas"
#: class-lib/A5_WidgetClass.php:40
msgid "Category pages"
msgstr "Categoría de páginas"
#: class-lib/A5_WidgetClass.php:41
msgid "Single post pages"
msgstr "Páginas de post simples"
#: class-lib/A5_WidgetClass.php:42
msgid "Archive pages"
msgstr "Páginas de Archivo"
#: class-lib/A5_WidgetClass.php:43
#, fuzzy
msgid "Post type archives"
msgstr "Páginas de post simples"
#: class-lib/A5_WidgetClass.php:44
msgid "Tag pages"
msgstr "Páginas de Etiquetas"
#: class-lib/A5_WidgetClass.php:45
msgid "Attachments"
msgstr "Adjuntos"
#: class-lib/A5_WidgetClass.php:46
msgid "Custom Taxonomy pages (only available, if having a plugin)"
msgstr ""
"Páginas de Taxonomía Personalizada (sólo está disponible si tiene un plugin)"
#: class-lib/A5_WidgetClass.php:47
msgid "Author pages"
msgstr "Páginas del autor"
#: class-lib/A5_WidgetClass.php:48
msgid "Search Results"
msgstr "Buscar Resultados"
#: class-lib/A5_WidgetClass.php:49
msgid "&#34;Not Found&#34;"
msgstr "&#34;No Encontrado&#34;"
#: class-lib/A5_WidgetClass.php:52
#, fuzzy
msgid "Login Page (only available, if having a plugin)"
msgstr ""
"Páginas de Taxonomía Personalizada (sólo está disponible si tiene un plugin)"
#: class-lib/A5_WidgetClass.php:54
msgid "Check all"
msgstr "Seleccionar todo"
#: class-lib/A5_WidgetClass.php:56
msgid ""
"Check, where you want to show the widget. By default, it is showing on the "
"homepage and the category pages:"
msgstr ""
"Seleccione, dónde desea mostrar el widget. Por defecto, se muestra en la "
"página principal y en las páginas de la categoría:"
#: class-lib/A5_WidgetClass.php:92
msgid "Under image"
msgstr ""
#: class-lib/A5_WidgetClass.php:92
msgid "Left of image"
msgstr ""
#: class-lib/A5_WidgetClass.php:92
msgid "Right of image"
msgstr ""
#: class-lib/A5_WidgetClass.php:92
msgid "Don&#39;t show excerpt"
msgstr ""
#: class-lib/A5_WidgetClass.php:94
msgid ""
"Choose, whether or not to display the excerpt and whether it comes under the "
"thumbnail or next to it."
msgstr ""
#: class-lib/A5_WidgetClass.php:104
msgid "Weight of the Post Title:"
msgstr "Peso del título del Post:"
#: class-lib/A5_WidgetClass.php:108
msgid "Left"
msgstr ""
#: class-lib/A5_WidgetClass.php:108
msgid "Right"
msgstr ""
#: class-lib/A5_WidgetClass.php:108
msgid "Center"
msgstr ""
#: class-lib/A5_WidgetClass.php:108
msgid "Justify"
msgstr ""
#: class-lib/A5_WidgetClass.php:110
msgid "How do you want to align the Post Title?"
msgstr ""
#: class-lib/A5_WidgetClass.php:121
msgid ""
"Check to have an additional &#39;read more&#39; link at the end of the "
"excerpt."
msgstr ""
#: class-lib/A5_WidgetClass.php:122
#, php-format
msgid ""
"Write here some text for the &#39;read more&#39; link. By default, it is %s:"
msgstr ""
#: class-lib/A5_WidgetClass.php:123
msgid ""
"If you want to style the &#39;read more&#39; link, you can enter a class "
"here."
msgstr ""
#: class-lib/ACC_AdminClass.php:63
msgid ""
"http://wasistlos.waldemarstoffel.com/plugins-fur-wordpress/advanced-category-"
"column-plugin"
msgstr ""
"http://wasistlos.waldemarstoffel.com/plugins-fur-wordpress/advanced-category-"
"column-plugin"
#: class-lib/ACC_AdminClass.php:63
msgid "Plugin Support"
msgstr ""
#: class-lib/ACC_AdminClass.php:65
msgid ""
"Style the links of the widget. If you leave this empty, your theme will "
"style the hyperlinks."
msgstr ""
"El estilo de los enlaces del widget. Si deja el campo vacío, el tema será el "
"mismo estilo de los hipervínculos."
#: class-lib/ACC_AdminClass.php:67
msgid "Just input something like,"
msgstr "Sólo algo de entrada como,"
#: class-lib/ACC_AdminClass.php:71
msgid "to get fat, blue, underlined links."
msgstr "Los enlaces serán, azul subrayado."
#: class-lib/ACC_AdminClass.php:73
msgid ""
"You most probably have to use &#34;!important&#34; at the end of each line, "
"to make it work."
msgstr ""
"Lo más probable es usar &#34;!important&#34; al final de cada línea, para "
"hacer que funcione."
#: class-lib/ACC_AdminClass.php:86
msgid "Debug Info"
msgstr ""
#: class-lib/ACC_AdminClass.php:105
msgid "Styling of the links"
msgstr "Estilo de los enlaces"
#: class-lib/ACC_AdminClass.php:107
msgid "Link style:"
msgstr "Estílo enlace:"
#: class-lib/ACC_AdminClass.php:109
msgid "Hover style:"
msgstr "Estilo hover:"
#: class-lib/ACC_AdminClass.php:111
msgid "Widget container:"
msgstr ""
#: class-lib/ACC_AdminClass.php:111
msgid ""
"You can enter your own style for the widgets here. This will overwrite the "
"styles of your theme."
msgstr ""
#: class-lib/ACC_AdminClass.php:111
msgid ""
"If you leave this empty, you can still style every instance of the widget "
"individually."
msgstr ""
#: class-lib/ACC_AdminClass.php:113
#, fuzzy
msgid "Compress Style Sheet:"
msgstr "Estílo enlace:"
#: class-lib/ACC_AdminClass.php:113
msgid "Click here to compress the style sheet."
msgstr ""
#: class-lib/ACC_AdminClass.php:115
msgid "Debug:"
msgstr ""
#: class-lib/ACC_AdminClass.php:115
msgid ""
"If you can&#39;t reach the dynamical style sheet, you&#39;ll have to display "
"the styles inline. By clicking here you can do so."
msgstr ""
#: class-lib/ACC_AdminClass.php:119
msgid "entries"
msgstr ""
#: class-lib/ACC_AdminClass.php:119
msgid "entry"
msgstr ""
#: class-lib/ACC_AdminClass.php:121
#, php-format
msgid "Empty cache (%d %s):"
msgstr ""
#: class-lib/ACC_AdminClass.php:121
msgid "You can empty the plugin&#39;s cache here, if necessary."
msgstr ""
#: class-lib/ACC_AdminClass.php:129
msgid "Just put some css code here."
msgstr "Sólo hay que poner algo de código CSS aquí."
#: class-lib/ACC_AdminClass.php:189
msgid "Cache emptied."
msgstr ""
#: class-lib/ACC_WidgetClass.php:18
msgid ""
"Configure the output and looks of the widget. Then display thumbnails and "
"excerpts of posts in your sidebars and define, on what kind of pages they "
"will show."
msgstr ""
"Configure la salida y la apariencia del widget. Entonces se mostrarán las "
"miniaturas y extractos de los mensajes en las barras laterales y se definirá "
"en qué tipo de páginas se mostrarán."
#: class-lib/ACC_WidgetClass.php:108
msgid "Title:"
msgstr "Título:"
#: class-lib/ACC_WidgetClass.php:109
#, php-format
msgid ""
"To exclude certain categories or to show just a special category, simply "
"write their ID&#39;s separated by comma (e.g. %s-5, 2, 4%s will show "
"categories 2 and 4 and will exclude category 5):"
msgstr ""
"Para excluir ciertas categorías o para mostrar sólo una categoría especial, "
"basta con escribir su ID separado por coma (por ejemplo,%s-5, 2, 4%s "
"mostrará las categorías 2 y 4, y se excluye la categoría 5):"
#: class-lib/ACC_WidgetClass.php:110
msgid "Check to show the categories in which the post is filed."
msgstr "Seleccione para mostrar las categorías en que se presenta el mensaje."
#: class-lib/ACC_WidgetClass.php:111
msgid ""
"Give some text that you want in front of the post&#39;s categtories (i.e "
"&#39;filed under&#39;:"
msgstr ""
"De algún texto que usted quiere al frente de la categoría de mensajes (ej. "
"&#39;llenado debajo&#39;:"
#: class-lib/ACC_WidgetClass.php:112
msgid "How many posts will be displayed in the sidebar:"
msgstr "Cuántos post se mostrarán en la barra lateral:"
#: class-lib/ACC_WidgetClass.php:113
msgid "Offset (how many posts are spared out in the beginning):"
msgstr "Offset (cuántos post están a salvo en el inicio):"
#: class-lib/ACC_WidgetClass.php:114
msgid "Check to have the offset only on your homepage."
msgstr ""
"Verificación para que el desplazamiento sólo sea en la página principal."
#: class-lib/ACC_WidgetClass.php:115
msgid "Width of the thumbnail (in px):"
msgstr "Ancho de las miniaturas (en px)"
#: class-lib/ACC_WidgetClass.php:116
#, php-format
msgid ""
"If wanting a border around the image, write the style here. %s would make it "
"a black border, 1px wide."
msgstr ""
#: class-lib/ACC_WidgetClass.php:118
msgid "In case there is no excerpt defined, how many sentences are displayed:"
msgstr ""
"En caso de que no haya extracto definido, como cuantas frases se muestran:"
#: class-lib/ACC_WidgetClass.php:119
msgid "Check to display words instead of sentences."
msgstr "Seleccione para mostrar palabras en lugar de oraciones."
#: class-lib/ACC_WidgetClass.php:120
msgid "Check to have each sentense in a new line."
msgstr "Seleccione para tener cada sentencia en una línea nueva."
#: class-lib/ACC_WidgetClass.php:122
msgid ""
"Check to return the excerpt unfiltered (might avoid interferences with other "
"plugins)."
msgstr ""
"Seleccione para retornar el extracto sin filtrar (puede evitar "
"interferencias con otros plugins)."
#: class-lib/ACC_WidgetClass.php:123
msgid ""
"If you want a line between the posts, this is the height in px (if not "
"wanting a line, leave emtpy):"
msgstr ""
"Si usted quiere una línea entre los posts, esta es la altura en píxeles (si "
"no quisiera una línea, deje en blanco)"
#: class-lib/ACC_WidgetClass.php:124
msgid "The color of the line (e.g. #cccccc):"
msgstr "El color de la línea (e.g. #cccccc):"
#: class-lib/ACC_WidgetClass.php:126
#, fuzzy, php-format
msgid ""
"Here you can finally style the widget. Simply type something like%sto get "
"just a gray outline and a padding of 10 px. If you leave that section empty, "
"your theme will style the widget."
msgstr ""
"Aquí usted puede finalmente ver el estilo del widget. Simplemente escriba "
"algo como%1$s%2$sborder-left: 1px dashed;%2$sborder-color: #000000;%3$s"
"%2$spara obtener una línea de puntos negro de la izquierda. Si deja la "
"sección vacía, su tema le dará estilo al widget."
#~ msgid ""
#~ "The Advanced Category Column does, what the Category Column Plugin does; "
#~ "it creates a widget, which you can drag to your sidebar and it will show "
#~ "excerpts of the posts of other categories than showed in the center-"
#~ "column. It just has more options than the the Category Column Plugin. It "
#~ "is tested with WP up to version 3.5 and it might work with versions down "
#~ "to 2.9, but will never be explicitly supported for those. The 'Advanced' "
#~ "means, that you have a couple of more options than in the 'Category "
#~ "Column Plugin'."
#~ msgstr ""
#~ "La Columna Categoría Avanzada hace, lo que hace el Plugin de Columna de "
#~ "Categoría, se crea un widget, que se puede arrastrar a la barra lateral y "
#~ "se mostrarán extractos de los mensajes de otras categorías que se "
#~ "mostraron en la columna del centro. Simplemente tiene más opciones que el "
#~ "Plugin de Columna de Categoría. Se probó con WP hasta la versión 3.5 y "
#~ "que podría funcionar con las versiones hasta la 2.9, pero nunca se probó "
#~ "explícitamente en aquellos. Los menús 'Avanzados' significan, que tiene "
#~ "un par de opciones más que el 'Plugin de Columna de Categoría'."
#~ msgid "Waldemar Stoffel"
#~ msgstr "Waldemar Stoffel"
#~ msgid "http://www.waldemarstoffel.com"
#~ msgstr "http://www.waldemarstoffel.com"

View File

@@ -0,0 +1,410 @@
msgid ""
msgstr ""
"Project-Id-Version: WooCommerce Alkubot v1.0.0\n"
"POT-Creation-Date: 2019-08-11 13:37+0300\n"
"PO-Revision-Date: 2019-10-22 09:43+0300\n"
"Language-Team: Alkubot\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Last-Translator: \n"
"Language: en_US\n"
"X-Poedit-SearchPath-0: .\n"
# Admin - layouts/menu
msgid "Terméklista"
msgstr "Product list"
msgid "Beállítások"
msgstr "Settings"
msgid "Felíratkozók"
msgstr "Subscribers"
msgid "Statisztika"
msgstr "Statistics"
msgid "Visszajelzés"
msgstr "Feedback"
msgid "Alkubot varázsló"
msgstr "Alkubot wizard"
msgid "Alkubot telepítése"
msgstr "Install Alkubot"
# Admin - product
msgid "Újragenerálás"
msgstr "Rework"
msgid "Product subtitle"
msgstr "Here you can find the product list that can be modified or you can even generate a new one."
msgid "Összes termék"
msgstr "Every product"
msgid "Termék kategóriánként"
msgstr "Categories"
msgid "Bizonyos termékeknél"
msgstr "Products"
# Admin - product/popups
msgid "Reinstall text"
msgstr "Are you sure you want to rework the settings of Alkubot? Doing so will reset your current settings!"
msgid "Switch discount type text"
msgstr "Are you sure you want to change the settings for the selected type? The modifications will be activated right away."
msgid "Mégse"
msgstr "Cancel"
# Admin - product/all.content
msgid "Product all subtitle"
msgstr "Please set the maximum percentage of discount that Alkubot can give to a visitor!"
msgid "vagyis az Alkubot"
msgstr "that is, Alkubot wont give more than"
msgid "kedvezménynél többet nem ad egy látogatónak"
msgstr "discount to a visitor"
msgid "Alkudozok gomb megjelenitése a termék oldalon"
msgstr "Show “Get a Deal” button on the product page"
msgid "Hint text: all product"
msgstr "The visitor can instantly start negotiating for a deal by pushing the \"Get a Deal\" button. This way, he doesn't have to wait for the timed Alkubot chat window to pop-up."
msgid "Engedélyezve"
msgstr "Enabled"
msgid "Kikapcsolva"
msgstr "Disabled"
# Admin - product/category.content
msgid "Összes"
msgstr "All"
msgid "Alkudozom gomb megjelenése:"
msgstr "“Get a Deal” button"
msgid "Be"
msgstr "On"
msgid "Ki"
msgstr "Off"
# Admin - product/categories
msgid "No category found"
msgstr "No category found!"
# Admin - product/product.content
msgid "Termékek rejtése"
msgstr "Hide products"
msgid "Termékek megjelenítése"
msgstr "Show products"
# Admin - product/products
msgid "No product found"
msgstr "No product found!"
# Admin - product/search
msgid "Search placeholder"
msgstr "Search for a product"
# Admin - settings
msgid "Alkubot időzítése"
msgstr "Alkubot timing"
msgid "Itt beállíthatod, hogy a bot, miként reagáljon, bizonyos interakciókra."
msgstr "Here you can set how Alkubot should react to certain actions"
msgid "Oldal elhagyásakor"
msgstr "While leaving the product page"
msgid "Bizonyos oldalon töltött idő után"
msgstr "After a certain time that the visitor spends on the product page"
msgid "Kérjük adja meg hány mp után aktiválódjon"
msgstr "The time after Alkubot shows up"
msgid "mp"
msgstr "sec"
msgid "Oldal görgetésekor"
msgstr "While scrolling the product page"
msgid "Email beállítások"
msgstr "Email settings"
msgid "Sikeres alku után email cím elkérése"
msgstr "Should Alkubot ask for an email after an accepted deal?"
msgid "Bot aktiválása"
msgstr "Activate Alkubot"
msgid "Modosít"
msgstr "Modify"
msgid "Settings popup title"
msgstr "Saved!"
msgid "Settings popup text"
msgstr "Your settings have been successfully modified!"
msgid "Hint text: settings leave"
msgstr "Alkubot pops up when the visitor tries to leave the page."
msgid "Hint text: settings time"
msgstr "Alkubot pops up after a certain number of seconds."
msgid "Hint text: settings scroll"
msgstr "Alkubot pops up when the visitors scroll until 3/4 of the site."
msgid "Hint text: settings email"
msgstr "After an accepted deal, the visitor has to give his email address in order to get his discount."
# Admin - settings/chat.position
msgid "Hol helyezkedjen el?"
msgstr "Where should Alkubot show up on your site?"
msgid "Bal oldalt"
msgstr "Left side"
msgid "Középen"
msgstr "Middle"
msgid "Jobb oldalt"
msgstr "Right side"
# Admin - statistics
msgid "Legenerált kuponkodok"
msgstr "Coupons generated"
msgid "Mutass mindent"
msgstr "Show all"
# Admin - statistics/infobox
msgid "db"
msgstr "pc"
msgid "Ft"
msgstr "HUF "
msgid "Sikeres alku száma"
msgstr "Successful <br> Deals"
msgid "Megadott email cimek száma"
msgstr "Emails <br> Collected"
msgid "Eddigi bevétel"
msgstr "Proceeds <br> so far"
# Admin - statistics/coupons
msgid "Dátum"
msgstr "Date"
msgid "Kupon"
msgstr "Coupon"
msgid "Felhasználó"
msgstr "User"
msgid "Felhasználták már?"
msgstr "Used up?"
msgid "Igen"
msgstr "Yes"
msgid "Nem"
msgstr "No"
msgid "Részletek"
msgstr "Details"
msgid "Még nincs legenerált kupon!"
msgstr "No generated voucher yet!"
# Admin - statistics/details
msgid "kupon részletei"
msgstr "coupon details"
msgid "Vissza a statisztikákhoz"
msgstr "Back to statistics"
msgid "Termék neve"
msgstr "Product name"
msgid "Kupon generálásának időpontja"
msgstr "Coupon generation date"
msgid "Felhasználva"
msgstr "Used"
msgid "még nincs"
msgstr "not yet"
msgid "Termékre beállitott maximális kedvezmény"
msgstr "Maximum discount set for the product"
msgid "Kialkudott kedvezmény"
msgstr "Negotiated discount"
msgid "vendég"
msgstr "guest"
# Admin - subscribers
msgid "Összesen"
msgstr "Total"
msgid "Email cimek exportálása"
msgstr "Exports Emails"
msgid "Törlés"
msgstr "Delete"
msgid "Még nincs egy feliratkozó sem!"
msgstr "No subscriber yet!"
msgid "Delete subscriber popup title"
msgstr "Delete subscriber"
msgid "Delete subscriber popup text"
msgstr "Are you sure you want to delete this email address?"
msgid "Igen törlöm"
msgstr "Yes, I am sure!"
# Admin - feedback
msgid "Név"
msgstr "Name"
msgid "Email"
msgstr "Email"
msgid "Visszajelzés tipusa"
msgstr "Feedback type"
msgid "Válassz a listából"
msgstr "Pick one"
msgid "Értékelés"
msgstr "Rate us"
msgid "Üzenet"
msgstr "Message"
msgid "Küldés"
msgstr "Send"
msgid "Required text"
msgstr "Please fill out this field."
msgid "Feedback popup title"
msgstr "Thank you for your feedback!"
msgid "Feedback popup text"
msgstr "Your opinion is important to us. We aim to reply to your feedback as soon as possible."
msgid "Close window"
msgstr "Close window"
msgid "Hibajelentés"
msgstr "Bug report"
msgid "Észrevétel"
msgstr "Feedback"
msgid "Not valid email text"
msgstr "Please enter a valid email address"
msgid "kötelező"
msgstr "required"
msgid "Feedback subtitle"
msgstr "Just fill out the below form in case you have feedback or need help regarding Alkubot"
# Admin - wizard
msgid "Varázsló"
msgstr "Setup Wizard"
msgid "Wizard subtitle"
msgstr "By answering a few simple questions you can setup Alkubot within minutes."
# Admin - wizard/lastStepComment
msgid "Wizard last step comment text"
msgstr "You can fine-tune Alkubot under Settings after finishing this setup wizard."
# Admin - wizard/step1
msgid "Kérlek válaszd ki, milyen szinten akarod beállitani a botot"
msgstr "Please choose the level which you want to use Alkubot for."
msgid "Tovább"
msgstr "Next"
# Admin - wizard/step2.all
msgid "Vissza"
msgstr "Back"
# Admin - wizard/step2.categories
msgid "Kérlek add meg, mely kategoriákra legyen engedélyezve az alkubot."
msgstr "Please pick the categories that Alkubot should be applied to!"
# Admin - wizard/step3.categories
msgid "Wizard categories step 3 subtitle"
msgstr "Here you can set the maximum percentage of discount that Alkubot can give to a visitor for each category."
msgid "Nem választottál ki egy kategoriát sem."
msgstr "No category have been chosen."
# Admin - wizard/step3.products
msgid "Wizard products step 3 subtitle"
msgstr "Here you can set the maximum percentage of discount that Alkubot can give to a visitor for each product."
msgid "Nem választottál ki terméket."
msgstr "No product have been chosen."
# Admin - wizard/steps.header
msgid "Step"
msgstr "Step"
# Frontend
msgid "Elfogadom"
msgstr "Accept"
msgid "Elutasítom"
msgstr "Decline"
msgid "Normál ár"
msgstr "Normal price"
msgid "Írd ide az üzeneted"
msgstr "Write your message here"
msgid "Alkudozok"
msgstr "Bargain"
msgid "Gratulálunk!"
msgstr "Congratulations!"
msgid "Sikeres alkut kötöttél"
msgstr "You made a deal"
msgid "Az Alkubot lezárta a chatet"
msgstr "Chat was closed by Alkubot"
msgid "Powered by url"
msgstr "https://www.alkubot.com?utm_medium=referal&utm_source=bot&utm_campaign=powered+by"
msgid "Sokkalod az arat?"
msgstr "Too pricey?"
msgid "Alkudozzunk rola"
msgstr "Let's make a deal!"
msgid "Alku inditasa most"
msgstr "Negotiate the price"

View File

@@ -0,0 +1,53 @@
# Copyright (C) 2013 Allow Javascript in Text Widgets
# This file is distributed under the same license as the Allow Javascript in Text Widgets package.
msgid ""
msgstr ""
"Project-Id-Version: Allow Javascript in Text Widgets 0.3\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/allow-javascript-in-text-"
"widgets\n"
"POT-Creation-Date: 2013-12-17 09:48:40+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
#: allow-javascript-in-text-widgets.php:20
msgid "Arbitrary text or HTML"
msgstr ""
#: allow-javascript-in-text-widgets.php:22
msgid "Text"
msgstr ""
#: allow-javascript-in-text-widgets.php:49
msgid "Title:"
msgstr ""
#: allow-javascript-in-text-widgets.php:54
msgid "Automatically add paragraphs"
msgstr ""
#. Plugin Name of the plugin/theme
msgid "Allow Javascript in Text Widgets"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "http://philipjohn.co.uk/#pj-better-multisite-text-widget"
msgstr ""
#. Description of the plugin/theme
msgid ""
"Replaces the default text widget with one that allows Javascript so you can "
"do basic things like add Google Ads to your sidebar without using other "
"plugins."
msgstr ""
#. Author of the plugin/theme
msgid "Philip John"
msgstr ""
#. Author URI of the plugin/theme
msgid "http://philipjohn.co.uk"
msgstr ""

View File

@@ -0,0 +1,10 @@
# Changelog
## 0.2 - 30.03.2019
- Added option to control where generic report would be sent and to define interval of such email
- Added generic report with multiple summary information send directly to email
## 0.1 11.02.2019
First release.

View File

@@ -0,0 +1,81 @@
msgid ""
msgstr ""
"Project-Id-Version: Archive Disabler 1.0\n"
"Report-Msgid-Bugs-To: https://github.com/chrisguitarguy/Archive-Disabler/issues\n"
"POT-Creation-Date: 2012-03-11 15:35-0600\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>"
"Language: \n"
#: inc/options.php:67
msgid "Archive Disabler Options"
msgstr ""
#: inc/options.php:72
msgid "Date Archives"
msgstr ""
#: inc/options.php:73
msgid "Author Archives"
msgstr ""
#: inc/options.php:74
msgid "Taxonomy Archives"
msgstr ""
#: inc/options.php:77
msgid "Post Type Archives"
msgstr ""
#: inc/options.php:79
msgid "Disabled archives should..."
msgstr ""
#: inc/options.php:92
msgid "Choose which archives you would like to disable."
msgstr ""
#: inc/options.php:107
msgid "Disable Date Archives"
msgstr ""
#: inc/options.php:121
msgid "Disable Author Archives"
msgstr ""
#: inc/options.php:154
msgid "Redirect to the home page"
msgstr ""
#: inc/options.php:155
msgid "Throw a 404 Not Found Error"
msgstr ""
#: inc/options.php:210
msgid "Archive Disabler"
msgstr ""
#: inc/options.php:225
msgid "Archive Disabler allows you to \"disable\" the various WordPress archive pages. To do so, check the archives you wish to have disabled below."
msgstr ""
#: inc/options.php:231
msgid "Depending on your options, the disabled archives will redirect to the home page or simply 404. Redirecting archives, especially if they were previously enabled, is recommended."
msgstr ""
#: inc/options.php:237
#, php-format
msgid "Learn more about the author of Archive Disabler, %s. Problems? Report bugs here: %s"
msgstr ""
#: inc/options.php:256
msgid "Settings"
msgstr ""
#: inc/options.php:333
#, php-format
msgid "Disable %s Archives"
msgstr ""

View File

@@ -0,0 +1,57 @@
# Copyright (C) 2010 Assign Missing Categories
# This file is distributed under the same license as the Assign Missing Categories package.
msgid ""
msgstr ""
"Project-Id-Version: Assign Missing Categories 1.2\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/assign-missing-categories\n"
"POT-Creation-Date: 2011-07-29 20:58:37+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
#: assign-missing-categories.php:54
msgid "Categories assigned."
msgstr ""
#. #-#-#-#-# plugin.pot (Assign Missing Categories 1.2) #-#-#-#-#
#. Plugin Name of the plugin/theme
#: assign-missing-categories.php:60 assign-missing-categories.php:84
msgid "Assign Missing Categories"
msgstr ""
#: assign-missing-categories.php:66
msgid "Assign the default category &raquo;"
msgstr ""
#: assign-missing-categories.php:92
msgid "Post %d has no categories assigned."
msgstr ""
#: assign-missing-categories.php:94
msgid " Assigned default category.<br />"
msgstr ""
#: assign-missing-categories.php:96
msgid "Post %d has a category assigned.<br />"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "http://sillybean.net/code/"
msgstr ""
#. Description of the plugin/theme
msgid ""
"Assigns categories to posts incorrectly stripped of all categories (showing "
"unlinked \"Uncategorized\" under Posts)."
msgstr ""
#. Author of the plugin/theme
msgid "Stephanie Leary"
msgstr ""
#. Author URI of the plugin/theme
msgid "http://sillybean.net/"
msgstr ""

View File

@@ -0,0 +1,302 @@
# Translation of the WordPress plugin Author Image(s) v3.6 by Scott Reilly.
# Copyright (C) 2011 Scott Reilly
# This file is distributed under the same license as the Author Image(s) plugin.
msgid ""
msgstr ""
"Project-Id-Version: Author Image(s) 3.6\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/author-images\n"
"POT-Creation-Date: 2012-01-04 05:55:04+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
#: author-images.php:125 author-images.php:126
msgid "Author Images"
msgstr ""
#: author-images.php:130
msgid "Show author name as well?"
msgstr ""
#: author-images.php:131
msgid ""
"Should the author's name be shown in addition to the author's image? By "
"default this is their configured display name."
msgstr ""
#: author-images.php:133
msgid "Force use of author's full name when displaying name?"
msgstr ""
#: author-images.php:134
msgid ""
"If showing the user's name, force display of their full name instead of "
"their configured display name (which may be a nickname or first name)? "
"<em>NOTE: \"Show author name as well?\" must be checked for this to take "
"effect.)</em>"
msgstr ""
#: author-images.php:136
msgid "Show author name if no image is found?"
msgstr ""
#: author-images.php:137
msgid "Should the author's name be shown if the author's image can't be found?"
msgstr ""
#: author-images.php:140
msgid "Image linking"
msgstr ""
#: author-images.php:141
msgid ""
"How should the author's image be linked?<br />posts : link to the archive of "
"the author's posts<br />site : link to the author's website (if defined for "
"the author)<br />none : don't link the author image"
msgstr ""
#: author-images.php:143
msgid "Image width"
msgstr ""
#: author-images.php:144
msgid ""
"Specify this to force the browser to scale the width of the image to this "
"size. If blank, then the image's original width will be left intact (or "
"scaled in proportion to a specified height)."
msgstr ""
#: author-images.php:146
msgid "Image height"
msgstr ""
#: author-images.php:147
msgid ""
"Specify this to force the browser to scale the height of the image to this "
"size. If blank, then the image's original height will be left intact (or "
"scaled in proportion to a specified width)."
msgstr ""
#: author-images.php:149
msgid "Supported image extensions"
msgstr ""
#: author-images.php:150
msgid ""
"Space-separated list of possible image extensions for image. More efficient "
"if you only include extensions you'll actually use."
msgstr ""
#: author-images.php:152
msgid "Image directory"
msgstr ""
#: author-images.php:153
msgid ""
"Directory, relative to the wp-content/ directory of your site, containing "
"the author images."
msgstr ""
#: author-images.php:155
msgid "Use Gravatar image if possible?"
msgstr ""
#: author-images.php:156
msgid ""
"If the plugin is unable to find an image for the author, should it try to "
"find a Gravatar for the author?"
msgstr ""
#: author-images.php:158
msgid "Blank image"
msgstr ""
#: author-images.php:159
msgid ""
"Image to use if absolutely no author-specific image could be found. This is "
"the final fallback."
msgstr ""
#: author-images.php:161
msgid "Custom field name for overriding author image"
msgstr ""
#: author-images.php:162
msgid ""
"If this custom field is specified for a post, its value will be given "
"preference as the potential author image, should the image file exist."
msgstr ""
#: author-images.php:275
msgid "Template Functions"
msgstr ""
#. #-#-#-#-# author-images.pot (Author Image(s) 3.6) #-#-#-#-#
#. Plugin Name of the plugin/theme
#: author-images.widget.php:33
msgid "Author Image(s)"
msgstr ""
#: author-images.widget.php:34
msgid "Display image (if present) and/or name for all authors on the blog."
msgstr ""
#: author-images.widget.php:43
msgid "Authors"
msgstr ""
#: author-images.widget.php:44
msgid "Title"
msgstr ""
#: author-images.widget.php:46
msgid "Exclude admin?"
msgstr ""
#: author-images.widget.php:47
msgid "Prevent admin accounts from being listed?"
msgstr ""
#: author-images.widget.php:49
msgid "Ignore authors who have't published a post?"
msgstr ""
#: author-images.widget.php:50
msgid "Omits showing image for authors who have not published a post."
msgstr ""
#: author-images.widget.php:52
msgid "Show user's name?"
msgstr ""
#: author-images.widget.php:53
msgid ""
"Also show the user's name? By default this is their configured display name."
msgstr ""
#: author-images.widget.php:55
msgid "Show user's full name?"
msgstr ""
#: author-images.widget.php:56
msgid ""
"If showing the user's name, force display of their full name instead of "
"their configured display name (which may be a nickname or first name)? "
"<em>NOTE: \"Show user's name?\" must be checked for this to take effect.)</"
"em>"
msgstr ""
#: author-images.widget.php:58
msgid "Show user's name if no image is found?"
msgstr ""
#: author-images.widget.php:59
msgid ""
"Should the author's name be shown if the author doesn't have an image? If "
"not checked, then authors without an image are omitted from the listing."
msgstr ""
#: author-images.widget.php:61
msgid "Use Gravatar?"
msgstr ""
#: author-images.widget.php:62
msgid "Ask Gravatar for author image if no local image is found?"
msgstr ""
#: c2c-plugin.php:76
msgid "Invalid file specified for C2C_Plugin: %s"
msgstr ""
#: c2c-plugin.php:296
msgid "See the \"Help\" link to the top-right of the page for more help."
msgstr ""
#: c2c-plugin.php:329
msgid "Settings reset."
msgstr ""
#: c2c-plugin.php:340 c2c-plugin.php:348
msgid "A value is required for: \"%s\""
msgstr ""
#: c2c-plugin.php:357
msgid "Expected integer value for: %s"
msgstr ""
#: c2c-plugin.php:469
msgid "More information about %1$s %2$s"
msgstr ""
#: c2c-plugin.php:470
msgid "Click for more help on this plugin"
msgstr ""
#: c2c-plugin.php:471
msgid " (especially check out the \"Other Notes\" tab, if present)"
msgstr ""
#: c2c-plugin.php:585
msgid "More Help"
msgstr ""
#: c2c-plugin.php:597
msgid "Settings"
msgstr ""
#: c2c-plugin.php:609
msgid "Donation for coffee2code plugin: %s"
msgstr ""
#: c2c-plugin.php:610
msgid "Coffee fuels my coding."
msgstr ""
#: c2c-plugin.php:848
msgid "A plugin by coffee2code"
msgstr ""
#: c2c-plugin.php:857
msgid "Save Changes"
msgstr ""
#: c2c-plugin.php:858
msgid "Reset Settings"
msgstr ""
#: c2c-plugin.php:864
msgid "Scott Reilly, aka coffee2code"
msgstr ""
#: c2c-plugin.php:865
msgid "This plugin brought to you by %s."
msgstr ""
#: c2c-plugin.php:866
msgid "Please consider a donation"
msgstr ""
#: c2c-plugin.php:867
msgid "Did you find this plugin useful?"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "http://coffee2code.com/wp-plugins/author-images/"
msgstr ""
#. Description of the plugin/theme
msgid ""
"Display image (if present) and/or name for the author of a post, or for all "
"authors on the blog."
msgstr ""
#. Author of the plugin/theme
msgid "Scott Reilly"
msgstr ""
#. Author URI of the plugin/theme
msgid "http://coffee2code.com/"
msgstr ""

View File

@@ -0,0 +1,25 @@
# AutoTags POT file.
# Copyright (C) 2009 blog.jaric.tw
# This file is distributed under the GPL license.
"Project-Id-Version: AutoTags 1.0\n"
"Report-Msgid-Bugs-To: jarickuo@gmail.com\n"
"POT-Creation-Date: 2009-07-16 18:00+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: Jaric <jarickuo@gmail.com>\n"
"Language-Team: Jaric <jarickuo@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: wp-content/plugins/autotags/autoTags.php:24
msgid "Fetch tags"
msgstr ""
#: wp-content/plugins/autotags/autoTags.php:25
msgid "Fetching tags..."
msgstr ""
#: wp-content/plugins/autotags/autoTags.php:26
msgid "powered by"
msgstr ""

View File

@@ -0,0 +1,113 @@
msgid ""
msgstr ""
"Project-Id-Version: AvatarPlus v0.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2013-02-24 09:53:02+0000\n"
"Last-Translator: verantwortlicher <neun12@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: CSL v1.x\n"
"X-Poedit-Language: German\n"
"X-Poedit-Country: GERMANY\n"
"X-Poedit-SourceCharset: utf-8\n"
"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"
"X-Poedit-Basepath: ../\n"
"X-Poedit-Bookmarks: \n"
"X-Poedit-SearchPath-0: .\n"
"X-Textdomain-Support: yes"
#. translators: plugin header field 'Name'
#: avatarplus.php:0
#@ avatarplus
msgid "AvatarPlus"
msgstr ""
#. translators: plugin header field 'PluginURI'
#. translators: plugin header field 'AuthorURI'
#: avatarplus.php:0
#@ avatarplus
msgid "http://yoda.neun12.de"
msgstr ""
#. translators: plugin header field 'Description'
#: avatarplus.php:0
#@ avatarplus
msgid "Replacing the standard avatar in comments with a Google+, Facebook or Twitter avatar if a user enter a profile url"
msgstr "Ersetzt den Standard-Avatar im Kommentarbereich mit einem Google+, Facebook oder Twitter Profilbild falls der Benutzer eine Profil-URL angibt"
#. translators: plugin header field 'Author'
#: avatarplus.php:0
#@ avatarplus
msgid "Ralf Albert"
msgstr ""
#: avatarplus/backend/backend.php:147
#@ avatarplus
msgid "AvatarPlus settings"
msgstr "AvatarPlus Einstellungen"
#: avatarplus/backend/backend.php:148
#@ avatarplus
msgid "Google+ settings"
msgstr "Google+ Einstellungen"
#: avatarplus/backend/backend.php:154
#@ avatarplus
msgid "Extra field"
msgstr "Zusatzfeld"
#: avatarplus/backend/backend.php:155
#@ avatarplus
msgid "Cache"
msgstr "Cache"
#: avatarplus/backend/backend.php:156
#@ avatarplus
msgid "Google+ API key"
msgstr "Google+ API Schlüssel"
#: avatarplus/backend/backend.php:294
#@ avatarplus
msgid "Save Changes"
msgstr "Änderungen übernehmen"
#: avatarplus/backend/backend.php:328
#@ avatarplus
msgid "Use extra field in comment form"
msgstr "Benutze ein zusätzliches Feld im Kommentarbereich"
#: avatarplus/backend/backend.php:355
#@ avatarplus
msgid "Day(s)"
msgstr "Tag(e)"
#: avatarplus/backend/backend.php:356
#@ avatarplus
msgid "Week(s)"
msgstr "Woche(n)"
#: avatarplus/backend/backend.php:357
#@ avatarplus
msgid "Month(s)"
msgstr "Monat(e)"
#: avatarplus/backend/backend.php:358
#@ avatarplus
msgid "Year(s)"
msgstr "Jahr(e)"
#: avatarplus/backend/backend.php:375
#@ avatarplus
msgid "Your WordPress Cronjobs are disabled. The cache won't be deleted!"
msgstr "Deine WordPress Cronjobs sind deaktiviert. Der Cache wird nicht automatisch gelöscht!"
#. translators: plugin header field 'Version'
#: avatarplus.php:0
#@ avatarplus
msgid "0.4"
msgstr ""

View File

@@ -0,0 +1,74 @@
msgid ""
msgstr ""
"Project-Id-Version: Backend Startpage Customizer v0.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-11-12 20:05+0100\n"
"PO-Revision-Date: 2014-10-06 20:54:51+0000\n"
"Last-Translator: Frank Staude <frank@staude.net>\n"
"Language-Team: frank@staude.net <frank@staude.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-Language: \n"
"X-Poedit-Country: \n"
"X-Poedit-SourceCharset: UTF-8\n"
"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"
"X-Poedit-Basepath: /Users/staude/Projekte/Wordpress Plugins/wp-content/plugins/backend-startpage-customizer\n"
"X-Poedit-Bookmarks: \n"
"X-Poedit-SearchPath-0: .\n"
"X-Textdomain-Support: yes"
#: class-backend-startpage-customizer.php:84
#@ backend-startpage-customizer
msgid "Startpage"
msgstr "Startseite"
#: class-backend-startpage-customizer.php:106
#@ backend-startpage-customizer
msgid "Select your backend startpage."
msgstr "Wählen Sie die Startseite"
#: class-backend-startpage-customizer.php:137
#@ backend-startpage-customizer
msgctxt "Userlist Columntitle"
msgid "Startpage"
msgstr "Startseite"
#. translators: plugin header field 'Name'
#: backend-startpage-customizer.php:0
#@ backend-startpage-customizer
msgid "Backend Startpage Customizer"
msgstr ""
#. translators: plugin header field 'PluginURI'
#: backend-startpage-customizer.php:0
#@ backend-startpage-customizer
msgid "http://www.staude.net/wordpress/plugins/BackendStartpageCustomizer"
msgstr ""
#. translators: plugin header field 'Description'
#: backend-startpage-customizer.php:0
#@ backend-startpage-customizer
msgid "Redirect the user after login to a predetermined site in the backend."
msgstr "Erlaubt für jeden Benutzer festzulegen auf welcher Seite im WordPress Backend er nach der Anmeldung startet."
#. translators: plugin header field 'Author'
#: backend-startpage-customizer.php:0
#@ backend-startpage-customizer
msgid "Frank Staude"
msgstr ""
#. translators: plugin header field 'AuthorURI'
#: backend-startpage-customizer.php:0
#@ backend-startpage-customizer
msgid "http://www.staude.net/"
msgstr ""
#. translators: plugin header field 'Version'
#: backend-startpage-customizer.php:0
#@ backend-startpage-customizer
msgid "0.5"
msgstr ""

View File

@@ -0,0 +1,232 @@
# Copyright (C) 2013 bbPress Digest
# This file is distributed under the same license as the bbPress Digest package.
msgid ""
msgstr ""
"Project-Id-Version: bbPress Digest 2.1\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/bbpress-digest\n"
"POT-Creation-Date: 2013-12-15 16:55:45+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
#: bbpress-digest.php:153
msgctxt "plugin actions link"
msgid "Settings"
msgstr ""
#: bbpress-digest.php:154
msgid "Donate"
msgstr ""
#: inc/admin.php:49
msgctxt "settings section title"
msgid "bbPress Digest Settings"
msgstr ""
#: inc/admin.php:75
msgid "Show one-click subscription"
msgstr ""
#: inc/admin.php:82
msgid "Show weekly digest option"
msgstr ""
#: inc/admin.php:104
msgid "bbPress Digest settings for enabling features"
msgstr ""
#: inc/admin.php:122
msgid "Allow users to include forum in a digest from a single forum page"
msgstr ""
#: inc/admin.php:140
msgid ""
"Allow users to chose do they want to receive digest once weekly instead of "
"once daily"
msgstr ""
#: inc/bbp-profile.php:71 inc/wp-profile.php:43
msgid "bbPress Digest Emails"
msgstr ""
#: inc/bbp-profile.php:76 inc/wp-profile.php:51
msgctxt "checkbox label"
msgid "Yes"
msgstr ""
#: inc/bbp-profile.php:77 inc/wp-profile.php:52
msgid ""
"Check if you want to receive daily digest with active forum topics for that "
"day."
msgstr ""
#: inc/bbp-profile.php:85 inc/wp-profile.php:64
msgctxt "radio button label"
msgid "Daily"
msgstr ""
#: inc/bbp-profile.php:86 inc/wp-profile.php:65
msgctxt "radio button label"
msgid "Weekly"
msgstr ""
#: inc/bbp-profile.php:87 inc/wp-profile.php:66
msgid "Choose should you receive digest once daily or once weekly."
msgstr ""
#: inc/bbp-profile.php:105 inc/wp-profile.php:84
msgid "Choose on which day of a week you want to receive a digest."
msgstr ""
#: inc/bbp-profile.php:113 inc/wp-profile.php:96
msgid "Digests should be sent at this time:"
msgstr ""
#: inc/bbp-profile.php:120 inc/wp-profile.php:103
msgid ""
"Select the hour of the day when you want to receive digest emails. Current "
"time is <code>%1$s</code>."
msgstr ""
#: inc/bbp-profile.php:120 inc/wp-profile.php:103
msgctxt "current time date format"
msgid "Y-m-d G:i:s"
msgstr ""
#: inc/bbp-profile.php:125 inc/wp-profile.php:112
msgctxt "radio button label"
msgid "All"
msgstr ""
#: inc/bbp-profile.php:126 inc/wp-profile.php:113
msgid "Only forums I choose"
msgstr ""
#: inc/bbp-profile.php:127 inc/wp-profile.php:114
msgid ""
"Choose should digest include topics from all forums or only from selected "
"forums."
msgstr ""
#: inc/bbp-profile.php:137 inc/wp-profile.php:124
msgid "Choose forums which you want to be included in a digest."
msgstr ""
#: inc/event.php:161
msgid "Active topics for week ending %1$s"
msgstr ""
#: inc/event.php:161
msgctxt "week span email title date format"
msgid "d. F Y."
msgstr ""
#: inc/event.php:164
msgid ""
"This topics have been active in the last 7 days:\n"
"\n"
msgstr ""
#: inc/event.php:178
msgid "Active topics for %1$s"
msgstr ""
#: inc/event.php:178
msgctxt "one day span email title date format"
msgid "d. F Y."
msgstr ""
#: inc/event.php:180
msgctxt "1. Yesterday 2. Today"
msgid "Active topics for %1$s / %2$s"
msgstr ""
#: inc/event.php:180
msgctxt "two day span yesterday email title date format"
msgid "d. F Y."
msgstr ""
#: inc/event.php:180
msgctxt "one day span today email title date format"
msgid "d. F Y."
msgstr ""
#: inc/event.php:184
msgid ""
"This topics have been active in the last 24 hours:\n"
"\n"
msgstr ""
#: inc/event.php:188
msgctxt "1. Topic title 2. Topic URL"
msgid "%1$s: %2$s\r\n"
msgstr ""
#: inc/forums-list.php:229
msgid "No topics available"
msgstr ""
#: inc/forums-list.php:234
msgid "No forums available"
msgstr ""
#: inc/forums-list.php:239
msgid "None available"
msgstr ""
#: inc/one-click-handle.php:152 inc/one-click-template.php:54
msgid "The request was unsuccessful. Please try again."
msgstr ""
#: inc/one-click-template.php:147
msgid ""
"<a href=\"%1$s\" class=\"%2$s\">Include topics from this forum to the digest "
"emails</a> (<a href=\"%3$s\">edit settings</a>)"
msgstr ""
#: inc/one-click-template.php:148
msgid ""
"Topics from this forum are included in digest emails (<a href=\"%1$s\" class="
"\"%2$s\">remove </a> | <a href=\"%3$s\">edit settings</a>)"
msgstr ""
#: inc/wp-profile.php:48
msgctxt "settings field label"
msgid "Digest emails"
msgstr ""
#: inc/wp-profile.php:60
msgid "Daily or weekly"
msgstr ""
#: inc/wp-profile.php:93
msgid "Digest time"
msgstr ""
#: inc/wp-profile.php:108
msgctxt "settings field label"
msgid "Forums"
msgstr ""
#. Plugin Name of the plugin/theme
msgid "bbPress Digest"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "http://blog.milandinic.com/wordpress/plugins/bbpress-digest/"
msgstr ""
#. Description of the plugin/theme
msgid "Send digests with forum's active topics."
msgstr ""
#. Author of the plugin/theme
msgid "Milan Dinić"
msgstr ""
#. Author URI of the plugin/theme
msgid "http://blog.milandinic.com/"
msgstr ""

View File

@@ -0,0 +1,62 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR Bjorn Wijers <burobjorn at burobjorn dot nl>
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: bbRedirector 1.0\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/bbRedirector\n"
"POT-Creation-Date: 2009-11-24 17:34+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: bbRedirector.php:260
msgid "Settings"
msgstr ""
#: bbRedirector.php:301
msgid ""
"Whoops! There was a problem with the data you posted. Please go back and try "
"again."
msgstr ""
#: bbRedirector.php:320
msgid "Allow default redirection:"
msgstr ""
#: bbRedirector.php:325
msgid "Default redirect url:"
msgstr ""
#: bbRedirector.php:331
msgid "Default HTTP status code :"
msgstr ""
#: bbRedirector.php:337
msgid "Metakey name (used to retrieve per-page redirect url):"
msgstr ""
#. Plugin Name of an extension
msgid "bbRedirector"
msgstr ""
#. #-#-#-#-# en.pot (bbRedirector 1.0) #-#-#-#-#
#. Plugin URI of an extension
#. #-#-#-#-# en.pot (bbRedirector 1.0) #-#-#-#-#
#. Author URI of an extension
msgid "http://www.burobjorn.nl"
msgstr ""
#. Description of an extension
msgid "bbRedirector makes it easy to redirect a page to another location."
msgstr ""
#. Author of an extension
msgid "Bjorn Wijers <burobjorn at burobjorn dot nl>"
msgstr ""

View File

@@ -0,0 +1,33 @@
## 1.1.0 [16th November 2019]
### Added
- WooCommerce Base Slider added
- Brand new dashboard added
- Upgrade option added in dashboard
### Fixed
- Image responsive issue fixed
- Widget on/off issue fixed
- Button link empty error fixed
- Video thumb condition fixed for slice skin
- Video background responsive issue fixed for meteor skin
## 1.0.1 [4rd November 2019]
### Added
- Added Woocommerce Widget
### Fixed
- General widget meteor skin thumbnav video height issue
- Isolate widget locate skin scroll down & dotnav number issue
- Isolate widget slice skin video play button with thumbnav image show hide
- Isolate widget slice skin social icon below background remove
- Isolate widget slice skin excerpt height issue
## 1.0.0
- Initial Release

View File

@@ -0,0 +1,86 @@
# Translation of the WordPress plugin BeastiePress 1.0 by Nicole Reid.
# Copyright (C) 2010 Nicole Reid
# This file is distributed under the same license as the BeastiePress package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: BeastiePress 1.0\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/beastiepress\n"
"POT-Creation-Date: 2010-10-25 00:05-0400\n"
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: beastiepress.php:128
msgid "BeastiePress requires at least WordPress 2.8."
msgstr ""
#: beastiepress.php:191
msgid "You do not have sufficient permissions to access this page."
msgstr ""
#: beastiepress.php:198
msgid "BeastiePress Settings"
msgstr ""
#: beastiepress.php:205 beastiepress.php:208
msgid "Port Linking"
msgstr ""
#: beastiepress.php:212 beastiepress.php:255 beastiepress.php:280
#: beastiepress.php:305
msgid "Enable"
msgstr ""
#: beastiepress.php:230
#, php-format
msgid "Use the %s Ports index."
msgstr ""
#: beastiepress.php:240 beastiepress.php:265 beastiepress.php:290
#: beastiepress.php:315
#, php-format
msgid "Match the %s tag."
msgstr ""
#: beastiepress.php:248 beastiepress.php:251
msgid "Problem Report Linking"
msgstr ""
#: beastiepress.php:273 beastiepress.php:276
msgid "File Tagging"
msgstr ""
#: beastiepress.php:298 beastiepress.php:301
msgid "Manual Page Linking"
msgstr ""
#: beastiepress.php:328
msgid "Save Changes"
msgstr ""
#. Plugin Name of the plugin/theme
msgid "BeastiePress"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "http://cooltrainer.org/software/beastiepress/"
msgstr ""
#. Description of the plugin/theme
msgid "Adds some FreeBSD-specific shortcodes to WordPress"
msgstr ""
#. Author of the plugin/theme
msgid "Nicole Reid"
msgstr ""
#. Author URI of the plugin/theme
msgid "http://cooltrainer.org"
msgstr ""

View File

@@ -0,0 +1,9 @@
*** Changelog ***
= 1.0.1 - 27/12/2019 =
* Tracking code fix
= 1.0.0 - 14/11/2019 =
* Initial release

View File

@@ -0,0 +1,22 @@
{
"name": "better-file-editor",
"title": "Better File Editor",
"description": "Adds line numbers, syntax highlighting, code folding, and lots more to the theme and plugin editors in the admin panel.",
"version": "2.3.1",
"homepage": "https://wordpress.org/plugins/better-file-editor/",
"author": {
"name": "Bryan Petty",
"email": "bryan@ibaku.net",
"url": "https://profiles.wordpress.org/bpetty/"
},
"devDependencies": {
"grunt": "~0.4.5",
"grunt-contrib-clean": "~0.6.0",
"grunt-contrib-cssmin": "~0.14.0",
"grunt-contrib-jshint": "~0.11.3",
"grunt-contrib-nodeunit": "~0.4.1",
"grunt-contrib-uglify": "~0.9.2",
"grunt-contrib-watch": "~0.6.1",
"grunt-sass": "~1.0.0"
}
}

View File

@@ -0,0 +1,95 @@
{
"name": "wp-job-manager-blocks-cgb-guten-block",
"version": "1.0.0",
"main": "Gruntfile.js",
"private": true,
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js"
},
"dependencies": {
"autoprefixer": "^7.2.4",
"babel-core": "^6.25.0",
"babel-eslint": "^8.2.1",
"babel-loader": "^7.1.1",
"babel-preset-cgb": "^1.7.0",
"cgb-dev-utils": "^1.6.0",
"chalk": "^2.3.0",
"classnames": "^2.2.6",
"cross-env": "^5.0.1",
"cross-spawn": "^5.1.0",
"eslint": "^4.15.0",
"eslint-config-wordpress": "^2.0.0",
"eslint-plugin-jest": "^21.6.1",
"eslint-plugin-jsx-a11y": "^6.0.3",
"eslint-plugin-react": "^7.5.1",
"eslint-plugin-wordpress": "^0.1.0",
"extract-text-webpack-plugin": "^3.0.2",
"filesize": "^3.5.11",
"fs-extra": "^5.0.0",
"gzip-size": "^4.1.0",
"inquirer": "^5.0.0",
"mem": "^6.0.0",
"node-sass": "^4.7.2",
"ora": "^1.3.0",
"postcss-loader": "^2.0.10",
"raw-loader": "^0.5.1",
"resolve-pkg": "^1.0.0",
"sass-loader": "^6.0.6",
"shelljs": "^0.8.0",
"style-loader": "^0.23.1",
"update-notifier": "^2.3.0",
"webpack": "^3.1.0"
},
"babel": {
"presets": [
[
"env",
{
"modules": false,
"targets": {
"browsers": [
"last 2 Chrome versions",
"last 2 Firefox versions",
"last 2 Safari versions",
"last 2 iOS versions",
"last 1 Android version",
"last 1 ChromeAndroid version",
"ie 11"
]
}
}
]
],
"plugins": [
[
"transform-object-rest-spread"
],
[
"transform-object-rest-spread",
{
"useBuiltIns": true
}
],
[
"transform-react-jsx",
{
"pragma": "wp.element.createElement"
}
],
[
"transform-runtime",
{
"helpers": false,
"polyfill": false,
"regenerator": true
}
]
]
},
"devDependencies": {
"grunt": "^1.0.4",
"grunt-wp-i18n": "^1.0.3",
"grunt-wp-readme-to-markdown": "^1.0.0"
}
}

View File

@@ -0,0 +1,83 @@
# Copyright (C) 2019 Bengal Studio
# This file is distributed under the GPL2+.
msgid ""
msgstr ""
"Project-Id-Version: Blocks for WP Job Manager 1.0.0\n"
"Report-Msgid-Bugs-To: "
"https://wordpress.org/support/plugin/wp-job-manager-blocks\n"
"POT-Creation-Date: 2019-11-13 03:47:30+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Country: United States\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: "
"__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
"attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
"X-Poedit-Basepath: ../\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-Bookmarks: \n"
"X-Textdomain-Support: yes\n"
"X-Generator: grunt-wp-i18n 1.0.3\n"
#: blocks-for-wp-job-manager.php:36 blocks-for-wp-job-manager.php:54
#. translators: 1: composer command. 2: plugin directory
msgid ""
"Your installation of the Blocks for WP Job Manager plugin is incomplete. "
"Please run %1$s within the %2$s directory."
msgstr ""
#: src/Plugin.php:172
#. translators: URL of WP Job Manager plugin
msgid ""
"The Blocks for WP Job Manager plugin requires <a href=\"%s\">WP Job "
"Manager</a> 1.30.0 or greater to be installed and active."
msgstr ""
#: src/Plugin.php:178
#. translators: 1: URL of WordPress.org, 2: URL of WP Job Manager plugin
msgid ""
"The Blocks for WP Job Manager plugin requires both <a "
"href=\"%1$s\">WordPress</a> 5.2 or greater and <a href=\"%2$s\">WP Job "
"Manager</a> 1.30.0 or greater to be installed and active."
msgstr ""
#: src/Plugin.php:190
msgid ""
"You have installed a development version of Blocks for WP Job Manager which "
"requires files to be built. From the plugin directory, run <code>npm "
"install</code> to install dependencies, <code>npm run build</code> to build "
"the files."
msgstr ""
#: src/Plugin.php:193
#. translators: 1: URL of GitHub Repository build page
msgid ""
"Or you can download a pre-built version of the plugin by visiting <a "
"href=\"%1$s\">the releases page in the repository</a>."
msgstr ""
#. Plugin Name of the plugin/theme
msgid "Blocks for WP Job Manager"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "https://bengal-studio.com/plugins/wp-job-manager-blocks/"
msgstr ""
#. Description of the plugin/theme
msgid "A collection of Gutenberg Blocks for WP Job Manager job board plugin."
msgstr ""
#. Author of the plugin/theme
msgid "Bengal Studio"
msgstr ""
#. Author URI of the plugin/theme
msgid "https://bengal-studio.com"
msgstr ""

View File

@@ -0,0 +1,58 @@
msgid ""
msgstr ""
"Project-Id-Version: Stronger Admin Bar v1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2014-05-18 16:21:49+0000\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: CSL v1.x\n"
"X-Poedit-Language: \n"
"X-Poedit-Country: \n"
"X-Poedit-SourceCharset: utf-8\n"
"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"
"X-Poedit-Basepath: \n"
"X-Poedit-Bookmarks: \n"
"X-Poedit-SearchPath-0: .\n"
"X-Textdomain-Support: yes"
#. translators: plugin header field 'Name'
#: stronger-admin-bar.php:0
#@ stronger_admin_bar
msgid "Stronger Admin Bar"
msgstr ""
#. translators: plugin header field 'PluginURI'
#: stronger-admin-bar.php:0
#@ stronger_admin_bar
msgid "http://wordpress.org/plugins/stronger-admin-bar"
msgstr ""
#. translators: plugin header field 'Description'
#: stronger-admin-bar.php:0
#@ stronger_admin_bar
msgid "Adds more space to the adnin bar from top and bottom to make it more useful."
msgstr ""
#. translators: plugin header field 'Author'
#: stronger-admin-bar.php:0
#@ stronger_admin_bar
msgid "silver530"
msgstr ""
#. translators: plugin header field 'AuthorURI'
#: stronger-admin-bar.php:0
#@ stronger_admin_bar
msgid "http://profiles.wordpress.org/silver530"
msgstr ""
#. translators: plugin header field 'Version'
#: stronger-admin-bar.php:0
#@ stronger_admin_bar
msgid "1.0"
msgstr ""

View File

@@ -0,0 +1,16 @@
{
"name": "easy-attachments-cgb-guten-block",
"version": "1.0.0",
"private": true,
"scripts": {
"start": "cgb-scripts start",
"build": "cgb-scripts build",
"eject": "cgb-scripts eject"
},
"dependencies": {
"cgb-scripts": "1.21.0",
"color": "^3.1.2",
"querystring": "^0.2.0",
"react-fetch-progressbar": "^1.0.0"
}
}

View File

@@ -0,0 +1,6 @@
# Changelog
All notable changes to this project will be documented in this file, per [the Keep a Changelog standard](http://keepachangelog.com/).
## [1.0.0]
### Added

View File

@@ -0,0 +1,80 @@
# Translation of the WordPress plugin Blogware Importer 0.2 by wordpressdotorg.
# Copyright (C) 2010 wordpressdotorg
# This file is distributed under the same license as the Blogware Importer package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Blogware Importer 0.2\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/blogware-importer\n"
"POT-Creation-Date: 2010-06-01 13:26+0300\n"
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: blogware-importer.php:39
msgid "Import Blogware"
msgstr ""
#: blogware-importer.php:48
msgid ""
"Howdy! This importer allows you to extract posts from Blogware XML export "
"file into your site. Pick a Blogware file to upload and click Import."
msgstr ""
#: blogware-importer.php:115
#, php-format
msgid "Post <em>%s</em> already exists."
msgstr ""
#: blogware-importer.php:117
#, php-format
msgid "Importing post <em>%s</em>..."
msgstr ""
#: blogware-importer.php:124
msgid "Couldn&#8217;t get post ID"
msgstr ""
#: blogware-importer.php:170
#, php-format
msgid "%s comment"
msgid_plural "%s comments"
msgstr[0] ""
msgstr[1] ""
#: blogware-importer.php:193
#, php-format
msgid "All done. <a href=\"%s\">Have fun!</a>"
msgstr ""
#: blogware-importer.php:226
msgid "Blogware"
msgstr ""
#. #-#-#-#-# blogware-importer.pot (Blogware Importer 0.2) #-#-#-#-#
#. Description of the plugin/theme
#: blogware-importer.php:226
msgid "Import posts from Blogware."
msgstr ""
#. Plugin Name of the plugin/theme
msgid "Blogware Importer"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "http://wordpress.org/extend/plugins/blogware-importer/"
msgstr ""
#. Author of the plugin/theme
msgid "wordpressdotorg"
msgstr ""
#. Author URI of the plugin/theme
msgid "http://wordpress.org/"
msgstr ""

View File

@@ -0,0 +1,125 @@
# Copyright (C) 2019 The BuddyPress Community
# This file is distributed under the same license as the BP Beta Tester plugin.
msgid ""
msgstr ""
"Project-Id-Version: BP Beta Tester 1.0.0\n"
"Report-Msgid-Bugs-To: https://github.com/buddypress/bp-beta-tester/issues\n"
"Last-Translator: imath <imath@chat.wordpress.org>\n"
"Language-Team: ENGLISH\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2019-11-29T04:00:00+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.3.0\n"
"X-Domain: bp-beta-tester\n"
#. Plugin Name of the plugin
msgid "BP Beta Tester"
msgstr ""
#. Plugin URI of the plugin
msgid "https://github.com/buddypress/bp-beta-tester"
msgstr ""
#. Description of the plugin
msgid "A plugin to switch between stable, beta or RC versions of BuddyPress."
msgstr ""
#. Author of the plugin
msgid "The BuddyPress Community"
msgstr ""
#. Author URI of the plugin
msgid "https://buddypress.org"
msgstr ""
#. translators: the %s placeholder is for the BuddyPress release tag.
#: inc/functions.php:256
msgid "Install %s"
msgstr ""
#. translators: the %s placeholder is for the BuddyPress release tag.
#: inc/functions.php:276
msgid "Upgrade to %s"
msgstr ""
#: inc/functions.php:327
#: inc/functions.php:499
#: inc/functions.php:520
msgid "Beta Test BuddyPress"
msgstr ""
#: inc/functions.php:332
msgid "Main actions"
msgstr ""
#. translators: the %s placeholder is for the BuddyPress release tag.
#: inc/functions.php:344
msgid "Downgrade to %s"
msgstr ""
#. translators: %1$s is the current user display name and %2$s is a heart dashicon.
#: inc/functions.php:367
msgid "Thank you so much %1$s %2$s"
msgstr ""
#: inc/functions.php:374
msgid "Thanks for contributing to BuddyPress: beta testing the plugin is very important to make sure it behaves the right way for you and for the community."
msgstr ""
#: inc/functions.php:375
msgid "Although the BuddyPress Core Development Team is regularly testing it, it's very challenging to test every possible configuration of WordPress and BuddyPress."
msgstr ""
#. translators: %s is the link to the WP Core Contributor handbook page about installing WordPress locally.
#: inc/functions.php:380
msgid "Please make sure to avoid using this plugin on a production site: beta testing is always safer when it's done on a %s of your site or on a testing site."
msgstr ""
#: inc/functions.php:381
msgid "local copy"
msgstr ""
#. translators: %1$s is the link to the BuddyPress account on Twitter and %2$s is the link to the BuddyPress blog.
#: inc/functions.php:391
msgid "There is no pre-releases to test currently. Please consider following BuddyPress %1$s or checking %2$s regularly to be informed of the next pre-releases."
msgstr ""
#: inc/functions.php:392
msgid "on Twitter"
msgstr ""
#: inc/functions.php:393
msgid "our blog"
msgstr ""
#: inc/functions.php:398
msgid "Have you found a bug or a possible improvement?"
msgstr ""
#. translators: %1$s is the link to the BuddyPress Trac and %2$s is the link to the BuddyPress Support forums.
#: inc/functions.php:403
msgid "Please let us know about it opening a new ticket on our %1$s or posting a new topic in our %2$s."
msgstr ""
#: inc/functions.php:404
msgid "Development Tracker"
msgstr ""
#: inc/functions.php:405
msgid "support forums"
msgstr ""
#: inc/functions.php:409
msgid "One of the Core Developers/Support forum moderators will review your feedback and we'll do our best to fix it before the stable version is made available to the public."
msgstr ""
#. translators: the %s placeholder is for the BuddyPress release tag.
#: inc/functions.php:480
msgid "The BuddyPress version %s is not available on WordPress.org."
msgstr ""
#: inc/functions.php:498
msgid "BuddyPress Beta Tester"
msgstr ""

View File

@@ -0,0 +1,20 @@
msgid ""
msgstr ""
"Project-Id-Version: BuddyPress Edit User Profiles v1.3.1\n"
"POT-Creation-Date: 2016-12-15 13:55-0500\n"
"PO-Revision-Date: 2016-12-15 13:55-0500\n"
"Last-Translator: \n"
"Language-Team: Sean Newby <sean@seannewby.ca>\n"
"Language: English\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop;_e;__\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../bp-edit-user-profiles.php:51
msgid "Edit BuddyPress Profile"
msgstr ""

View File

@@ -0,0 +1,4 @@
== Changelog ==
= 1.0.0 =
* Initial Public Release

View File

@@ -0,0 +1,86 @@
msgid ""
msgstr ""
"Project-Id-Version: Bulk Plugin Installation v1.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-01-12 13:59-0700\n"
"PO-Revision-Date: 2013-01-14 13:36:08+0000\n"
"Last-Translator: Bee Estudio Web\n"
"Language-Team: Bee Estudio Web\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Poedit-Language: \n"
"X-Poedit-Country: \n"
"X-Poedit-SourceCharset: utf-8\n"
"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"
"X-Poedit-Basepath: ../\n"
"X-Poedit-Bookmarks: \n"
"X-Poedit-SearchPath-0: .\n"
"X-Textdomain-Support: yes"
#: bulk-plugin-installation.php:56
#@ bulk-plugin-installation
msgid "Install plugins from URL/name"
msgstr "Instalar plugins desde URL o por nombre"
#: bulk-plugin-installation.php:57
#@ bulk-plugin-installation
msgid "Type the plugin names, the WordPress plugin page URLs, or the direct URLs to the zip files, one on each line."
msgstr "Escriba el nombre de los plugins, la URL del plugin en Wordpress, o directamente la URL del archivo ZIP. Un plugin por línea."
#: bulk-plugin-installation.php:61
#@ bulk-plugin-installation
msgid "Install now"
msgstr "Instalar ahora"
#: bulk-plugin-installation.php:75
#@ bulk-plugin-installation
msgid "You are not logged in."
msgstr "Usted no está logueado."
#: bulk-plugin-installation.php:77
#@ bulk-plugin-installation
msgid "You do not have the necessary administrative rights to be able to install plugins."
msgstr "Usted no tiene los derechos administrativos necesarios para instalar plugins."
#: bulk-plugin-installation.php:89
#@ bulk-plugin-installation
msgid "No data supplied."
msgstr "No se suministró información."
#: bulk-plugin-installation.php:146
#: bulk-plugin-installation.php:155
#@ bulk-plugin-installation
msgid "Couldn't install plugin, perhaps you misspelled the name?"
msgstr "No se pudo instalar el plugin, ¿tal vez escribiste mal el nombre?"
#: bulk-plugin-installation.php:152
#: bulk-plugin-installation.php:168
#: bulk-plugin-installation.php:177
#, php-format
#@ bulk-plugin-installation
msgid "Installing plugin: %s"
msgstr "Instalando plugin: %s"
#: bulk-plugin-installation.php:185
#@ bulk-plugin-installation
msgid "No valid data supplied."
msgstr "No se suministró información válida."
#: bulk-plugin-installation.php:249
#@ bulk-plugin-installation
msgid "No plugin specified"
msgstr "No se especificó el plugin"
#: bulk-plugin-installation.php:264
#@ bulk-plugin-installation
msgid "Installation failed"
msgstr "Falló la instalación"
#: bulk-plugin-installation.php:266
#, php-format
#@ bulk-plugin-installation
msgid "Successfully installed the plugin <strong>%s </strong>."
msgstr "El plugin <strong>%s </strong> se instaló satisfactoriamente."

View File

@@ -0,0 +1,70 @@
# Copyright (C) 2013 MELONIQ.NET
# This file is distributed under the same license as the BulkPress - Export package.
msgid ""
msgstr ""
"Project-Id-Version: BulkPress - Export 0.1\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/bulkpress-export\n"
"POT-Creation-Date: 2013-03-27 16:17+0100\n"
"PO-Revision-Date: 2013-03-27 16:18+0100\n"
"Last-Translator: MELONIQ.NET\n"
"Language-Team: MELONIQ.NET\n"
"Language: English\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_nx:1,2;_x:1,2c;_ex:1,2c;esc_attr__;"
"esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
"_nx_noop:1,2,3c\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../admin-page.php:4
msgid "You do not have sufficient permissions to access this page."
msgstr ""
#: ../admin-page.php:11 ../bulkpress-export.php:46
msgid "BulkPress - Export"
msgstr ""
#: ../admin-page.php:12
msgid ""
"When you click the button below, it will create an formatted file for you to "
"save to your computer."
msgstr ""
#: ../admin-page.php:13
msgid ""
"Once you've saved the download file, you can use the BulkPress plugin in "
"another WordPress installation to import the content from this site."
msgstr ""
#: ../admin-page.php:20
msgid "Taxonomy"
msgstr ""
#: ../admin-page.php:27
msgid "Select the taxonomy which you would like to export."
msgstr ""
#: ../admin-page.php:31
msgid "Content"
msgstr ""
#: ../admin-page.php:33
msgid "Names"
msgstr ""
#: ../admin-page.php:34
msgid "Slugs"
msgstr ""
#: ../admin-page.php:35
msgid "Choose what to export."
msgstr ""
#: ../admin-page.php:42
msgid "Download Export File"
msgstr ""

View File

@@ -0,0 +1,240 @@
# Translation of the WordPress plugin Business Block Widget 1.4 by grandslambert.
# Copyright (C) 2011 grandslambert
# This file is distributed under the same license as the Business Block Widget package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Business Block Widget 1.4\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/business-block-widget\n"
"POT-Creation-Date: 2011-02-10 20:15-0600\n"
"PO-Revision-Date: 2011-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: business-block-widget.php:50
msgid "Add a widget with business contact information. By GrandSlambert."
msgstr ""
#: business-block-widget.php:99
msgid " Settings"
msgstr ""
#: business-block-widget.php:118
msgid "Settings"
msgstr ""
#: includes/footer.php:19
msgid "Credits"
msgstr ""
#: includes/footer.php:23
#, php-format
msgid ""
"Thank you for trying the %1$s plugin - I hope you find it useful. For the "
"latest updates on this plugin, vist the %2$s. If you have problems with this "
"plugin, please use our %3$s or read the %4$s."
msgstr ""
#: includes/footer.php:25
msgid "official site"
msgstr ""
#: includes/footer.php:26
msgid "Support Forum"
msgstr ""
#: includes/footer.php:27
msgid "Documentation Page"
msgstr ""
#: includes/footer.php:32
#, php-format
msgid "This plugin is &copy; %1$s by %2$s and is released under the %3$s"
msgstr ""
#: includes/footer.php:35
msgid "GNU General Public License"
msgstr ""
#: includes/footer.php:42
msgid "Donate"
msgstr ""
#: includes/footer.php:45
#, php-format
msgid ""
"If you find this plugin useful, please consider supporting this and our "
"other great %1$s."
msgstr ""
#: includes/footer.php:45
msgid "plugins"
msgstr ""
#: includes/footer.php:46
msgid "Donate a few bucks!"
msgstr ""
#: includes/options-panel.php:20 includes/options-panel.php:25
msgid "Default Settings"
msgstr ""
#: includes/options-panel.php:29
msgid "Link Name to URL"
msgstr ""
#: includes/options-panel.php:33
msgid "Default Link Target"
msgstr ""
#: includes/options-panel.php:35
msgid "None"
msgstr ""
#: includes/options-panel.php:36
msgid "New Window"
msgstr ""
#: includes/options-panel.php:37
msgid "Top Window"
msgstr ""
#: includes/options-panel.php:41
msgid "Default Template"
msgstr ""
#: includes/options-panel.php:48
msgid "Web Link Text"
msgstr ""
#: includes/options-panel.php:52
msgid "Email Link Text"
msgstr ""
#: includes/options-panel.php:64
msgid "Save Changes"
msgstr ""
#: includes/options-panel.php:72
msgid "About"
msgstr ""
#: includes/options-panel.php:74
msgid ""
"This page sets the defaults for each widget. Each of these settings can be "
"overridden when you add a business block to the sidebar."
msgstr ""
#: includes/options-panel.php:75
msgid "You are using"
msgstr ""
#: includes/options-panel.php:79
msgid "Usage"
msgstr ""
#: includes/options-panel.php:81
#, php-format
msgid ""
"After setting the defaults, you can add widgets on the %1$s screen. Each of "
"the defaults to the left can be overridden for each individual instance. "
"Information for each business is stored with the widget."
msgstr ""
#: includes/options-panel.php:82
msgid "Appearance &raquo; Widgets"
msgstr ""
#: includes/options-panel.php:88
msgid "Recent Contributors"
msgstr ""
#: includes/options-panel.php:91
msgid ""
"GrandSlambert would like to thank these wonderful contributors to this "
"plugin!"
msgstr ""
#: includes/widget-form.php:21
msgid "Widget Title:<br /><small>Leave blank to use Business Name</small>"
msgstr ""
#: includes/widget-form.php:27
msgid "Link Name To URL:"
msgstr ""
#: includes/widget-form.php:33
msgid "Display Template"
msgstr ""
#: includes/widget-form.php:40
msgid "Business Information"
msgstr ""
#: includes/widget-form.php:43
msgid "Business Name:"
msgstr ""
#: includes/widget-form.php:49
msgid "Business Address:"
msgstr ""
#: includes/widget-form.php:56
msgid "City:"
msgstr ""
#: includes/widget-form.php:62
msgid "State:"
msgstr ""
#: includes/widget-form.php:68
msgid "Postal Code:"
msgstr ""
#: includes/widget-form.php:72
msgid "Telephone Numbers"
msgstr ""
#: includes/widget-form.php:92
msgid "Web Information"
msgstr ""
#: includes/widget-form.php:96
msgid "Business Web Site:"
msgstr ""
#: includes/widget-form.php:102
msgid "Link Target:<br /><small>Affects all links in the widget.</small>"
msgstr ""
#: includes/widget-form.php:112
msgid ""
"Contact Page:<br /><small>Can be a web page URL or an email address preceded "
"by mailto:</small"
msgstr ""
#. Plugin Name of the plugin/theme
msgid "Business Block Widget"
msgstr ""
#. Plugin URI of the plugin/theme
msgid "http://businessblockwidget.grandslambert.com/"
msgstr ""
#. Description of the plugin/theme
msgid "Create widgets to display business contact information"
msgstr ""
#. Author of the plugin/theme
msgid "grandslambert"
msgstr ""
#. Author URI of the plugin/theme
msgid "http://grandslambert.com/"
msgstr ""

View File

@@ -0,0 +1,172 @@
msgid ""
msgstr ""
"Project-Id-Version: Cache Images\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tag/cache-images\n"
"POT-Creation-Date: 2010-12-03 21:08+0000\n"
"PO-Revision-Date: 2012-02-09 16:54+0330\n"
"Last-Translator: Amir GraphX <amirgraphx@gmail.com>\n"
"Language-Team: Persian WP <info@PersianWP.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop;_e;__\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-Language: Persian\n"
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
#: cache-images.php:46
msgid "Settings"
msgstr "تنظیمات"
#: cache-images.php:47
msgid "Scanning"
msgstr "بررسی کردن"
#: cache-images.php:86
msgid "Cache Remote Images"
msgstr "ذخیره تصاویر"
#: cache-images.php:94
msgid "Remote Image Caching"
msgstr "ذخیره سازی تصاویر از راه دور"
#: cache-images.php:95
msgid "Here&#8217;s how this works:"
msgstr "شیوه ی کار افزونه:"
#: cache-images.php:97
msgid "Click the button below and we&#8217;ll scan all of your posts for remote images"
msgstr "بر روی دکمه زیر کلیک کنید تا تمام مطالب شما بررسی شود"
#: cache-images.php:97
#: cache-images.php:315
msgid "Button <strong>Scan</strong> will search only for images that are hotlinked (ie. used like in example <code>&lt;img src=\"http://example.com/picture.jpg\" /&gt;</code>), while button <strong>Scan (including linked)</strong> will search for images that are only linked from this site (ie. ised like in example <code>&lt;a href=\"http://example.com/picture.jpg\"&gt;example&lt;/a&gt;</code>). Use second button with caution!"
msgstr "دکمه <strong>بررسی </strong> فقط تصاویری که درون پست ها نمایش داده می شود جستجو خواهد کرد (به عنوان مثال <code>&lt;img src=\"http://example.com/picture.jpg\" /&gt;</code>), در صورتی که دکمه <strong>بررسی (شامل دارای پیوند)</strong> تصاویری که لینک شده از این سایت هستند جستجو خواهد کرد (به عنوان مثال <code>&lt;a href=\"http://example.com/picture.jpg\"&gt;example&lt;/a&gt;</code>). از دکمه دوم با احتیاط استفاده کنید!"
#: cache-images.php:98
msgid "Then you&#8217;ll be presented with a list of domains. For each domain, press button Cache from this domain"
msgstr "سپس شما لیست دامنه ها را مشاهده خواهید کرد. برای هر دامنه بر روی ذخیره از این دامنه کلیک کنید"
#: cache-images.php:99
msgid "The images will be copied to your upload directory, the links in your posts will be updated to the new location, and images will be added to your media library, associated to first post from where they are found."
msgstr "تصاویر درون پوشه آپلود شما ذخیره خواهد شد ، پیوند های درون مطالب شما با پیوند جدید جایگزین شده و تصاویر درون رسانه شما بر اساس اولین مطلب از دامنه ای که پیدا شده اضافه خواهد شد."
#: cache-images.php:107
msgid "Tip:"
msgstr "نکته:"
#: cache-images.php:108
msgid "You can install plugin WP Smush.it to reduce image file sizes and improve performance using the Smush.it API."
msgstr "شما می توانید افزونه WP Smush.it را برای کاهش اندازه تصاویر نصب کرده و عملکرد خود را بهبود ببخشید."
#: cache-images.php:109
#, php-format
msgid " (<a href='%s'>read more about WP Smush.it</a>)"
msgstr " (<a href='%s'>درباره WP Smush.it بیشتر بخوانید</a>)"
#: cache-images.php:110
#, php-format
msgid "<a href='%s' class='thickbox'>Install WP Smush.it</a>"
msgstr "<a href='%s' class='thickbox'>WP Smush.it را نصب کنید</a>"
#: cache-images.php:123
#: cache-images.php:159
#: cache-images.php:392
#: cache-images.php:412
#: cache-images.php:428
msgid "No posts with images were found."
msgstr "هیچ مطلب تصویر داری پیدا نشد."
#: cache-images.php:129
#: cache-images.php:165
msgid "We found some results. Choose the domains from where you want to grab images from by clicking on a button \"Cache from this domain\" next to it."
msgstr "تعدادی تصویر پیدا شد. دامنه ای که می خواهید تصاویرش ذخیره شود را با کلیک بر روی \"ذخیره از این دامنه\" انتخاب کنید."
#: cache-images.php:129
#: cache-images.php:165
msgid "<strong>Note</strong>: you <strong>must not close</strong> this page while caching is performed. You can close it when you see message \"Done caching from...\" and yellow bar is removed"
msgstr "<strong>توجه</strong>:این صفحه را تا زمانی که عملیات ذخیره سازی تمام نشده است <strong> نباید ببندید </strong>.زمانی می توانید ببندید که پیغام \"ذخیره سازی انجام شد از...\" را مشاهده کرده و نوار زرد رنگ حذف شده باشد."
#: cache-images.php:135
#: cache-images.php:171
#, php-format
msgid "results: %1$s"
msgstr "نتایج: %1$s"
#: cache-images.php:135
#: cache-images.php:171
msgid "Cache from this domain"
msgstr "ذخیره از این دامنه"
#: cache-images.php:143
#: cache-images.php:179
#: cache-images.php:244
#: cache-images.php:296
#, php-format
msgid "Error %1$s"
msgstr "خطا %1$s"
#: cache-images.php:201
#: cache-images.php:253
msgid "Reading posts..."
msgstr "در حال خواندن مطالب..."
#: cache-images.php:216
#: cache-images.php:268
#, php-format
msgid "Done caching from %1$s"
msgstr "ذخیره سازی از %1$s انجام شد"
#: cache-images.php:222
#: cache-images.php:274
#, php-format
msgid "Caching %1$s of %2$s"
msgstr "ذخیره سازی %1$s از %2$s"
#: cache-images.php:313
msgid "Scan &raquo;"
msgstr "بررسی &raquo;"
#: cache-images.php:314
msgid "Scan (including linked) &raquo;"
msgstr "بررسی (شامل دارای پیوند) &raquo;"
#: cache-images.php:314
msgid "what is difference?"
msgstr "تفاوتشان چیست؟"
#: cache-images.php:322
#, php-format
msgid "Last cached picture: %1$s"
msgstr "آخرین تصویر ذخیره شده: %1$s"
#. #-#-#-#-# plugin.pot (Cache Images 3.1) #-#-#-#-#
#. Plugin Name of the plugin/theme
#: cache-images.php:550
msgid "Cache Images"
msgstr "ذخیره تصاویر"
#: cache-images.php:551
msgid "Automatic caching"
msgstr "ذخیره سازی خودکار"
#: cache-images.php:566
msgid "Automatically cache images on post&#8217;s saving"
msgstr "هنگام انتشار مطلب به صورت خودکار تصاویر را ذخیره کن"
#. Plugin URI of the plugin/theme
msgid "http://wordpress.org/extend/plugins/cache-images/"
msgstr "http://wordpress.org/extend/plugins/cache-images/"
#. Description of the plugin/theme
msgid "Goes through your posts and gives you the option to cache all hotlinked images from a domain locally in your upload folder"
msgstr "مطالب شما را بررسی کرده و به شما این امکان را میدهد تا تصاویری که از سایت های دیگر وجود دارد بر روی پوشه ی آپلود خود ذخیره کنید"
#. Author of the plugin/theme
msgid "Matt Mullenweg"
msgstr "مت مولنوگ"
#. Author URI of the plugin/theme
msgid "http://ma.tt/"
msgstr "http://ma.tt/"

Some files were not shown because too many files have changed in this diff Show More