Showing preview only (1,608K chars total). Download the full file or copy to clipboard to get everything.
Repository: FelisCatus/SwitchyOmega
Branch: master
Commit: 19f9d73f2012
Files: 198
Total size: 1.5 MB
Directory structure:
gitextract_3lnnenxm/
├── .circleci/
│ └── config.yml
├── .github/
│ ├── ISSUE_TEMPLATE.md
│ └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── .tern-project
├── AUTHORS
├── COPYING
├── README.md
├── omega-build/
│ ├── Gruntfile.coffee
│ └── package.json
├── omega-locales/
│ ├── ach/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── cs/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── de/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── en_US/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── es/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── es_AR/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── fa/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── fr/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── he_IL/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── id/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── is/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── it/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── ja/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── lzh/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── nb_NO/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── nl/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── pl/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── pt/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── pt_BR/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── ru/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── si/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── sk/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── sl/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── tr/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── uk/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── zh_CN/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── zh_Hant/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ └── zh_TW/
│ └── LC_MESSAGES/
│ └── omega-web.po
├── omega-pac/
│ ├── .gitattributes
│ ├── .gitignore
│ ├── Gruntfile.coffee
│ ├── grunt/
│ │ ├── aliases.coffee
│ │ ├── browserify.coffee
│ │ ├── coffeelint.coffee
│ │ ├── mochaTest.coffee
│ │ └── watch.coffee
│ ├── index.coffee
│ ├── package.json
│ ├── src/
│ │ ├── conditions.coffee
│ │ ├── pac_generator.coffee
│ │ ├── profiles.coffee
│ │ ├── rule_list.coffee
│ │ ├── shexp_utils.coffee
│ │ └── utils.coffee
│ ├── test/
│ │ ├── conditions.coffee
│ │ ├── pac_generator.coffee
│ │ ├── profiles.coffee
│ │ ├── rule_list.coffee
│ │ ├── shexp_utils.coffee
│ │ └── utils.coffee
│ ├── uglifyjs-shim.js
│ └── uglifyjs.js
├── omega-target/
│ ├── .gitignore
│ ├── Gruntfile.coffee
│ ├── grunt/
│ │ ├── aliases.coffee
│ │ ├── browserify.coffee
│ │ ├── coffeelint.coffee
│ │ ├── mochaTest.coffee
│ │ └── watch.coffee
│ ├── index.coffee
│ ├── omega_pac_shim.js
│ ├── package.json
│ ├── src/
│ │ ├── browser_storage.coffee
│ │ ├── default_options.coffee
│ │ ├── errors.coffee
│ │ ├── log.coffee
│ │ ├── options.coffee
│ │ ├── options_sync.coffee
│ │ ├── storage.coffee
│ │ └── utils.coffee
│ └── test/
│ └── options_sync.coffee
├── omega-target-chromium-extension/
│ ├── .gitignore
│ ├── Gruntfile.coffee
│ ├── grunt/
│ │ ├── aliases.coffee
│ │ ├── browserify.coffee
│ │ ├── coffee.coffee
│ │ ├── coffeelint.coffee
│ │ ├── compress.coffee
│ │ ├── copy.coffee
│ │ ├── mochaTest.coffee
│ │ ├── po2crx.coffee
│ │ └── watch.coffee
│ ├── grunt-po2crx.coffee
│ ├── index.coffee
│ ├── omega_target_shim.js
│ ├── overlay/
│ │ ├── background.html
│ │ └── manifest.json
│ ├── package.json
│ └── src/
│ ├── coffee/
│ │ ├── background.coffee
│ │ ├── background_preload.coffee
│ │ ├── omega_debug.coffee
│ │ └── omega_target_web.coffee
│ ├── js/
│ │ ├── omega_target_popup.js
│ │ └── omega_webext_proxy_script.js
│ └── module/
│ ├── chrome_api.coffee
│ ├── chrome_port.coffee
│ ├── external_api.coffee
│ ├── fetch_url.coffee
│ ├── index.coffee
│ ├── inspect.coffee
│ ├── options.coffee
│ ├── proxy/
│ │ ├── index.coffee
│ │ ├── proxy_auth.coffee
│ │ ├── proxy_impl.coffee
│ │ ├── proxy_impl_listener.coffee
│ │ ├── proxy_impl_script.coffee
│ │ └── proxy_impl_settings.coffee
│ ├── storage.coffee
│ ├── switchysharp.coffee
│ ├── tabs.coffee
│ ├── upgrade.coffee
│ └── web_request_monitor.coffee
└── omega-web/
├── .gitattributes
├── .gitignore
├── Gruntfile.coffee
├── bower.json
├── grunt/
│ ├── aliases.coffee
│ ├── autoprefixer.coffee
│ ├── bower.coffee
│ ├── coffee.coffee
│ ├── coffeelint.coffee
│ ├── copy.coffee
│ ├── jade.coffee
│ ├── less.coffee
│ ├── mochaTest.coffee
│ ├── ngAnnotate.coffee
│ └── watch.coffee
├── img/
│ └── icons/
│ └── draw_omega.js
├── package.json
└── src/
├── coffee/
│ ├── log_error.coffee
│ ├── omega_decoration.coffee
│ ├── options.coffee
│ ├── options_guide.coffee
│ ├── popup.coffee
│ └── switch_profile_guide.coffee
├── less/
│ ├── common.less
│ ├── options.less
│ └── popup.less
├── omega/
│ ├── app.coffee
│ ├── controllers/
│ │ ├── about.coffee
│ │ ├── fixed_profile.coffee
│ │ ├── io.coffee
│ │ ├── master.coffee
│ │ ├── pac_profile.coffee
│ │ ├── profile.coffee
│ │ ├── quick_switch.coffee
│ │ ├── rule_list_profile.coffee
│ │ └── switch_profile.coffee
│ ├── directives.coffee
│ └── filters.coffee
├── options.jade
├── partials/
│ ├── about.jade
│ ├── apply_options_confirm.jade
│ ├── cannot_delete_profile.jade
│ ├── delete_attached.jade
│ ├── delete_profile.jade
│ ├── fixed_auth_edit.jade
│ ├── general.jade
│ ├── input_group_clear.jade
│ ├── io.jade
│ ├── new_profile.jade
│ ├── omega_profile_select.jade
│ ├── options_welcome.jade
│ ├── profile.jade
│ ├── profile_fixed.jade
│ ├── profile_pac.jade
│ ├── profile_rule_list.jade
│ ├── profile_switch.jade
│ ├── profile_unsupported.jade
│ ├── profile_virtual.jade
│ ├── rename_profile.jade
│ ├── replace_profile.jade
│ ├── reset_options_confirm.jade
│ ├── rule_remove_confirm.jade
│ ├── rule_reset_confirm.jade
│ └── ui.jade
├── popup/
│ ├── css/
│ │ ├── dialog.css
│ │ └── index.css
│ ├── index.html
│ ├── js/
│ │ ├── i18n.js
│ │ ├── index.js
│ │ ├── keyboard.js
│ │ ├── keyboard_help.js
│ │ ├── loader.js
│ │ ├── profiles.js
│ │ └── proxy_not_controllable.js
│ └── proxy_not_controllable.html
└── popup.jade
================================================
FILE CONTENTS
================================================
================================================
FILE: .circleci/config.yml
================================================
version: 2
jobs:
build:
docker:
- image: circleci/node:7.10
working_directory: ~/repo
steps:
- checkout
- restore_cache:
keys:
- v2-dependencies-build-{{ checksum "omega-build/package.json" }}
- v2-dependencies-build
- restore_cache:
keys:
- v2-dependencies-pac-{{ checksum "omega-pac/package.json" }}
- v2-dependencies-pac
- restore_cache:
keys:
- v2-dependencies-target-{{ checksum "omega-target/package.json" }}
- v2-dependencies-target
- restore_cache:
keys:
- v2-dependencies-web-{{ checksum "omega-web/package.json" }}
- v2-dependencies-web
- restore_cache:
keys:
- v2-dependencies-webbower-{{ checksum "omega-web/bower.json" }}
- v2-dependencies-webbower
- restore_cache:
keys:
- v2-dependencies-targetchromium-{{ checksum "omega-target-chromium-extension/package.json" }}
- v2-dependencies-targetchromium
- run: sudo npm install -g grunt-cli@1.2.0 bower web-ext json
- run: (cd omega-build && npm run deps)
- save_cache:
paths:
- omega-build/node_modules
key: v2-dependencies-build-{{ checksum "omega-build/package.json" }}
- save_cache:
paths:
- omega-pac/node_modules
key: v2-dependencies-pac-{{ checksum "omega-pac/package.json" }}
- save_cache:
paths:
- omega-web/node_modules
key: v2-dependencies-web-{{ checksum "omega-web/package.json" }}
- save_cache:
paths:
- omega-web/bower_components
key: v2-dependencies-webbower-{{ checksum "omega-web/bower.json" }}
- save_cache:
paths:
- omega-target-chromium-extension/node_modules
key: v2-dependencies-targetchromium-{{ checksum "omega-target-chromium-extension/package.json" }}
- run: (cd omega-build && sudo npm run dev)
- run: (cd omega-pac && npm test)
- run: (cd omega-target && npm test)
- run: (cd omega-build && grunt)
- run:
name: Prepare for package builds
command: |
cd omega-target-chromium-extension
mkdir packages
base_ver=$(json -f "overlay/manifest.json" version)
commit_rev=$(git rev-parse --short HEAD)
FULL_VER="${base_ver}-${CIRCLE_BUILD_NUM}.ci.${commit_rev}"
echo "export FULL_VER='$FULL_VER'" >> $BASH_ENV
cd ..
- run:
name: Build unsigned ZIP package for Chromium
command: |
cd omega-target-chromium-extension
grunt release
dest_file="packages/SwitchyOmega_${FULL_VER}_Chromium_UNSIGNED.zip"
mv release.zip "$dest_file"
cd ..
- run: (cd omega-target-chromium-extension && web-ext -s build lint)
- run:
name: Build unsigned ZIP package for Firefox
command: |
cd omega-target-chromium-extension
web-ext -s build build
dest_file="packages/SwitchyOmega_${FULL_VER}_Firefox_UNSIGNED.xpi"
mv web-ext-artifacts/*.zip "$dest_file"
cd ..
- store_artifacts:
path: omega-target-chromium-extension/packages
destination: packages
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
<!-- BEFORE YOU START / 请先读我
SwitchyOmega is an open source project for proxy configuration. We cannot help
you troubleshoot any proxy servers, proxy server software, or your network.
We do not know how to make SwitchyOmega work with Software X or Company Y's Network.
Please contact your network administrator or read the server manual.
Please read the FAQ first: https://github.com/FelisCatus/SwitchyOmega/wiki/FAQ
And then search the issue list: https://github.com/FelisCatus/SwitchyOmega/issues
Then, feel free to delete this whole section and move on.
----
SwitchyOmega 是一个开源项目,用于代理设置。SwitchyOmega 不是翻墙软件。我们无法
帮您分析代理服务器、代理软件、您所在地点的网络问题等。我们不知道怎样才能让
SwitchyOmega 和某某软件(例如翻墙软件)一起工作,也不知道某公司、某地区的网络
应该怎么设置代理。这些问题请联系您的网络管理员或者阅读代理服务器文档。
(这里只进行 SwitchyOmega 项目开发、功能、故障有关的讨论,不是论坛或者问答社区。)
请先阅读常见问题: https://github.com/FelisCatus/SwitchyOmega/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
然后再搜索下现有的 Issue 列表: https://github.com/FelisCatus/SwitchyOmega/issues
CLEAR ABOVE AFTER READ / 阅读后可删除以上内容 -->
### SwitchyOmega version / SwitchyOmega 版本
### Browser version & OS version / 浏览器名称、版本及操作系统版本
### Problem description / 问题描述
(Please provide as much detail as possible. We recommend the following format.)
(请尽可能多提供一些细节。我们推荐使用下面的格式。)
#### Steps to reproduce issue / 重现错误所需步骤
(What did you do? / 你做了什么?)
1.
2.
3.
#### Expected behavior / 期望发生的情况
#### Actual (or suggested) behavior / 实际发生的情况(或建议修改后的行为)
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
### What does this PR do?
- [ ] Bug fix
- [ ] Improvement
- [ ] New feature
(Note: Translations and typo fixes should be done on https://hosted.weblate.org/projects/switchyomega/ instead of PR.)
Please explain the changes in details here...
#### Compatibility
Is this PR compatible with old versions? Can users simply upgrade the extension?
Please describe any possible breaking changes (or surprising UX differences).
#### Screenshots (if applicable)
---
After creating the PR:
- Please make sure the CircleCI test passes. Feel free to add more commits for
bug or style fixes.
- Any merge conflicts should be fixed on *your* side. Prefer rebasing to merging.
- Allow some time for project maintainers to review and merge the change.
- New features & behavior changes are subject to discussion. Please understand
that project maintainers may reject new features, or request changes.
================================================
FILE: .gitignore
================================================
node_modules
bower_components
================================================
FILE: .tern-project
================================================
{
"libs": [
"chai"
],
"plugins": {
"node": {},
"coffee": {}
}
}
================================================
FILE: AUTHORS
================================================
# SwitchyOmega authors:
FelisCatus <catusx@gmail.com>
# SwitchyOmega translators:
Filip <filip@havlin.cz>
Michal Čihař <michal@cihar.com>
masoud Rahmani <mrem71@gmail.com>
# SwitchyOmega includes or links to (unchanged):
# * jQuery UI (custom build)
# => omega-web/lib/jquery-ui-*.js
# => Copyright 2014 jQuery Foundation and other contributors; Licensed MIT
# * Many npm packages and bower packages
# => **/node_modules, **/bower_components
# => Please refer to their project homepages or npm package pages for the
# copyright and license information of each package.
================================================
FILE: COPYING
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
================================================
FILE: README.md
================================================
SwitchyOmega
============
Manage and switch between multiple proxies quickly & easily.
[](https://hosted.weblate.org/engage/switchyomega/?utm_source=widget)
Chromium Extension
------------------
The project is available as a Chromium Extension.
You can try it on [Chrome Web Store](https://chrome.google.com/webstore/detail/padekgcemlokbadohgkifijomclgjgif),
or grab a packaged extension file (CRX) for offline installation on the [Releases page](https://github.com/FelisCatus/SwitchyOmega/releases).
Please [report issues on the issue tracker.](https://github.com/FelisCatus/SwitchyOmega/issues)
Firefox Addon (Experimental)
----------------------------
There is also an experimental WebExtension port, which allows installing in
**Firefox Nightly Version >= 56**.
**Since the WebExtensions API is still under heavy development on Mozilla's side,
we strongly recommended using the Nightly channel (>= 56.0) and update frequently.**
The Developer Edition and Beta channels will not receive fixes as often and
therefore unsupported by SwitchyOmega. Some users report that it works with the
Firefox Developer Edition (>= 55) as well, but we strongly advise against doing
so. It won't work at all in Firefox 54 Stable.
You can try it on [Mozilla Add-ons](https://addons.mozilla.org/en-US/firefox/addon/switchyomega/),
or grab a packaged extension file (XPI) for offline installation on the [Releases page](https://github.com/FelisCatus/SwitchyOmega/releases).
Please make sure that you are using the latest Nightly build before you
[report issues](https://github.com/FelisCatus/SwitchyOmega/issues).
Build number AND build date should be mentioned somewhere in the issue.
NOTE: PAC Profiles DO NOT work on Firefox due to AMO review policies. We will see what we can do.
Development status
------------------
## PAC generator
This project contains a PAC generating module called `omega-pac`, which handles
the profiles model and compile profiles into PAC scripts. This module is standalone
and can be published to npm when the documentation is ready.
## Options manager
The folder `omega-target` contains browser-independent logic for managing the
options and applying profiles. Every public method is well documented in the comments.
Functions related to browser are not included, and shall be implemented in subclasses
of the `omega-target` classes.
`omega-web` is a web-based configuration interface for various options and profiles.
The interface works great with `omega-target` as the back-end.
`omega-web` alone is incomplete and requires a file named `omega_target_web.js`
containing an angular module `omegaTarget`. The module contains browser-dependent
code to communicate with `omega-target` back-end, and other code retrieving
browser-related state and information.
See the `omega-target-chromium-extension/omega_target_web.coffee` file for an
example of such module.
## Targets
The `omega-target-*` folders should contain environment-dependent code such as
browser API calls.
Each target folder should contain an extended `OmegaTarget` object, which
contains subclasses of the abstract base classes like `Options`. The classes
contains implementation of the abstract methods, and can override other methods
at will.
A target can copy the files in `omega-web` into its build to provide a web-based
configuration interface. If so, the target must provide the `omega_target_web.js`
file as described in the Options manager section.
Additionally, each target can contain other files and resources required for the
target, such as background pages and extension manifests.
For now, only one target has been implemented: The WebExtension target.
This target allows the project to be used as a Chromium extension in most
Chromium-based browsers and also as a Firefox Addon as mentioned above.
## Translation
Translation is hosted on Weblate. If you want to help improve the translated
text or start translation for your language, please follow the link of the picture
below.
本项目翻译由Weblate托管。如果您希望帮助改进翻译,或将本项目翻译成一种新的语言,请
点击下方图片链接进入翻译。
[](https://hosted.weblate.org/engage/switchyomega/?utm_source=widget)
## Building the project
SwitchyOmega has migrated to use npm and grunt for building. Please note that
npm 2.x is required for this project.
To build the project:
# Install node and npm first (make sure npm --version > 2.0), then:
sudo npm install -g grunt-cli@1.2.0 bower
# In the project folder:
cd omega-build
npm run deps # This runs npm install in every module.
npm run dev # This runs npm link to aid local development.
# Note: the previous command may require sudo in some environments.
# The modules are now working. We can build now:
grunt
# After building, a folder will be generated:
cd .. # Return to project root.
ls omega-chromium-extension/build/
# The folder above can be loaded as an unpacked extension in Chromium now.
To enable `grunt watch`, run `grunt watch` once in the `omega-build` directory.
This will effectively run `grunt watch` in every module in this project.
License
-------

SwitchyOmega is licensed under [GNU General Public License](https://www.gnu.org/licenses/gpl.html) Version 3 or later.
SwitchyOmega is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SwitchyOmega is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SwitchyOmega. If not, see <http://www.gnu.org/licenses/>.
Notice
------
SwitchyOmega currently does not have a dedicated project homepage. `switchyomega.com` and similar webites are NOT affiliated with the SwitchyOmega project in any way, nor are they maintained by SwitchyOmega project members. Please refer to this Github repository and wiki for official information.
SwitchyOmega is not cooperating with any proxy providers, VPN providers or ISPs at the moment. No advertisement is displayed in SwitchyOmega project or software. Proxy providers are welcome to recommend SwitchyOmega as part of the solution in tutorials, but it must be made clear that SwitchyOmega is an independent project, is not affiliated with the provider and therefore cannot provide any support on network connections or proxy technology.
重要声明
--------
SwitchyOmega 目前没有专门的项目主页。 `switchyomega.com` 等网站与 SwitchyOmega 项目并无任何关联,也并非由 SwitchyOmega 项目成员维护。一切信息请以 Github 上的项目和 wiki 为准。
SwitchyOmega 目前未与任何代理提供商、VPN提供商或 ISP 达成任何合作协议,项目或软件中不包含任何此类广告。欢迎代理提供商在教程或说明中推荐 SwitchyOmega ,但请明确说明此软件是独立项目,与代理提供商无关,且不提供任何关于网络连接或代理技术的支持。
================================================
FILE: omega-build/Gruntfile.coffee
================================================
module.exports = (grunt) ->
submodules = ['omega-pac', 'omega-target', 'omega-web', 'omega-target-*']
hubConfig =
all:
options:
concurrent: Infinity
src: "../*/Gruntfile.*"
for module in submodules
hubConfig[module] =
src: "../#{module}/Gruntfile.*"
hubAll = (task) -> "hub:#{module}:#{task}" for module in submodules
grunt.initConfig {
hub: hubConfig
}
grunt.loadNpmTasks 'grunt-hub'
grunt.registerTask 'default', hubAll('default')
grunt.registerTask 'test', hubAll('test')
grunt.registerTask 'watch', ['hub:all:watch']
================================================
FILE: omega-build/package.json
================================================
{
"name": "omega-build",
"version": "0.0.1",
"private": true,
"devDependencies": {
"grunt": "~0.4.1",
"grunt-hub": "^0.7.0"
},
"scripts": {
"deps": "npm install && (cd ../omega-pac && npm install) && (cd ../omega-target && npm install) && (cd ../omega-web && npm install && bower install) && (cd ../omega-target-chromium-extension/ && npm install)",
"dev": "(cd ../omega-pac && npm run dev) && (cd ../omega-target && npm run dev) && (cd ../omega-web && npm run dev) && (cd ../omega-target-chromium-extension/ && npm run dev)"
}
}
================================================
FILE: omega-locales/ach/LC_MESSAGES/omega-web.po
================================================
msgid ""
msgstr ""
"Project-Id-Version: SwitchyOmega 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 10:29+0000\n"
"PO-Revision-Date: 2015-02-13 10:29+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ach\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: Weblate 2.2-dev\n"
msgid "appNameShort"
msgstr "SwitchyOmega"
msgid "manifest_app_name"
msgstr "Proxy SwitchyOmega"
msgid "manifest_app_description"
msgstr "Manage and switch between multiple proxies quickly & easily."
msgid "manifest_icon_default_title"
msgstr "Loading…"
msgid "upgrade_profile_auto"
msgstr "Auto Switch"
msgid "profile_direct"
msgstr "[Direct]"
msgid "profile_system"
msgstr "[System Proxy]"
msgid "condition_HostWildcardCondition"
msgstr "Host wildcard"
msgid "condition_help_HostWildcardCondition"
msgstr ""
"Matches hosts (domain names) by wildcard.<br><b>The asterisk <code>*</code></"
"b> matches zero or more characters.<br><b>The question mark <code>?</code></"
"b> matches exactly one character.<br><br>Note that rules beginning with "
"<code>*.</code> are specially treated only in Host wildcard conditions."
"<br>Example: <code>*.example.com</code> will match www.example.com <b>AND "
"example.com as well.</b><br>To match subdomains <b>only</b>, use <b>two</b> "
"asterisks like <code>**.example.com</code>."
msgid "condition_HostRegexCondition"
msgstr "Host regex"
msgid "condition_help_HostRegexCondition"
msgstr ""
"Like Host wildcard condition, but matches hosts (domain names) by <a "
"href='https://www.google.com/search?q=regular%20expression'>regular "
"expression</a>.<br>Regular expressions can be hard to construct (and read)."
"<br>It is recommended to use wildcards for most cases and only use regex for "
"conditions that cannot be achieved by any other condition type."
msgid "condition_HostLevelsCondition"
msgstr "Host levels"
msgid "condition_help_HostLevelsCondition"
msgstr ""
"Matches the request if and only if the host level in within the given range."
"<br>Host level is defined as the <b>number of dot-separated segments</b> of "
"the host (domain name).<br>Example: <code>www.example.com</code> is with a "
"host level of 3, while <code>internal</code> is of host level 1."
msgid "condition_IpCondition"
msgstr "IP Literals"
msgid "condition_help_IpCondition"
msgstr ""
"Matches the request if and only if the host is a <b>literal</b> IP address and"
" in the subnet as specified by <a href='"
"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation'>"
"CIDR notation</a>.<br>For example, given the rule <code>127.0.0.1/16</code>, "
"it matches all IP addresses like <code>127.0.*.*</code>.<br>"
"So <code>127.0.0.1</code> matches while <code>127.1.0.0</code> does not. "
"Host names like <code>localhost</code> will never match because they are "
"<b>not</b> IP literals."
msgid "condition_UrlWildcardCondition"
msgstr "URL wildcard"
msgid "condition_help_UrlWildcardCondition"
msgstr ""
"Matches URLs of the request by wildcard.<br>See the Host wildcard section "
"above for a quick wildcard reference.<br>Note that URL wildcards are not "
"specially treated (no subdomain magic as in Host wildcard).<br>So <code>*://"
"*.example.com/*</code> matches http://www.example.com/ but <b>does not</b> "
"match http://example.com/."
msgid "condition_UrlRegexCondition"
msgstr "URL regex"
msgid "condition_help_UrlRegexCondition"
msgstr ""
"Matches URL by extremely powerful <a href='https://www.google.com/search?"
"q=regular%20expression'>regular expression</a>.<br>However, regular "
"expressions can be hard to construct (and read).<br>It is recommended to use "
"wildcards for most cases and only use regex for conditions that cannot be "
"achieved by any other condition type."
msgid "condition_KeywordCondition"
msgstr "Keyword"
msgid "condition_help_KeywordCondition"
msgstr ""
"A keyword condition matches if the URL protocol is HTTP, and the pattern is "
"an exact sub-string of the URL.<br>It behaves like the URL wildcard pattern "
"<code>http://*<b>pattern</b>*</code>, where <b>pattern</b> is the keyword "
"pattern.<br>Keyword conditions are useful if you want to bypass a firewall "
"blocking some keywords in the URL, by requesting such URLs through a proxy."
msgid "condition_FalseCondition"
msgstr "(Disabled)"
msgid "condition_details_FalseCondition"
msgstr "(Condition ignored when matching)"
msgid "condition_help_FalseCondition"
msgstr ""
"You can disable a condition by setting its type to <code>(Disabled)</code>. "
"A Disabled condition act as if it does not exist.<br>This feature can be "
"used to disable conditions temporarily.<br>Disabled conditions still hold "
"the previous information (like patterns) and can be re-enabled by setting "
"the condition type back to the previous type."
msgid "condition_TimeCondition"
msgstr "Current Time"
msgid "condition_help_TimeCondition"
msgstr ""
"Matches if the current local time is in the range defined by "
"<b>starting hour</b> and <b>ending hour</b>, both inclusive.<br>"
"Local time, starting hour and ending hour are all calculated in "
"<b>24-hour</b> format (from <b>0 to 23</b>). <br>"
"The calculation happens roughly at the moment when the request is sent."
msgid "condition_WeekdayCondition"
msgstr "Day of the Week"
msgid "condition_help_WeekdayCondition"
msgstr ""
"Matches if the <b>current day of week</b> is selected in condition details. "
"Day is calculated according to local timezone.<br>"
"The request and its URL don't matter to this condition. "
"The result is solely based on the day of the week when the request is sent."
msgid "condition_alert_fullUrlLimitation"
msgstr ""
"Full URL matching is no longer possible for <code>https://</code> "
"URLs as of Chrome 52. "
"<a href='https://github.com/FelisCatus/SwitchyOmega/wiki/Chromium-Full-URL-Limitation'>"
"Learn more...</a>"
msgid "condition_alert_fullUrlLimitationLink"
msgstr "https://github.com/FelisCatus/SwitchyOmega/wiki/Chromium-Full-URL-Limitation"
msgid "condition_group_default"
msgstr " "
msgid "condition_group_host"
msgstr "Host"
msgid "condition_group_url"
msgstr "Url"
msgid "condition_group_special"
msgstr "Special"
msgid "ruleListFormat_Switchy"
msgstr "Switchy"
msgid "ruleListFormat_AutoProxy"
msgstr "AutoProxy"
msgid "ruleList_usageUrl"
msgstr "https://github.com/FelisCatus/SwitchyOmega/wiki/RuleListUsage"
msgid "ruleList_error_resultNotEnabled"
msgstr "Missing '@with result' directive!"
msgid "ruleList_error_unknownProfile"
msgstr "Unknown profile: $PROFILE$"
msgid "ruleList_error_missingResultProfile"
msgstr "Missing result profile name at Line $LNO$: $SOURCE$"
msgid "ruleList_error_invalidRule"
msgstr "Invalid rule at Line $LNO$: $SOURCE$"
msgid "ruleList_error_noDefaultRule"
msgstr "Missing default rule with catch-all '*' condition!"
msgid "dialog_close"
msgstr "Close"
msgid "dialog_save"
msgstr "Save changes"
msgid "dialog_ok"
msgstr "OK"
msgid "dialog_cancel"
msgstr "Cancel"
msgid "inputClear_clear"
msgstr "Clear"
msgid "inputClear_restore"
msgstr "Restore"
msgid "options_title"
msgstr "SwitchyOmega Options"
msgid "options_experimental_badge"
msgstr "α"
msgid "options_navHeader_setting"
msgstr "Settings"
msgid "options_navHeader_profiles"
msgstr "Profiles"
msgid "options_navHeader_actions"
msgstr "Actions"
msgid "options_tab_ui"
msgstr "Interface"
msgid "options_tab_general"
msgstr "General"
msgid "options_tab_importExport"
msgstr "Import/Export"
msgid "options_newProfile"
msgstr "New profile…"
msgid "options_apply"
msgstr "Apply changes"
msgid "options_discard"
msgstr "Discard changes"
msgid "options_reset"
msgstr "Reset options"
msgid "options_group_miscOptions"
msgstr "Misc Options"
msgid "options_confirmDeletion"
msgstr "Confirm on condition deletion."
msgid "options_refreshOnProfileChange"
msgstr "Refresh current tab on profile change."
msgid "options_showInspectMenu"
msgstr "Allow inspecting proxy used for page elements via context menu."
msgid "options_addConditionsToBottom"
msgstr "Put new conditions added using the popup to the bottom of the list."
msgid "options_group_keyboardShortcut"
msgstr "Keyboard Shortcut"
msgid "options_menuShortcutHelp"
msgstr ""
"Pressing the shortcut will open the switch popup menu. (Defaults to Alt+Shift"
"+O)."
msgid "options_menuShortcutMore"
msgstr ""
"The items in the popup menu can also be accessed using the keyboard. Press ? "
"(or /) in the menu to learn more."
msgid "options_menuShortcutConfigure"
msgstr "Configure shortcut"
msgid "options_group_switchOptions"
msgstr "Switch Options"
msgid "options_startupProfile"
msgstr "Startup Profile"
msgid "options_startupProfile_none"
msgstr "(Current profile)"
msgid "options_showConditionTypesAdvanced"
msgstr "Show advanced condition types"
msgid "options_showConditionTypesAdvancedHelp"
msgstr ""
"Unlocks new types of advanced but complicated switch conditions. For most "
"senarios, the basic condition types should be enough, so this option is not "
"recommended."
msgid "options_quickSwitch"
msgstr "Quick Switch"
msgid "options_cycledProfiles"
msgstr "Cycled Profiles"
msgid "options_cycledProfilesHelp"
msgstr ""
"When you click on the icon (or use the shortcut above), the following "
"profiles will be applied in their order."
msgid "options_cycledProfilesTooFew"
msgstr ""
"You need to select at least 2 profiles to enable this function! You can drag "
"them from the box below."
msgid "options_notCycledProfiles"
msgstr "Not Cycled Profiles"
msgid "options_group_proxyChanges"
msgstr "Proxy Changes"
msgid "options_revertProxyChanges"
msgstr "Revert proxy changes done by other apps."
msgid "options_group_conflicts"
msgstr "Conflicts"
msgid "options_conflicts_introduction"
msgstr ""
"Sometimes, other apps will also try to control the proxy settings, resulting "
"in conflicts. Note that ad blockers and other extensions may also use proxy "
"settings under the hood. Such conflicts cannot be avoided due to how the "
"browser works."
msgid "options_conflicts_lowerPriority"
msgstr ""
"A red badge like this on the SwitchyOmega icon indicates that another app has "
"higher priority so SwitchyOmega cannot control the settings. Please try to "
"uninstall SwitchyOmega and reinstall, which should raise SwitchyOmega's "
"priority. If you still see conflicts after reinstallation, please consider "
"removing the other app causing the conflict."
msgid "options_conflicts_higherPriority"
msgstr ""
"If SwitchyOmega has higher priority, you can give the control back to other "
"apps or system settings by selecting $SYSTEMPROFILE$ in the popup menu."
msgid "options_showExternalProfile"
msgstr "Show popup menu item to import proxy settings from other apps."
msgid "options_showExternalProfileHelp"
msgstr ""
"When $SYSTEMPROFILE$ is selected, you can import the effective proxy settings "
"from other apps by selecting $EXTERNALPROFILE$ on the popup menu. "
"The settings will be imported as a profile using the name you provide. "
"Please note that the imported profile is a snapshot and will not reflect "
"any changes from the source app thereafter."
msgid "options_group_networkRequests"
msgstr "Network Requests"
msgid "options_monitorWebRequests"
msgstr "Show count of failed web requests for resources in the current tab."
msgid "options_monitorWebRequestsHelp"
msgstr ""
"A yellow badge will be displayed on the icon if some resources fail to load,"
"<br>and you can set the profile for such resources conveniently via the "
"popup menu."
msgid "options_downloadOptions"
msgstr "Download Options"
msgid "options_downloadOptionsHelp"
msgstr "Configure the update frequency of online rule lists and PAC scripts."
msgid "options_downloadInterval"
msgstr "Download Interval"
msgid "options_downloadInterval_15"
msgstr "15 Minutes"
msgid "options_downloadInterval_60"
msgstr "1 Hour"
msgid "options_downloadInterval_180"
msgstr "3 Hours"
msgid "options_downloadInterval_360"
msgstr "6 Hours"
msgid "options_downloadInterval_720"
msgstr "12 Hours"
msgid "options_downloadInterval_1440"
msgstr "Every day"
msgid "options_downloadInterval_never"
msgstr "Never"
msgid "options_group_importExportProfile"
msgstr "Profile"
msgid "options_exportPacFile"
msgstr "Export as PAC File"
msgid "options_exportPacFileHelp"
msgstr ""
"Export the current profile as a PAC file, so you can use it in other "
"browsers."
msgid "options_exportProfileHelp"
msgstr "To export a profile, use the top-right action bar on the profile page."
msgid "options_exportLegacyRuleList"
msgstr ""
"Export rule lists using Proxy Switchy!/SwitchyPlus/SwitchySharp compatible "
"format when possible."
msgid "options_exportLegacyRuleListHelp"
msgstr ""
"Enable this option only if you publish rule lists for users of those "
"projects.<br>Please consider advising your audience to upgrade to "
"SwitchyOmega for the improvements."
msgid "options_group_importExportSettings"
msgstr "Settings"
msgid "options_makeBackup"
msgstr "Make backup"
msgid "options_makeBackupHelp"
msgstr ""
"Make a full backup of your options (including profiles and all other "
"options)."
msgid "options_restoreLocal"
msgstr "Restore from file"
msgid "options_restoreLocalHelp"
msgstr "Restore your SwitchyOmega options from a local file."
msgid "options_restoreOnline"
msgstr "Restore from online"
msgid "options_restoreOnlinePlaceholder"
msgstr "Options file URL (e.g. 'http://example.com/switchy.bak')"
msgid "options_restoreOnlineSubmit"
msgstr "Restore"
msgid "options_group_syncing"
msgstr "Syncing (Experimental)"
msgid "options_syncEnable"
msgstr "Enable Syncing"
msgid "options_syncEnableForce"
msgstr "Download from Syncing"
msgid "options_syncDisable"
msgstr "Disable syncing"
msgid "options_syncReset"
msgstr "Clear remote copy"
msgid "options_syncPristineHelp"
msgstr ""
"You can now automatically synchronize your settings and profiles across all "
"your desktop devices running Chrome browser."
msgid "options_syncSyncAlert"
msgstr "Your options are automatically synchronized with your other devices."
msgid "options_syncSyncHelp"
msgstr ""
"Please note that you must sign in to Chrome on each of your devices "
"(including this one) for the syncing to actually work. <br> You may check "
"this section on other devices to ensure that it is working."
msgid "options_syncConflictAlert"
msgstr ""
"You have uploaded a copy of your options on another device via syncing."
msgid "options_syncConflictHelp"
msgstr ""
"You may download the remote copy to your device if you like. <br>However, "
"doing so would <b>overwrite your existing settings and profiles</b> on this "
"device."
msgid "options_syncUnsupportedHelp"
msgstr ""
"Options syncing is not supported on your platform or browser. For now, only "
"Chrome browser on desktop is supported."
msgid "options_profileSyncDisabled"
msgstr "Syncing is disabled for this profile."
msgid "options_profileSyncDisabled_quotaPerItem"
msgstr "Syncing is disabled for this profile for using too much storage space."
msgid "options_profileTabPrefix"
msgstr "Profile :: "
msgid "options_renameProfile"
msgstr "Rename"
msgid "options_deleteProfile"
msgstr "Delete"
msgid "options_profileExportRuleList"
msgstr "Publish rule list"
msgid "options_profileExportRuleListHelp"
msgstr "Export Switch Rules as text format for publishing."
msgid "options_profileExportPac"
msgstr "Export PAC"
msgid "options_profileUnsupported"
msgstr "Unsupported profile type $TYPE$!"
msgid "options_profileUnsupportedHelp"
msgstr "The options could be broken, or from a newer version of this program."
msgid "options_profileEditSource"
msgstr "Edit source code"
msgid "options_profileEditSourceHelp"
msgstr "Show help about the source code format"
msgid "options_profileEditSourceHelpUrl"
msgstr ""
"https://github.com/FelisCatus/SwitchyOmega/wiki/SwitchyOmega-conditions-"
"format#result-profile"
msgid "options_group_proxyServers"
msgstr "Proxy servers"
msgid "options_proxy_scheme"
msgstr "Scheme"
msgid "options_proxy_protocol"
msgstr "Protocol"
msgid "options_proxy_server"
msgstr "Server"
msgid "options_proxy_port"
msgstr "Port"
msgid "options_proxy_auth"
msgstr "Authentication"
msgid "options_proxy_authNotSupported"
msgstr "Your browser DOES NOT support $PROTOCOLDISP$ proxy authentication! "
"Please do not report this issue to SwitchyOmega. Contact the support for "
"your browser instead."
msgid "options_proxy_authAllWarningPac"
msgstr ""
"Warning: The username/password may be sent to unexpected servers returned by "
"the PAC script."
msgid "options_proxy_authAllWarningPacUrl"
msgstr ""
"Please make sure that you trust the script provided via the URL above before "
"entering sensitive credentials."
msgid "options_proxy_authAllWarningPacScript"
msgstr ""
"Please make sure that you trust the script below before providing sensitive "
"credentials."
msgid "options_proxy_authReferencedWarning"
msgstr ""
"Additionally, using this profile in other profiles (e.g. Switch Profile) may "
"cause the username/password to be sent to proxy servers configured in other "
"profiles."
msgid "options_scheme_default"
msgstr "(default)"
msgid "options_protocol_direct"
msgstr "DIRECT"
msgid "options_protocol_useDefault"
msgstr "(use default)"
msgid "options_proxy_single"
msgstr "Use the proxy above for all protocols."
msgid "options_proxy_expand"
msgstr "Show Advanced"
msgid "options_group_bypassList"
msgstr "Bypass List"
msgid "options_bypassListHelp"
msgstr ""
"Servers for which you do not want to use any proxy: (One server on each "
"line.)"
msgid "options_bypassListHelpLinkText"
msgstr "(Wildcards and more available…)"
msgid "options_group_pacUrl"
msgstr "PAC URL"
msgid "options_pacUrlHelp"
msgstr ""
"The PAC script will be updated from this URL. If it is left blank, the "
"following script will be used directly instead."
msgid "options_pacUrlFile"
msgstr ""
"PAC profiles with file: URLs can only be applied directly. They cannot be "
"used as result profiles because local files cannot be accessed due to "
"browser limitation."
msgid "options_pacUrlFileDisabled"
msgstr ""
"Therefore, you cannot use local PAC file for this profile. You can create a "
"new PAC profile for that if you really want that."
msgid "options_group_pacScript"
msgstr "PAC Script"
msgid "options_pacScriptLastUpdate"
msgstr "PAC script downloaded at $TIME$:"
msgid "options_pacScriptObsolete"
msgstr ""
"PAC script is obsolete due to URL change. Press the download button above to "
"update."
msgid "options_group_virtualProfile"
msgstr "Virtual Profile"
msgid "options_virtualProfileTarget"
msgstr "Target"
msgid "options_virtualProfileTargetHelp"
msgstr ""
"When this profile is applied, it acts exactly the same as the profile "
"selected below."
msgid "options_group_virtualProfileReplace"
msgstr "Migrate to Virtual Profile"
msgid "options_virtualProfileReplace"
msgstr "Replace target profile"
msgid "options_virtualProfileReplaceHelp"
msgstr ""
"You can migrate existing options to use this virtual profile instead of "
"$PROFILE$. Doing so will update all existing rules concerning $PROFILE$ and "
"point them to this virtual profile, so that their result profile can be "
"controlled here."
msgid "options_group_ruleListConfig"
msgstr "Rule List Config"
msgid "options_ruleListFormat"
msgstr "Rule List Format"
msgid "options_group_ruleListResult"
msgstr "Rule list result profiles"
msgid "options_ruleListMatchProfile"
msgstr "Match profile"
msgid "options_ruleListDefaultProfile"
msgstr "Default profile"
msgid "options_group_ruleListUrl"
msgstr "Rule List URL"
msgid "options_ruleListUrlHelp"
msgstr ""
"The rule list will be updated from this URL. If it is left blank, the "
"following text will be parsed instead."
msgid "options_group_ruleListText"
msgstr "Rule List Text"
msgid "options_ruleListLastUpdate"
msgstr "Rule list downloaded at $TIME$:"
msgid "options_ruleListObsolete"
msgstr ""
"Rule list is obsolete due to URL change. Press the download button above to "
"update."
msgid "options_group_switchRules"
msgstr "Switch rules"
msgid "options_sort"
msgstr "Sort"
msgid "options_conditionType"
msgstr "Condition Type"
msgid "options_showConditionTypeHelp"
msgstr "Show help"
msgid "options_conditionDetails"
msgstr "Condition Details"
msgid "options_resultProfile"
msgstr "Profile"
msgid "options_conditionActions"
msgstr "Actions"
msgid "options_addCondition"
msgstr "Add condition"
msgid "options_cloneRule"
msgstr "Clone"
msgid "options_ruleNote"
msgstr "Note"
msgid "options_switchAttachedProfileInCondition"
msgstr "Rule list rules"
msgid "options_switchAttachedProfileInConditionDetails"
msgstr "(Any request matching the rule list below)"
msgid "options_switchAttachedProfileInConditionDisabled"
msgstr "(Rule list rules are DISABLED)"
msgid "options_switchDefaultProfile"
msgstr "Default"
msgid "options_hostLevelsBetween"
msgstr "≤ host levels ≤"
msgid "options_hourBetween"
msgstr "≤ current hour ≤"
msgid "options_weekDayShort_0"
msgstr "Su"
msgid "options_weekDayShort_1"
msgstr "Mo"
msgid "options_weekDayShort_2"
msgstr "Tu"
msgid "options_weekDayShort_3"
msgstr "We"
msgid "options_weekDayShort_4"
msgstr "Th"
msgid "options_weekDayShort_5"
msgstr "Fr"
msgid "options_weekDayShort_6"
msgstr "Sa"
msgid "options_group_conditionHelp"
msgstr "About Condition Types"
msgid "options_group_attachProfile"
msgstr "Import online rule lists"
msgid "options_attachProfile"
msgstr "Add a rule list"
msgid "options_attachProfileHelp"
msgstr ""
"You can reuse an online collection of conditions published by others by "
"adding a rule list."
msgid "options_modalHeader_welcome"
msgstr "Welcome to SwitchyOmega"
msgid "options_welcomeNormal"
msgstr ""
"You have successfully installed SwitchyOmega, the ultimate proxy switcher."
msgid "options_welcomeNormalGuide"
msgstr ""
"Please tell SwitchyOmega about your proxies through the options page. Let's "
"see how."
msgid "options_welcomeUpgrade"
msgstr ""
"You have successfully upgraded to SwitchyOmega. Don't panic, your existing "
"options are fully preserved."
msgid "options_welcomeUpgradeGuide"
msgstr "Now let's go through a quick guide of the new options page."
msgid "options_guideNext"
msgstr "Next"
msgid "options_guideDone"
msgstr "Done"
msgid "options_guideSkip"
msgstr "Skip guide"
msgid "options_modalHeader_applyOptions"
msgstr "Apply Options"
msgid "options_optionsNotSaved"
msgstr ""
"Your modifications to the options have not been saved and will be lost if "
"you proceed!"
msgid "options_applyOptionsRequired"
msgstr "Your changes to the options must be applied before you proceed."
msgid "options_applyOptionsConfirm"
msgstr "Do you want to save and apply the options?"
msgid "options_modalHeader_renameProfile"
msgstr "Rename Profile"
msgid "options_renameProfileName"
msgstr "New profile name"
msgid "options_profileNameConflict"
msgstr "A profile with this name already exists."
msgid "options_profileNameReserved"
msgstr "Profile names beginning with double-underscore are reserved."
msgid "options_profileNameHidden"
msgstr ""
"Profiles with names starting with underscore will be hidden on the popup "
"menu. However, they can still be used in places like switch profile results."
msgid "options_modalHeader_replaceProfile"
msgstr "Replace Profile"
msgid "options_replaceProfile"
msgstr "Replace Profile"
msgid "options_replaceProfileConfirm"
msgstr "Do you really want to replace $FromProfile$ with $ToProfile$?"
msgid "options_replaceProfileHelp"
msgstr ""
"If you proceed, all rules pointing to $FromProfile$ will be updated to use "
"$ToProfile$ instead. Other options, such as startup profile and Quick Switch "
"will also be modified as appropriate. However, the two profile themselves "
"will NOT be changed or deleted."
msgid "options_replaceProfileSuccess"
msgstr "Options updated."
msgid "options_modalHeader_deleteProfile"
msgstr "Delete Profile"
msgid "options_deleteProfileConfirm"
msgstr "Do you really want to delete the following profile?"
msgid "options_modalHeader_cannotDeleteProfile"
msgstr "Unable to Delete Profile"
msgid "options_profileReferredBy"
msgstr ""
"This profile cannot be deleted because it is referred by the following "
"profiles:"
msgid "options_modifyReferringProfiles"
msgstr ""
"You must modify these profiles and make them stop referring to this profile "
"before you can delete it."
msgid "options_profileNameEmpty"
msgstr "The name of the profile must not be empty."
msgid "popup_title"
msgstr "SwitchyOmega Popup"
msgid "options_modalHeader_proxyAuth"
msgstr "Proxy Authentication"
msgid "options_proxyAuthUsername"
msgstr "Username"
msgid "options_proxyAuthPassword"
msgstr "Password"
msgid "options_proxyAuthShowPassword"
msgstr "Show password"
msgid "options_proxyAuthHidePassword"
msgstr "Hide password"
msgid "options_proxyAuthNone"
msgstr "No Authentication"
msgid "options_modalHeader_deleteRule"
msgstr "Delete Rule"
msgid "options_deleteRuleConfirm"
msgstr "Do you really want to delete the following rule?"
msgid "options_deleteRule"
msgstr "Delete"
msgid "options_modalHeader_resetRules"
msgstr "Reset rules"
msgid "options_resetRulesConfirm"
msgstr ""
"Are you sure to set the result profile of ALL rules to the following profile?"
msgid "options_resetRules"
msgstr "Reset rules"
msgid "options_resetRules_help"
msgstr "Set profile for all rules"
msgid "options_modalHeader_deleteAttached"
msgstr "Remove Rule List"
msgid "options_deleteAttachedConfirm"
msgstr "Do you really want to remove the rule list from the current profile?"
msgid "options_ruleListLineCount"
msgstr "$COUNT$ line(s) of rules"
msgid "options_deleteAttached"
msgstr "Remove rule list"
msgid "options_modalHeader_newProfile"
msgstr "New Profile"
msgid "options_newProfileName"
msgstr "Profile name"
msgid "options_profileType"
msgstr "Please select the type of the profile:"
msgid "options_profileTypeFixedProfile"
msgstr "Proxy Profile"
msgid "options_profileDescFixedProfile"
msgstr "Tunneling traffic through proxy servers."
msgid "options_profileTypePacProfile"
msgstr "PAC Profile"
msgid "options_profileDescPacProfile"
msgstr "Choosing proxies using an online/local PAC script."
msgid "options_profileDescMorePacProfile"
msgstr ""
"You will only need this if you have a PAC script or a URL to it. Don't try "
"to create one unless you have knowledge about PAC."
msgid "options_profileTypeSwitchProfile"
msgstr "Switch Profile"
msgid "options_profileDescSwitchProfile"
msgstr ""
"Applying different profiles automatically on various conditions such as "
"domains or patterns.\n"
" You can also import rules published online for easier switching. (Replaces "
"AutoSwitch mode + Rule List.)"
msgid "options_profileTypeRuleListProfile"
msgstr "Rule List Profile"
msgid "options_profileDescRuleListProfile"
msgstr "Reusing an online collection of conditions published by others."
msgid "options_profileTypeVirtualProfile"
msgstr "Virtual Profile"
msgid "options_profileDescVirtualProfile"
msgstr ""
"A virtual profile can act as any of the other profiles on demand. It works "
"well with SwitchProfile, allowing you to change the result of multiple "
"conditions by one click."
msgid "options_createProfile"
msgstr "Create"
msgid "options_modalHeader_resetOptions"
msgstr "Reset Options"
msgid "options_resetOptionsConfirm"
msgstr ""
"Do you really want to reset the options? All profiles and settings will be "
"LOST!"
msgid "options_formInvalid"
msgstr "Please correct the errors in this page."
msgid "options_profileNotFound"
msgstr "Profile $PROFILE$ does not exist! The options may be corrupted."
msgid "options_resetSuccess"
msgstr "Options reset."
msgid "options_saveSuccess"
msgstr "Options saved."
msgid "options_importSuccess"
msgstr "Options imported."
msgid "options_importFormatError"
msgstr "Invalid backup file!"
msgid "options_importDownloadError"
msgstr "Error downloading backup file!"
msgid "options_profileDownloadSuccess"
msgstr "Successfully updated profile."
msgid "options_profileDownloadError"
msgstr "Error downloading profile data!"
msgid "options_profileDownloadError_NetworkError"
msgstr "A network error occurred when updating."
msgid "options_profileDownloadError_HttpError"
msgstr "An HTTP error ($STATUS$) occurred when updating."
msgid "options_profileDownloadError_HttpNotFoundError"
msgstr "The Profile URL was not found on the server. Please double-check."
msgid "options_profileDownloadError_HttpServerError"
msgstr "The remote server responded with error ($STATUS$) when updating."
msgid "options_profileDownloadError_ContentTypeRejectedError"
msgstr "The downloaded data is invalid! "
"You may open the Profile URL in your browser to inspect it."
msgid "options_downloadProfileNow"
msgstr "Download Profile Now"
msgid "options_guide_fixedProfileStep"
msgstr ""
"A <b>Proxy Profile</b> contains settings like server ip & port for proxy."
"<br>Profiles are the the basic configuration units in SwitchyOmega.<br>We "
"have already created an example profile for you. Try opening it."
msgid "options_guide_fixedServersStep"
msgstr ""
"You can fill in your proxy server and port here as you like.<br>SwitchyOmega "
"<b>does not come with any proxy servers</b>.<br>Please consult your network "
"provider or proxy software manual if you don't know what should be filled in "
"here."
msgid "options_guide_autoSwitchProfileStep"
msgstr ""
"You can tell SwitchyOmega to switch between proxies automatically through "
"the mighty <b>Switch Profile</b>.<br>However, its features cannot be covered "
"in this quick guide.<br>You can open this profile to unlock its power some "
"time later."
msgid "options_guide_addMoreProfilesStep"
msgstr ""
"Need more profiles? You can always add more <b>Proxy, Switch and other "
"profiles</b><br>for all your proxying needs.<br>Enjoy proxying!"
msgid "options_guide_conditionStep"
msgstr ""
"SwitchyOmega can apply different profiles to requests based on "
"<b>conditions</b>.<br> For example, the <b>Host wildcard</b> condition "
"allows you to set the profile for all URLs in a domain."
msgid "options_guide_conditionTypeStep"
msgstr ""
"You can use various condition types to match the host or full URL. <br> "
"Click on the question mark to open the type reference."
msgid "options_guide_conditionProfileStep"
msgstr ""
"SwitchyOmega applies the selected profile here to <b>any request matching "
"the condition.</b> <br> The special <b>\"[Direct]\" profile</b> will cause "
"the request to be sent without any proxy."
msgid "options_guide_switchDefaultStep"
msgstr ""
"If no condition applies to some request, the \"Default\" profile will be "
"used. <br>Conditions are always considered <b>from top to bottom</b> in "
"order.<br>You can change their order by dragging the sort icon."
msgid "options_guide_applySwitchProfileStep"
msgstr ""
"When you are done setting the switch profile, don't forget to <b>switch to "
"it in the popup menu.</b><br/> The icon will show you the <b>final result</"
"b> profile applied for the current tab. <br/> <b>Hovering</b> on the icon "
"will reveal a tooltip with details."
msgid "popup_externalProfile"
msgstr "(External Profile)"
msgid "popup_externalProfileName"
msgstr "profile name"
msgid "popup_proxyNotControllable_app"
msgstr ""
"The proxy settings are controlled by other app(s) or extension(s). Please "
"disable or uninstall the apps or extensions in conflict."
msgid "popup_proxyNotControllable_policy"
msgstr ""
"The proxy settings are overruled by policies. Please contact your "
"administrator."
msgid "popup_proxyNotControllable_unknown"
msgstr ""
"The proxy settings cannot be controlled. Please check your system and "
"browser settings."
msgid "popup_proxyNotControllable_disabled"
msgstr ""
"The proxy settings are disabled by explicit request from other app(s) or "
"extension(s)."
msgid "popup_proxyNotControllable_upgrade"
msgstr "Proxy settings are now controlled by a newer version of SwitchyOmega."
msgid "popup_proxyNotControllableDetails"
msgstr ""
"You cannot switch profiles with SwitchyOmega unless you fix the problem "
"above."
msgid "popup_proxyNotControllableDetails_upgrade"
msgstr ""
"You can't enable two (or more) versions of SwitchyOmega at the same time. "
"Please disable one of them."
msgid "popup_proxyNotControllableManage"
msgstr "Manage extensions"
msgid "popup_addConditionTo"
msgstr "Add condition to"
msgid "popup_addCondition"
msgstr "Add condition"
msgid "popup_showOptions"
msgstr "Options"
msgid "popup_reportIssues"
msgstr "Report issues"
msgid "popup_errorLog"
msgstr "Save error log"
msgid "popup_requestErrorCount"
msgstr "$COUNT$ failed resources"
msgid "popup_requestErrorHeading"
msgstr "Resources that failed to load"
msgid "popup_requestErrorWarning"
msgstr ""
"A few resources failed to load due to issues with your network, proxy server "
"or the webpage."
msgid "popup_requestErrorWarningHelp"
msgstr ""
"SwitchyOmega is just the reporter of these issues, not the cause of them."
msgid "popup_requestErrorAddCondition"
msgstr ""
"You can review the following domains and use proxy for them when appropriate."
msgid "popup_requestErrorCannotAddCondition"
msgstr ""
"You can add switch conditions for them only when using a Switch Profile."
msgid "popup_configureMonitorWebRequests"
msgstr "Configure Network Monitor"
msgid "options_resultProfileForSelectedDomains"
msgstr "Use this profile for all selected domains"
msgid "options_pac_profile_unsupported_moz"
msgstr "PAC Profiles WILL NOT work in Mozilla Firefox due to technical limitations!"
msgid "popup_issueTemplate"
msgstr ""
"\n"
"\n"
"\n"
"<!-- Please write your comment ABOVE this line. -->\n"
"SwitchyOmega $projectVersion$\n"
"$userAgent$"
msgid "browserAction_profileDetails_PacProfile"
msgstr "(PAC script)"
msgid "browserAction_profileDetails_SystemProfile"
msgstr "(controlled by other extensions or environment)"
msgid "browserAction_profileDetails_DirectProfile"
msgstr "(not using any proxy)"
msgid "browserAction_profileDetails_SwitchProfile"
msgstr "(switching based on conditions)"
msgid "browserAction_profileDetails_RuleListProfile"
msgstr "(switching based on rule list)"
msgid "browserAction_titleNormal"
msgstr "SwitchyOmega:: $PROFILE$"
msgid "browserAction_titleWithResult"
msgstr ""
"SwitchyOmega:: $1:PROFILE$\n"
"$3:DETAILS$"
msgid "browserAction_titleNewerOptions"
msgstr ""
"ERROR: A newer version of SwitchOmega is required to load the stored options."
msgid "browserAction_titleOptionError"
msgstr "ERROR: The stored options are corrupted. Click here to RESET OPTIONS."
msgid "browserAction_titleDownloadFail"
msgstr "Warning: Failed to download PAC scripts and/or rule lists."
msgid "browserAction_titleExternalProxy"
msgstr "Note: The proxy settings are currently controlled by other app(s)."
msgid "browserAction_titleInspect"
msgstr "[Inspect] $URL$"
msgid "browserAction_defaultRuleDetails"
msgstr "(default)"
msgid "browserAction_directResult"
msgstr "DIRECT"
msgid "browserAction_attachedPrefix"
msgstr "(RL) "
msgid "browserAction_tempRulePrefix"
msgstr "(TEMP) "
msgid "contextMenu_inspectPage"
msgstr "Inspect proxy used for this page"
msgid "contextMenu_inspectFrame"
msgstr "Inspect proxy used for this Frame"
msgid "contextMenu_inspectLink"
msgstr "Inspect proxy to be used if this Link is opened"
msgid "contextMenu_inspectElement"
msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
msgid "about_title"
msgstr "About"
msgid "about_app_description"
msgstr "A proxy configuration tool"
msgid "about_version"
msgstr "Version $VERSION$"
msgid "about_experimental_warning_moz"
msgstr "Mozilla Firefox support is highly experimental! If you encounter issues, please report using the buttons below."
msgid "about_disclaimer_networkService"
msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
msgid "about_disclaimer_privacy"
msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
" our <a href='https://github.com/FelisCatus/SwitchyOmega/wiki/Privacy#english'>privacy policy</a>."
msgid "about_help"
msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
"<a href='https://github.com/FelisCatus/SwitchyOmega/wiki/FAQ'>FAQ</a>."
msgid "about_copyright"
msgstr "Copyright 2012-2017 <a href='https://github.com/FelisCatus/SwitchyOmega/blob/master/AUTHORS'>The SwitchyOmega Authors</a>. All rights reserved."
msgid "about_credits"
msgstr "SwitchyOmega is made possible by the <a href='https://github.com/FelisCatus/SwitchyOmega'>SwitchyOmega</a> open source project and other <a href='https://github.com/FelisCatus/SwitchyOmega/blob/master/AUTHORS'>open source software</a>."
msgid "about_license"
msgstr "SwitchyOmega is <a href='https://www.gnu.org/philosophy/free-sw.en.html'>free software</a> licensed under <a href='https://www.gnu.org/licenses/gpl.html'>GNU General Public License</a> Version 3 or later."
================================================
FILE: omega-locales/cs/LC_MESSAGES/omega-web.po
================================================
msgid ""
msgstr ""
"Project-Id-Version: SwitchyOmega 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 10:29+0000\n"
"PO-Revision-Date: 2020-08-19 11:32+0000\n"
"Last-Translator: WXC <winexec@gmail.com>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/switchyomega/main/"
"cs/>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 4.2-dev\n"
msgid "appNameShort"
msgstr "SwitchyOmega"
msgid "manifest_app_name"
msgstr "Proxy přepínač SwitchyOmega"
msgid "manifest_app_description"
msgstr "Správa a přepínání mezi více proxy servery ."
msgid "manifest_icon_default_title"
msgstr "Načítám…"
msgid "upgrade_profile_auto"
msgstr "Automatický přepínač"
msgid "profile_direct"
msgstr "[Přímé připojení]"
msgid "profile_system"
msgstr "[Systémová Proxy]"
msgid "condition_HostWildcardCondition"
msgstr "Host wildcard"
msgid "condition_help_HostWildcardCondition"
msgstr ""
"Zápasy hostitelé (názvy domén) od zástupný znak.<br><b>Hvězdičky "
"<code>*</code></b> odpovídá žádnému nebo více znakům.<br><b>Otazník "
"<code>?</code></b> odpovídá právě jeden znak.<br><br>Poznámka, že pravidla s "
"<code>*.</code> jsou speciálně ošetřeny pouze v podmínkách hostitele "
"zástupné. <br>Příklad: <code>*. priklad.cz</code> bude odpovídat "
"www.example.com <b>a example.com stejně.</b><br>Subdomény <b>pouze</b> "
"zápas, použijte <b>dvě</b> hvězdičky jako <code>**. example.com</code>."
msgid "condition_HostRegexCondition"
msgstr "Regulární výraz host"
msgid "condition_help_HostRegexCondition"
msgstr ""
"Jako hostitele zástupné stav, ale zápasy hostí (názvy domén) <a "
"href='https://www.google.com/search?q=regular%20expression'> regulární</a> "
"výraz.<br>Regulární výrazy mohou být těžké sestavit (a číst).<br>Se "
"doporučuje použít zástupné znaky pro většinu případů a pouze používat regex "
"pro podmínky, které nelze dosáhnout jiným typ podmínky."
msgid "condition_HostLevelsCondition"
msgstr "Host úrovně"
msgid "condition_help_HostLevelsCondition"
msgstr ""
"Odpovídá žádosti pokud úroveň hostitele v v daném rozsahu.Úroveň hostitele "
"<br>je definována jako <b>počet segmentů oddělených tečkou</b> hostitele ("
"název domény).<br>Příklad: <code>www.example.com</code> je na úrovni "
"hostitele 3, zatímco <code>vnitřní</code> hostitele úrovně 1."
msgid "condition_IpCondition"
msgstr "IP Literals"
msgid "condition_help_IpCondition"
msgstr ""
"Matches the request if and only if the host is a <b>literal</b> IP address and"
" in the subnet as specified by <a href='"
"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation'>"
"CIDR notation</a>.<br>For example, given the rule <code>127.0.0.1/16</code>, "
"it matches all IP addresses like <code>127.0.*.*</code>.<br>"
"So <code>127.0.0.1</code> matches while <code>127.1.0.0</code> does not. "
"Host names like <code>localhost</code> will never match because they are "
"<b>not</b> IP literals."
msgid "condition_UrlWildcardCondition"
msgstr "URL wildcard"
msgid "condition_help_UrlWildcardCondition"
msgstr ""
"Odpovídá URL požadavku pomocí zástupných znaků.<br>Viz hostitele zástupné "
"sekce výše pro rychlé zástupných.<br>Všimněte si, že URL zástupné znaky "
"nejsou speciálně ošetřené (bez subdomény magic jako v hostitele "
"zástupné).<br>Tak <code>*://*.example.com/*</code> zápasy "
"http://www.example.com/ ale <b>není</b> odpovídat http://example.com/."
msgid "condition_UrlRegexCondition"
msgstr "URL regulární výraz"
msgid "condition_help_UrlRegexCondition"
msgstr ""
"Adresa URL odpovídá mimořádně mocné <a "
"href='https://www.google.com/search?q=regular%20expression'> regulární "
"výraz</a>.<br>Však může být obtížné sestavit (a číst) regulární výrazy.<br>"
"Se doporučuje použít zástupné znaky pro většinu případů a pouze používat "
"regex pro podmínky, které nelze dosáhnout jiným typ podmínky."
msgid "condition_KeywordCondition"
msgstr "Klíčové slovo"
msgid "condition_help_KeywordCondition"
msgstr ""
"Klíčové slovo stav odpovídá, pokud je adresa URL protokol HTTP a vzorek je "
"přesný dílčí řetězec adresy URL.<br>Se chová jako maska zástupných znaků "
"adresy URL <code>http://* <b>vzor</b> *</code>, kde <b>vzorek</b> je vzorek "
"klíčové slovo.<br>Klíčové podmínky jsou užitečné, pokud chcete obejít "
"firewall blokuje některá klíčová slova v URL, vyžádáním takových URL "
"prostřednictvím serveru proxy."
msgid "condition_FalseCondition"
msgstr "(Vypnuto)"
msgid "condition_details_FalseCondition"
msgstr "(Podmínky ignorovány při porovnání)"
msgid "condition_help_FalseCondition"
msgstr ""
"Podmínku můžete zakázat nastavením jeho typ <code>(</code> zakázáno). Stav "
"zakázáno chovat, jako by již neexistuje.<br>Tuto funkci lze použít k "
"zakázání podmínky dočasně.<br>Zakázáno podmínky stále drží předchozí "
"informace (např modely) a lze znovu povolit nastavením podmínky typ zpět do "
"předchozího typu."
msgid "condition_TimeCondition"
msgstr "Aktuální čas"
msgid "condition_help_TimeCondition"
msgstr ""
"Matches if the current local time is in the range defined by "
"<b>starting hour</b> and <b>ending hour</b>, both inclusive.<br>"
"Local time, starting hour and ending hour are all calculated in "
"<b>24-hour</b> format (from <b>0 to 23</b>). <br>"
"The calculation happens roughly at the moment when the request is sent."
msgid "condition_WeekdayCondition"
msgstr "Den v týdnu"
msgid "condition_help_WeekdayCondition"
msgstr ""
"Matches if the <b>current day of week</b> is selected in condition details. "
"Day is calculated according to local timezone.<br>"
"The request and its URL don't matter to this condition. "
"The result is solely based on the day of the week when the request is sent."
msgid "condition_alert_fullUrlLimitation"
msgstr ""
"Full URL matching is no longer possible for <code>https://</code> "
"URLs as of Chrome 52. "
"<a href='https://github.com/FelisCatus/SwitchyOmega/wiki/Chromium-Full-URL-Limitation'>"
"Learn more...</a>"
msgid "condition_alert_fullUrlLimitationLink"
msgstr "https://github.com/FelisCatus/SwitchyOmega/wiki/Chromium-Full-URL-Limitation"
msgid "condition_group_default"
msgstr " "
msgid "condition_group_host"
msgstr "Host"
msgid "condition_group_url"
msgstr "Url"
msgid "condition_group_special"
msgstr "Speciální"
msgid "ruleListFormat_Switchy"
msgstr "Přepínač"
msgid "ruleListFormat_AutoProxy"
msgstr "Automatická Proxy"
msgid "ruleList_usageUrl"
msgstr "https://github.com/FelisCatus/SwitchyOmega/wiki/RuleListUsage"
msgid "ruleList_error_resultNotEnabled"
msgstr "Schází '@s výsledkem' directive!"
msgid "ruleList_error_unknownProfile"
msgstr "Neznámý profil: $PROFILE$"
msgid "ruleList_error_missingResultProfile"
msgstr "Schází výsledný profil na řádce $LNO$: $SOURCE$"
msgid "ruleList_error_invalidRule"
msgstr "Nesprávná podmínka na řádku $LNO$: $SOURCE$"
msgid "ruleList_error_noDefaultRule"
msgstr "Chybí výchozí pravidlo s catch-all '*' podmínkou!"
msgid "dialog_close"
msgstr "Zavřít"
msgid "dialog_save"
msgstr "Uložit změny"
msgid "dialog_ok"
msgstr "OK"
msgid "dialog_cancel"
msgstr "Storno"
msgid "inputClear_clear"
msgstr "Vymazat"
msgid "inputClear_restore"
msgstr "Obnovit"
msgid "options_title"
msgstr "SwitchyOmega Nastavení"
msgid "options_experimental_badge"
msgstr "α"
msgid "options_navHeader_setting"
msgstr "Nastavení"
msgid "options_navHeader_profiles"
msgstr "Profily"
msgid "options_navHeader_actions"
msgstr "Akce"
msgid "options_tab_ui"
msgstr "Rozhraní"
msgid "options_tab_general"
msgstr "Obecné"
msgid "options_tab_importExport"
msgstr "Import/Export"
msgid "options_newProfile"
msgstr "Nový profil…"
msgid "options_apply"
msgstr "Použít změny"
msgid "options_discard"
msgstr "Zahodit změny"
msgid "options_reset"
msgstr "Obnovit nastavení"
msgid "options_group_miscOptions"
msgstr "Ostatní nastavení"
msgid "options_confirmDeletion"
msgstr "Potvrdit smazání podmínky."
msgid "options_refreshOnProfileChange"
msgstr "Obnovit aktuální záložku při změnu profilu."
msgid "options_showInspectMenu"
msgstr "Povolit kontrolu proxy pro prvky stránky přes kontextové menu."
msgid "options_addConditionsToBottom"
msgstr "Put new conditions added using the popup to the bottom of the list."
msgid "options_group_keyboardShortcut"
msgstr "Klávesové zkratky"
msgid "options_menuShortcutHelp"
msgstr "Stisknutím zástupce aktivujete místní nabídku. (Výchozí Alt+Shift+O)."
msgid "options_menuShortcutMore"
msgstr ""
"Položky v kontextovém menu jsou také přistupné pomocí klávesnice. Stisknutím "
"? (nebo /) v menu se dozvíte více."
msgid "options_menuShortcutConfigure"
msgstr "Konfigurovat zástupce"
msgid "options_group_switchOptions"
msgstr "Nastavení přepínání"
msgid "options_startupProfile"
msgstr "Profil při spuštění"
msgid "options_startupProfile_none"
msgstr "(Aktuální profil)"
msgid "options_showConditionTypesAdvanced"
msgstr "Zobrazit pokročilé typy podmínek"
msgid "options_showConditionTypesAdvancedHelp"
msgstr ""
"Odemknout nové typy pokročilých, ale komplikovaných přepínačů. Pro běžnou "
"práci stačí základní nastavení, proto se tato možnost nedoporučuje."
msgid "options_quickSwitch"
msgstr "Rychlé přepínání"
msgid "options_cycledProfiles"
msgstr "Opakované profily"
msgid "options_cycledProfilesHelp"
msgstr ""
"Pokud kliknete na ikonu (nebo použijte klávesovou zkratku), následující "
"profily budou řazeny dle jejich pořadí."
msgid "options_cycledProfilesTooFew"
msgstr ""
"Pro tuto funkci musíte vybrat alespoň 2 profily! Můžete je přetáhnout z níže "
"uvedeného pole."
msgid "options_notCycledProfiles"
msgstr "Ne-opakované profily"
msgid "options_group_proxyChanges"
msgstr "Změny proxy"
msgid "options_revertProxyChanges"
msgstr "Reverzní proxy změněné jinou aplikací."
msgid "options_group_conflicts"
msgstr "Konflikty"
msgid "options_conflicts_introduction"
msgstr ""
"Sometimes, other apps will also try to control the proxy settings, resulting "
"in conflicts. Note that ad blockers and other extensions may also use proxy "
"settings under the hood. Such conflicts cannot be avoided due to how the "
"browser works."
msgid "options_conflicts_lowerPriority"
msgstr ""
"A red badge like this on the SwitchyOmega icon indicates that another app has "
"higher priority so SwitchyOmega cannot control the settings. Please try to "
"uninstall SwitchyOmega and reinstall, which should raise SwitchyOmega's "
"priority. If you still see conflicts after reinstallation, please consider "
"removing the other app causing the conflict."
msgid "options_conflicts_higherPriority"
msgstr ""
"If SwitchyOmega has higher priority, you can give the control back to other "
"apps or system settings by selecting $SYSTEMPROFILE$ in the popup menu."
msgid "options_showExternalProfile"
msgstr "Show popup menu item to import proxy settings from other apps."
msgid "options_showExternalProfileHelp"
msgstr ""
"When $SYSTEMPROFILE$ is selected, you can import the effective proxy settings "
"from other apps by selecting $EXTERNALPROFILE$ on the popup menu. "
"The settings will be imported as a profile using the name you provide. "
"Please note that the imported profile is a snapshot and will not reflect "
"any changes from the source app thereafter."
msgid "options_group_networkRequests"
msgstr "Síťové požadavky"
msgid "options_monitorWebRequests"
msgstr ""
"Zobrazit počet neúspěšných webových žádostí o prostředky na aktuální kartě."
msgid "options_monitorWebRequestsHelp"
msgstr ""
"Žlutý odznak se zobrazí na ikoně Pokud některé zdroje selhání načtení, <br>a "
"můžete nastavit profil pro tyto zdroje přes místní nabídku."
msgid "options_downloadOptions"
msgstr "Nastavení stahování"
msgid "options_downloadOptionsHelp"
msgstr "Konfigurace četnosti aktualizace online pravidla seznamů a PAC skriptů."
msgid "options_downloadInterval"
msgstr "Interval stahování"
msgid "options_downloadInterval_15"
msgstr "15 minut"
msgid "options_downloadInterval_60"
msgstr "1 Hodina"
msgid "options_downloadInterval_180"
msgstr "3 Hodiny"
msgid "options_downloadInterval_360"
msgstr "6 Hodin"
msgid "options_downloadInterval_720"
msgstr "12 Hodin"
msgid "options_downloadInterval_1440"
msgstr "Každý den"
msgid "options_downloadInterval_never"
msgstr "Nikdy"
msgid "options_group_importExportProfile"
msgstr "Profil"
msgid "options_exportPacFile"
msgstr "Exportovat jako PAC soubor"
msgid "options_exportPacFileHelp"
msgstr ""
"Exportujte aktuální profil jako soubor PAC, takže můžete použít v jiných "
"prohlížečích."
msgid "options_exportProfileHelp"
msgstr ""
"Chcete-li exportovat profil, pomocí panelu Akce shora zprava na stránce "
"profil."
msgid "options_exportLegacyRuleList"
msgstr ""
"Exportovat pravidla seznamy pomocí Proxy Switchy!/SwitchyPlus/SwitchySharp "
"kompatibilní formát pokud je to možné."
msgid "options_exportLegacyRuleListHelp"
msgstr ""
"Tuto možnost použijte, pouze v případě, že publikujete pravidlo seznamy pro "
"uživatele těchto projektů.<br>Prosím zvažte aktualizovat na SwitchyOmega "
"pro zlepšení."
msgid "options_group_importExportSettings"
msgstr "Nastavení"
msgid "options_makeBackup"
msgstr "Provést zálohu"
msgid "options_makeBackupHelp"
msgstr ""
"Provést plnou záloho Vašeho nastavení (obsahuje profily a veškeré další "
"nastavení)."
msgid "options_restoreLocal"
msgstr "Obnovit ze souboru"
msgid "options_restoreLocalHelp"
msgstr "Obnovit Vaše SwitchyOmega nastavení z lokálního souboru."
msgid "options_restoreOnline"
msgstr "Obnovit z online"
msgid "options_restoreOnlinePlaceholder"
msgstr "URL souboru nastavení (e.g. 'http://example.com/switchy.bak')"
msgid "options_restoreOnlineSubmit"
msgstr "Obnovit"
msgid "options_group_syncing"
msgstr "Synchronizace (Experimentální)"
msgid "options_syncEnable"
msgstr "Povolit synchronizaci"
msgid "options_syncEnableForce"
msgstr "Stáhnout ze synchronizace"
msgid "options_syncDisable"
msgstr "Zrušit synchronizaci"
msgid "options_syncReset"
msgstr "Odstranit vzdálenou kopii"
msgid "options_syncPristineHelp"
msgstr ""
"Vy můžete nyní automaticky synchronizovat Vaše nastavení, profily napříč "
"všemi desktop spuštěnými Chrome prohlížeči."
msgid "options_syncSyncAlert"
msgstr "Vaše nastavení jsou automaticky synchronizování s dalšími zařízeními."
msgid "options_syncSyncHelp"
msgstr ""
"Vezměte prosím na vědomí, že musíte se přihlásit k Chrome na každém zařízení "
"(včetně této) pro synchronizaci skutečně pracovat. <br>Můžete zkontrolovat "
"tuto sekci na jiných zařízeních, aby bylo zajištěno, že to funguje."
msgid "options_syncConflictAlert"
msgstr ""
"Načetli jste kopii svých nastavení/možností na jiném zařízení "
"prostřednictvím synchronizace."
msgid "options_syncConflictHelp"
msgstr ""
"Pokud budete chtít můžete stáhnout vzdálenou kopii do zařízení. <br>To tak "
"by však <b>přepsat stávající nastavení a profily</b> v tomto zařízení."
msgid "options_syncUnsupportedHelp"
msgstr ""
"Možnosti synchronizace není podporována na platformě nebo prohlížeče. Pro "
"tuto chvíli je podporován pouze prohlížeč Chrome na desktopu."
msgid "options_profileSyncDisabled"
msgstr "Synchronizace je vypnutá pro tento profil."
msgid "options_profileSyncDisabled_quotaPerItem"
msgstr ""
"Synchronizace je zakázána pro tento profil pro použití příliš mnoho úložného "
"prostoru."
msgid "options_profileTabPrefix"
msgstr "Profil :: "
msgid "options_renameProfile"
msgstr "Přejmenovat"
msgid "options_deleteProfile"
msgstr "Smazat"
msgid "options_profileExportRuleList"
msgstr "Publikovat tento seznam podmínek"
msgid "options_profileExportRuleListHelp"
msgstr "Exportovat podmínky jako prostý text pro publikování."
msgid "options_profileExportPac"
msgstr "Exportovat PAC"
msgid "options_profileUnsupported"
msgstr "Nepodporovaný profil typu $TYPE$!"
msgid "options_profileUnsupportedHelp"
msgstr "Tato možnost může zlobit s novější verzí tohoto programu."
msgid "options_profileEditSource"
msgstr "Editovat zdrojový kód"
msgid "options_profileEditSourceHelp"
msgstr "Zobraz nápovědu o formátování zdrojového kódu"
msgid "options_profileEditSourceHelpUrl"
msgstr ""
"https://github.com/FelisCatus/SwitchyOmega/wiki/SwitchyOmega-conditions-"
"format#result-profile"
msgid "options_group_proxyServers"
msgstr "Proxy servery"
msgid "options_proxy_scheme"
msgstr "Schéma"
msgid "options_proxy_protocol"
msgstr "Protokol"
msgid "options_proxy_server"
msgstr "Server"
msgid "options_proxy_port"
msgstr "Port"
msgid "options_proxy_auth"
msgstr "Ověřování"
msgid "options_proxy_authNotSupported"
msgstr "Your browser DOES NOT support $PROTOCOLDISP$ proxy authentication! "
"Please do not report this issue to SwitchyOmega. Contact the support for "
"your browser instead."
msgid "options_proxy_authAllWarningPac"
msgstr ""
"Varování: Uživatelské jméno a heslo může být nečekané serverům zaslána "
"vrácenou skriptem PAC."
msgid "options_proxy_authAllWarningPacUrl"
msgstr ""
"Ujistěte se prosím, důvěryhodných skriptů poskytované prostřednictvím adresy "
"URL nad před vstupem do citlivých pověření."
msgid "options_proxy_authAllWarningPacScript"
msgstr ""
"Přesvědčte se, zda důvěřovat skript níže než poskytnutí citlivých pověření."
msgid "options_proxy_authReferencedWarning"
msgstr ""
"Navíc použití tohoto profilu v jiných profilech (např. profil Switch) může "
"způsobit uživatelské jméno a heslo k odeslání k serverům proxy, které jsou "
"nakonfigurovány v jiných profilech."
msgid "options_scheme_default"
msgstr "(výchozí)"
msgid "options_protocol_direct"
msgstr "PŘÍMÉ"
msgid "options_protocol_useDefault"
msgstr "(použít výchozí)"
msgid "options_proxy_single"
msgstr "Používejte proxy výše pro všechny protokoly."
msgid "options_proxy_expand"
msgstr "Zobraz pokročilé"
msgid "options_group_bypassList"
msgstr "Seznam vynechaných serverů"
msgid "options_bypassListHelp"
msgstr ""
"Servery, které chcete použít při proxy: (jeden server na každém řádku.)"
msgid "options_bypassListHelpLinkText"
msgstr "(Wildcards and more available...)"
msgid "options_group_pacUrl"
msgstr "PAC URL"
msgid "options_pacUrlHelp"
msgstr ""
"PAC skript bude aktualizován z této adresy URL. Pokud je ponechán prázdný, "
"následující skript bude použit přímo."
msgid "options_pacUrlFile"
msgstr ""
"PAC profily s souboru: adresy URL lze použít pouze přímo. Jejich nelze "
"použít jako výsledek profily, protože místní soubory není přístupná z důvodu "
"omezení prohlížeče."
msgid "options_pacUrlFileDisabled"
msgstr ""
"Proto nelze použít místní soubor PAC pro tento profil. Pokud opravdu chcete, "
"můžete vytvořit nový profil PAC."
msgid "options_group_pacScript"
msgstr "PAC Skript"
msgid "options_pacScriptLastUpdate"
msgstr "PAC skript stažený v $TIME$:"
msgid "options_pacScriptObsolete"
msgstr ""
"PAC skript je zastaralá kvůli změně adresy URL. Stiskněte tlačítko Stáhnout "
"výše k aktualizaci."
msgid "options_group_virtualProfile"
msgstr "Virtuální profil"
msgid "options_virtualProfileTarget"
msgstr "Cíl"
msgid "options_virtualProfileTargetHelp"
msgstr "Při použití tohoto profilu, funguje stejně jako profilu vybraný níže."
msgid "options_group_virtualProfileReplace"
msgstr "Migrovat do virtuálního profilu"
msgid "options_virtualProfileReplace"
msgstr "Nahradit cílový profil"
msgid "options_virtualProfileReplaceHelp"
msgstr ""
"Můžete migrovat existující možnosti používat tento virtuální profil namísto "
"$PROFILE$. Tak bude aktualizovat všechny existující pravidla týkající se "
"$PROFILE$ a nasměrovat do tohoto virtuálního profilu tak, aby jejich "
"výsledek profil je možné ovládat zde."
msgid "options_group_ruleListConfig"
msgstr "Konfigurace seznamu pravidel"
msgid "options_ruleListFormat"
msgstr "Formát seznamu podmínek"
msgid "options_group_ruleListResult"
msgstr "Seznam pravidel výsledků profilů"
msgid "options_ruleListMatchProfile"
msgstr "Porovnat profil"
msgid "options_ruleListDefaultProfile"
msgstr "Výchozí profil"
msgid "options_group_ruleListUrl"
msgstr "Adresa URL podmínek"
msgid "options_ruleListUrlHelp"
msgstr ""
"Seznam pravidel bude aktualizován z této adresy URL. Pokud je ponechán "
"prázdný, bude následující text analyzován."
msgid "options_group_ruleListText"
msgstr "Text seznamu pravidel"
msgid "options_ruleListLastUpdate"
msgstr "Seznam pravidel stažen $TIME$:"
msgid "options_ruleListObsolete"
msgstr ""
"Seznam pravidel je zastaralá kvůli změně adresy URL. Stiskněte tlačítko "
"Stáhnout výše k aktualizaci."
msgid "options_group_switchRules"
msgstr "Přepínač pravidel"
msgid "options_sort"
msgstr "Řadit"
msgid "options_conditionType"
msgstr "Typ podmínek"
msgid "options_showConditionTypeHelp"
msgstr "Zobrazit nápovědu"
msgid "options_conditionDetails"
msgstr "Podrobnosti o podmínce"
msgid "options_resultProfile"
msgstr "Profil"
msgid "options_conditionActions"
msgstr "Akce"
msgid "options_addCondition"
msgstr "Přidat podmínku"
msgid "options_cloneRule"
msgstr "Klonovat"
msgid "options_ruleNote"
msgstr "Note"
msgid "options_switchAttachedProfileInCondition"
msgstr "Pravidlo seznamu pravidel"
msgid "options_switchAttachedProfileInConditionDetails"
msgstr "(Každá žádost odpovídající pravidlo seznam níže)"
msgid "options_switchAttachedProfileInConditionDisabled"
msgstr "(Seznam pravidel je ZAKÁZÁN)"
msgid "options_switchDefaultProfile"
msgstr "Výchozí"
msgid "options_hostLevelsBetween"
msgstr "≤ host úrovně ≤"
msgid "options_hourBetween"
msgstr "≤ current hour ≤"
msgid "options_weekDayShort_0"
msgstr "Su"
msgid "options_weekDayShort_1"
msgstr "Mo"
msgid "options_weekDayShort_2"
msgstr "Tu"
msgid "options_weekDayShort_3"
msgstr "We"
msgid "options_weekDayShort_4"
msgstr "Th"
msgid "options_weekDayShort_5"
msgstr "Fr"
msgid "options_weekDayShort_6"
msgstr "Sa"
msgid "options_group_conditionHelp"
msgstr "O typech podmínek"
msgid "options_group_attachProfile"
msgstr "Importovat seznamy online pravidla"
msgid "options_attachProfile"
msgstr "Přidat seznam pravidel"
msgid "options_attachProfileHelp"
msgstr ""
"Můžete použít on-line sbírku podmínek vydané ostatními a přidáním do seznamu "
"pravidel."
msgid "options_modalHeader_welcome"
msgstr "Vítejte v SwitchyOmega"
msgid "options_welcomeNormal"
msgstr "Úspěšně jste nainstalovali SwitchyOmega, ultimate proxy přepínač."
msgid "options_welcomeNormalGuide"
msgstr ""
"Prosím, řekněte SwitchyOmega o vaší proxy prostřednictvím stránky možnosti. "
"Podívejme se, jak."
msgid "options_welcomeUpgrade"
msgstr ""
"Úspěšně jste inovovali na SwitchyOmega. Buďte v klidu, vaše stávající "
"možnosti jsou plně zachovány."
msgid "options_welcomeUpgradeGuide"
msgstr "Teď pojďme projít stručného průvodce a nové možnosti stránky."
msgid "options_guideNext"
msgstr "Další"
msgid "options_guideDone"
msgstr "Hotovo"
msgid "options_guideSkip"
msgstr "Přeskočit průvodce"
msgid "options_modalHeader_applyOptions"
msgstr "Použít možnosti"
msgid "options_optionsNotSaved"
msgstr "Vaše změny nebyly uloženy a budou ztracena, pokud budete pokračovat!"
msgid "options_applyOptionsRequired"
msgstr "Než budete pokračovat, je třeba použít vaše změny možností."
msgid "options_applyOptionsConfirm"
msgstr "Přejete si uložit a aplikovat nastavení?"
msgid "options_modalHeader_renameProfile"
msgstr "Přejmenovat profil"
msgid "options_renameProfileName"
msgstr "Název nového profilu"
msgid "options_profileNameConflict"
msgstr "Profil s tímto názvem již existuje."
msgid "options_profileNameReserved"
msgstr "Profil názvy začínající dvojité podtržítko, jsou vyhrazena."
msgid "options_profileNameHidden"
msgstr ""
"Profily s názvy začínají podtržítkem skrytý v místní nabídce. Však stále "
"používají se v místech, jako je přepnutí profilu výsledky."
msgid "options_modalHeader_replaceProfile"
msgstr "Nahradit profil"
msgid "options_replaceProfile"
msgstr "Nahradit profil"
msgid "options_replaceProfileConfirm"
msgstr "Opravdu chcete nahradit $FromProfile$ s $ToProfile$?"
msgid "options_replaceProfileHelp"
msgstr ""
"Budete-li pokračovat, všechna pravidla, směřující na $FromProfile$ bude "
"aktualizován tak, místo toho použít $ToProfile$. Další možnosti, například "
"při spuštění profilu a rychlé přepínače budou také změněny podle potřeby. "
"Však sami dva profil nebude být změněn nebo odstraněn."
msgid "options_replaceProfileSuccess"
msgstr "Nastavení aktualizováno."
msgid "options_modalHeader_deleteProfile"
msgstr "Odstranit profil"
msgid "options_deleteProfileConfirm"
msgstr "Opravdu chcete odstranit tento profil?"
msgid "options_modalHeader_cannotDeleteProfile"
msgstr "Nelze odstranit profil"
msgid "options_profileReferredBy"
msgstr "Tento profil nelze odstranit, protože se označuje následující profily:"
msgid "options_modifyReferringProfiles"
msgstr ""
"Je třeba upravit tyto profily a zastavit, odkazující k tomuto profilu "
"předtím, než můžete odstranit."
msgid "options_profileNameEmpty"
msgstr "Název profilu nesmí být prázdný."
msgid "popup_title"
msgstr "SwitchyOmega Vyskakovací okno"
msgid "options_modalHeader_proxyAuth"
msgstr "Ověřování proxy serveru"
msgid "options_proxyAuthUsername"
msgstr "Uživatelské jméno"
msgid "options_proxyAuthPassword"
msgstr "Heslo"
msgid "options_proxyAuthShowPassword"
msgstr "Show password"
msgid "options_proxyAuthHidePassword"
msgstr "Hide password"
msgid "options_proxyAuthNone"
msgstr "Bez ověřování"
msgid "options_modalHeader_deleteRule"
msgstr "Odstranit pravidlo"
msgid "options_deleteRuleConfirm"
msgstr "Opravdu chcete odstranit toto pravidlo?"
msgid "options_deleteRule"
msgstr "Odstranit"
msgid "options_modalHeader_resetRules"
msgstr "Obnovit pravidla"
msgid "options_resetRulesConfirm"
msgstr ""
"Jste si jisti, nastavte profil výsledek všech pravidel pro tento profil?"
msgid "options_resetRules"
msgstr "Obnovit pravidla"
msgid "options_resetRules_help"
msgstr "Nastavit profil pro všechna pravidla"
msgid "options_modalHeader_deleteAttached"
msgstr "Odstranit seznam pravidel"
msgid "options_deleteAttachedConfirm"
msgstr "Opravdu chcete odstranit seznam pravidel z aktuálního profilu?"
msgid "options_ruleListLineCount"
msgstr "$COUNT$ řádky pravidel"
msgid "options_deleteAttached"
msgstr "Odstranit seznam pravidel"
msgid "options_modalHeader_newProfile"
msgstr "Nový profil"
msgid "options_newProfileName"
msgstr "Název profilu"
msgid "options_profileType"
msgstr "Vyberte prosím typ profilu:"
msgid "options_profileTypeFixedProfile"
msgstr "Profil serveru proxy"
msgid "options_profileDescFixedProfile"
msgstr "Tunelování provozu přes proxy servery."
msgid "options_profileTypePacProfile"
msgstr "PAC Profil"
msgid "options_profileDescPacProfile"
msgstr "Volba proxy pomocí skriptu PAC online nebo místní."
msgid "options_profileDescMorePacProfile"
msgstr ""
"Budete potřebovat pouze to máte PAC skript nebo URL k němu. Nesnažte se "
"vytvořit jeden, pokud nemáte znalosti o PAC."
msgid "options_profileTypeSwitchProfile"
msgstr "Přepnout profil"
msgid "options_profileDescSwitchProfile"
msgstr ""
"Použití různých profilů automaticky na různých podmínkách domén nebo vzory.\n"
" Můžete také importovat pravidla zveřejněny online pro snadnější přepínání. ("
"Nahrazuje automatické přepínání režimu + seznam pravidlo.)"
msgid "options_profileTypeRuleListProfile"
msgstr "Pravidla seznamu profilu"
msgid "options_profileDescRuleListProfile"
msgstr "Opětovné použití on-line sbírku podmínek vydané ostatní."
msgid "options_profileTypeVirtualProfile"
msgstr "Virtuální profil"
msgid "options_profileDescVirtualProfile"
msgstr ""
"Virtuální profil mohou působit jako kterýkoli z ostatních profilů na "
"požádání. To funguje dobře s SwitchProfile, což umožňuje změnit výsledek "
"více podmínek jedním kliknutím."
msgid "options_createProfile"
msgstr "Vytvořit"
msgid "options_modalHeader_resetOptions"
msgstr "Obnovit nastavení"
msgid "options_resetOptionsConfirm"
msgstr ""
"Opravdu chcete obnovit možnosti? Všechny profily a nastavení bude ztraceno!"
msgid "options_formInvalid"
msgstr "Opravte chyby na této stránce."
msgid "options_profileNotFound"
msgstr "Profil $PROFILE$ neexistuje! Nastavení může být špatné."
msgid "options_resetSuccess"
msgstr "Obnovit nastavení."
msgid "options_saveSuccess"
msgstr "Nastavení uloženo."
msgid "options_importSuccess"
msgstr "Nastavení importováno."
msgid "options_importFormatError"
msgstr "Soubor ze zálohy je neplatný!"
msgid "options_importDownloadError"
msgstr "Chyba při stahování zálohovaného souboru!"
msgid "options_profileDownloadSuccess"
msgstr "Profil byl úspěšně aktualizován."
msgid "options_profileDownloadError"
msgstr "Chyba při stahování dat profilu!"
msgid "options_profileDownloadError_NetworkError"
msgstr "A network error occurred when updating."
msgid "options_profileDownloadError_HttpError"
msgstr "An HTTP error ($STATUS$) occurred when updating."
msgid "options_profileDownloadError_HttpNotFoundError"
msgstr "The Profile URL was not found on the server. Please double-check."
msgid "options_profileDownloadError_HttpServerError"
msgstr "The remote server responded with error ($STATUS$) when updating."
msgid "options_profileDownloadError_ContentTypeRejectedError"
msgstr "The downloaded data is invalid! "
"You may open the Profile URL in your browser to inspect it."
msgid "options_downloadProfileNow"
msgstr "Stáhnout profil"
msgid "options_guide_fixedProfileStep"
msgstr ""
"<b>Proxy profil</b> obsahuje nastavení jako server ip a port serveru "
"proxy.<br>Profily jsou základní konfiguraci jednotky v SwitchyOmega.<br>Jsme "
"již vytvořili příklad profil pro vás. Pokuste se jej otevřít."
msgid "options_guide_fixedServersStep"
msgstr ""
"Můžete vyplnit serveru proxy a portu zde jak se vám líbí.<br>, SwitchyOmega, "
"<b>nepřichází s proxy servery</b>.<br>Prosím poraďte se s poskytovatelem "
"sítě nebo server proxy software manuál Pokud nevíte, co by mělo být vyplněno "
"zde."
msgid "options_guide_autoSwitchProfileStep"
msgstr ""
"Poznáte SwitchyOmega přepínat mezi proxy automaticky prostřednictvím mohutné "
"<b>Přepnutí profilu</b>.<br>Však nelze pokrýt jeho rysy v tomto rychlém "
"průvodci.<br>Můžete otevřít tento profil odemknout její moci nějaký čas "
"později."
msgid "options_guide_addMoreProfilesStep"
msgstr ""
"Potřebujete další profily? Pro potřeby vaší proxy, můžete vždy přidat více "
"<b>Proxy, Switch a další profily</b> <br>. <br>Užijte si proxy!"
msgid "options_guide_conditionStep"
msgstr ""
"SwitchyOmega profily je možné použít různé žádosti na základě "
"<b>podmínek</b>.<br>Například <b>hostitele zástupné</b> stavu umožňuje "
"nastavit profil pro všechny adresy URL v doméně."
msgid "options_guide_conditionTypeStep"
msgstr ""
"Můžete použít různé typy podmínek hostitele nebo úplnou adresu URL. <br>"
"Klepněte na otazník zobrazíte typ odkazu."
msgid "options_guide_conditionProfileStep"
msgstr ""
"SwitchyOmega použije vybraný profil zde na <b>žádost odpovídající "
"podmínky.</b> <br>Speciální <b>\"[]\" profilu</b> způsobí požadavek na "
"odeslání bez jakékoli proxy."
msgid "options_guide_switchDefaultStep"
msgstr ""
"Pokud žádná podmínka se vztahuje na některé žádosti, bude použit profil \""
"Výchozí\". <br>Podmínky jsou vždy považovány za <b>shora dolů</b> v "
"pořadí.<br>Jejich pořadí můžete změnit přetažením ikony řazení."
msgid "options_guide_applySwitchProfileStep"
msgstr ""
"Po dokončení nastavení přepínače profilu, nezapomeňte <b>Přepněte do ní v "
"kontextovém menu.</b> <br/> Ikona se zobrazí <b>konečný výsledek</b> profilu "
"použité pro aktuální kartu <br/> <b>Hovering</b> na ikonu odhalí tooltip s "
"detaily."
msgid "popup_externalProfile"
msgstr "(Externí profil)"
msgid "popup_externalProfileName"
msgstr "název profilu"
msgid "popup_proxyNotControllable_app"
msgstr ""
"Nastavení serveru proxy jsou řízeny jinými app(s) nebo přípony. Zakázat nebo "
"odinstalovat aplikace nebo rozšíření v konfliktu."
msgid "popup_proxyNotControllable_policy"
msgstr ""
"Nastavení serveru proxy byly přepsány politikou. Obraťte se na správce "
"systému."
msgid "popup_proxyNotControllable_unknown"
msgstr ""
"Nastavení serveru proxy nelze ovládat. Zkontrolujte nastavení systému a "
"prohlížeče."
msgid "popup_proxyNotControllable_disabled"
msgstr ""
"Nastavení serveru proxy jsou zakázány výslovný požadavek od jiných app(s) "
"nebo rozšířeními."
msgid "popup_proxyNotControllable_upgrade"
msgstr ""
"Nastavení serveru proxy jsou nyní řízeny pomocí novější verze SwitchyOmega."
msgid "popup_proxyNotControllableDetails"
msgstr "Dokud nevyřešíte problém výše, nelze přepnout profily s SwitchyOmega."
msgid "popup_proxyNotControllableDetails_upgrade"
msgstr ""
"Současně nelze povolit dvě (nebo více) verze SwitchyOmega. Zakažte jednu z "
"nich."
msgid "popup_proxyNotControllableManage"
msgstr "Správa rozšíření"
msgid "popup_addConditionTo"
msgstr "Přidat podmínku do"
msgid "popup_addCondition"
msgstr "Přidat podmínku"
msgid "popup_showOptions"
msgstr "Možnosti"
msgid "popup_reportIssues"
msgstr "Report problémů"
msgid "popup_errorLog"
msgstr "Uložit protokol chyb"
msgid "popup_requestErrorCount"
msgstr "$COUNT$ chybových požadavků"
msgid "popup_requestErrorHeading"
msgstr "Zdroje, které se nepodařilo načíst"
msgid "popup_requestErrorWarning"
msgstr "Několik zdrojů se nepodařilo načíst kvůli potížím se sítí."
msgid "popup_requestErrorWarningHelp"
msgstr "SwitchyOmega jen reportuje tyto chyby, ale není příčinou těchto chyb."
msgid "popup_requestErrorAddCondition"
msgstr ""
"Můžete zkontrolovat následující domény a použít proxy server pro ně v "
"případě potřeby."
msgid "popup_requestErrorCannotAddCondition"
msgstr ""
"Můžete přidat podmínky, přepínač se použije pouze při použití Přepnout "
"profil."
msgid "popup_configureMonitorWebRequests"
msgstr "Konfigurovat monitor sítě"
msgid "options_resultProfileForSelectedDomains"
msgstr "Použít tento profil pro všechny vybrané domény"
msgid "options_pac_profile_unsupported_moz"
msgstr "PAC Profiles WILL NOT work in Mozilla Firefox due to technical limitations!"
msgid "popup_issueTemplate"
msgstr ""
"\n"
"\n"
"\n"
"<!-- Please write your comment ABOVE this line. -->\n"
"Přeložil Filip Havlin\n"
"SwitchyOmega $projectVersion$\n"
"$userAgent$"
msgid "browserAction_profileDetails_PacProfile"
msgstr "(PAC skript)"
msgid "browserAction_profileDetails_SystemProfile"
msgstr "(kontrolované jinými rozšířeními nebo prostředím)"
msgid "browserAction_profileDetails_DirectProfile"
msgstr "(nepoužívá žádné proxy)"
msgid "browserAction_profileDetails_SwitchProfile"
msgstr "(přepínání na základě podmínek)"
msgid "browserAction_profileDetails_RuleListProfile"
msgstr "(přepínání na základě seznamu pravidel)"
msgid "browserAction_titleNormal"
msgstr "Switchy Omega:: $PROFILE$"
msgid "browserAction_titleWithResult"
msgstr ""
"Switchy Omega:: $1:PROFILE$\n"
"$3:DETAILS$"
msgid "browserAction_titleNewerOptions"
msgstr ""
"Chyba: Novější verze SwitchOmega je potřeba pro uložené nastavení/možnosti."
msgid "browserAction_titleOptionError"
msgstr ""
"Chyba: Uložené volby jsou poškozeny. Chcete-li obnovit možnosti klikněte zde."
msgid "browserAction_titleDownloadFail"
msgstr "Upozornění: Nepodařilo se stáhnout PAC skripty nebo seznam pravidel."
msgid "browserAction_titleExternalProxy"
msgstr ""
"Poznámka: Nastavení serveru proxy jsou v současnosti řízena jinými "
"aplikacemi."
msgid "browserAction_titleInspect"
msgstr "[Prohlédnout] $URL$"
msgid "browserAction_defaultRuleDetails"
msgstr "(výchozí)"
msgid "browserAction_directResult"
msgstr "PŘÍMÉ"
msgid "browserAction_attachedPrefix"
msgstr "(RL) "
msgid "browserAction_tempRulePrefix"
msgstr "(DOČASNÉ) "
msgid "contextMenu_inspectPage"
msgstr "Zkontrolujte proxy pro tuto stránku"
msgid "contextMenu_inspectFrame"
msgstr "Zkontrolujte proxy pro tento Frame"
msgid "contextMenu_inspectLink"
msgstr "Zkontrolujte, zda server proxy používaná tento prvek"
msgid "contextMenu_inspectElement"
msgstr "Zkontrolujte, zda server proxy používaná tento prvek"
msgid "contextMenu_enableQuickSwitch"
msgstr "Povolit rychlé přepínání"
msgid "about_title"
msgstr "About"
msgid "about_app_description"
msgstr "A proxy configuration tool"
msgid "about_version"
msgstr "Version $VERSION$"
msgid "about_experimental_warning_moz"
msgstr "Mozilla Firefox support is highly experimental! If you encounter issues, please report using the buttons below."
msgid "about_disclaimer_networkService"
msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
msgid "about_disclaimer_privacy"
msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
" our <a href='https://github.com/FelisCatus/SwitchyOmega/wiki/Privacy#english'>privacy policy</a>."
msgid "about_help"
msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
"<a href='https://github.com/FelisCatus/SwitchyOmega/wiki/FAQ'>FAQ</a>."
msgid "about_copyright"
msgstr "Copyright 2012-2017 <a href='https://github.com/FelisCatus/SwitchyOmega/blob/master/AUTHORS'>The SwitchyOmega Authors</a>. All rights reserved."
msgid "about_credits"
msgstr "SwitchyOmega is made possible by the <a href='https://github.com/FelisCatus/SwitchyOmega'>SwitchyOmega</a> open source project and other <a href='https://github.com/FelisCatus/SwitchyOmega/blob/master/AUTHORS'>open source software</a>."
msgid "about_license"
msgstr "SwitchyOmega is <a href='https://www.gnu.org/philosophy/free-sw.en.html'>free software</a> licensed under <a href='https://www.gnu.org/licenses/gpl.html'>GNU General Public License</a> Version 3 or later."
================================================
FILE: omega-locales/de/LC_MESSAGES/omega-web.po
================================================
msgid ""
msgstr ""
"Project-Id-Version: SwitchyOmega 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 10:29+0000\n"
"PO-Revision-Date: 2019-05-14 08:49+0000\n"
"Last-Translator: ssantos <ssantos@web.de>\n"
"Language-Team: German <https://hosted.weblate.org/projects/switchyomega/main/"
"de/>\n"
"Language: de\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: Weblate 3.7-dev\n"
msgid "appNameShort"
msgstr "SwitchyOmega"
msgid "manifest_app_name"
msgstr "Proxy SwitchyOmega"
msgid "manifest_app_description"
msgstr ""
"Einfach & schnell mehrere Proxies verwalten und zwischen ihnen wechseln."
msgid "manifest_icon_default_title"
msgstr "Laden…"
msgid "upgrade_profile_auto"
msgstr "Automatisches Wechseln"
msgid "profile_direct"
msgstr "[Direkt]"
msgid "profile_system"
msgstr "[System Proxy]"
msgid "condition_HostWildcardCondition"
msgstr "Host wildcard"
msgid "condition_help_HostWildcardCondition"
msgstr ""
"Übereinstimmungen mit Hosts (Domänennamen) per Wildcard.<br><b>Das Sternchen "
"<code>*</code></b> entspricht null oder mehr Zeichen.<br><b>Das Fragezeichen "
"<code>?</code></b> entspricht genau einem Zeichen.<br><br>Beachten Sie, dass "
"Regeln, die mit <code>*.</code> beginnen, speziell nur in Hosts mit Wildcard "
"behandelt werden.<br>Beispiel: <code>*.example.com</code> passt auch zu "
"www.example.com <b>UND auch example.com.</b><br>Zur Übereinstimmung "
"<b>nur</b> von Subdomains, verwenden Sie <b>zwei</b> Sternchen wie "
"<code>**.example.com</code>."
msgid "condition_HostRegexCondition"
msgstr "Host regex"
msgid "condition_help_HostRegexCondition"
msgstr ""
"Wie die Host Platzhalter Bedingung, aber gleicht hosts (domain namen) bei <a "
"href='https://www.google.com/search?q=regular%20expression'>Regulärer "
"Ausdruck</a>.<br>Regulärer Ausdruck können schwer zu erstellen und/oder zu "
"lesen sein.<br>Es wird im Normalfall Platzhalter zu verwenden und Regulärer "
"Ausdrücke nur für Bedingungen Typen die nicht mit anderen Bedingungen Typen "
"möglich sind zu benutzen."
msgid "condition_HostLevelsCondition"
msgstr "Host levels"
msgid "condition_help_HostLevelsCondition"
msgstr ""
"Matches the request if and only if the host level in within the given range."
"<br>Host level is defined as the <b>number of dot-separated segments</b> of "
"the host (domain name).<br>Example: <code>www.example.com</code> is with a "
"host level of 3, while <code>internal</code> is of host level 1."
msgid "condition_IpCondition"
msgstr "IP Literals"
msgid "condition_help_IpCondition"
msgstr ""
"Matches the request if and only if the host is a <b>literal</b> IP address and"
" in the subnet as specified by <a href='"
"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation'>"
"CIDR notation</a>.<br>For example, given the rule <code>127.0.0.1/16</code>, "
"it matches all IP addresses like <code>127.0.*.*</code>.<br>"
"So <code>127.0.0.1</code> matches while <code>127.1.0.0</code> does not. "
"Host names like <code>localhost</code> will never match because they are "
"<b>not</b> IP literals."
msgid "condition_UrlWildcardCondition"
msgstr "URL wildcard"
msgid "condition_help_UrlWildcardCondition"
msgstr ""
"Matches URLs of the request by wildcard.<br>See the Host wildcard section "
"above for a quick wildcard reference.<br>Note that URL wildcards are not "
"specially treated (no subdomain magic as in Host wildcard).<br>So <code>*://"
"*.example.com/*</code> matches http://www.example.com/ but <b>does not</b> "
"match http://example.com/."
msgid "condition_UrlRegexCondition"
msgstr "URL regex"
msgid "condition_help_UrlRegexCondition"
msgstr ""
"Matches URL by extremely powerful <a href='https://www.google.com/search?"
"q=regular%20expression'>regular expression</a>.<br>However, regular "
"expressions can be hard to construct (and read).<br>It is recommended to use "
"wildcards for most cases and only use regex for conditions that cannot be "
"achieved by any other condition type."
msgid "condition_KeywordCondition"
msgstr "Schlüsselwort"
msgid "condition_help_KeywordCondition"
msgstr ""
"A keyword condition matches if the URL protocol is HTTP, and the pattern is "
"an exact sub-string of the URL.<br>It behaves like the URL wildcard pattern "
"<code>http://*<b>pattern</b>*</code>, where <b>pattern</b> is the keyword "
"pattern.<br>Keyword conditions are useful if you want to bypass a firewall "
"blocking some keywords in the URL, by requesting such URLs through a proxy."
msgid "condition_FalseCondition"
msgstr "(Ausgeschaltet)"
msgid "condition_details_FalseCondition"
msgstr "(Bedingung wird ignoriert wenn zutreffend)"
msgid "condition_help_FalseCondition"
msgstr ""
"You can disable a condition by setting its type to <code>(Disabled)</code>. "
"A Disabled condition act as if it does not exist.<br>This feature can be "
"used to disable conditions temporarily.<br>Disabled conditions still hold "
"the previous information (like patterns) and can be re-enabled by setting "
"the condition type back to the previous type."
msgid "condition_TimeCondition"
msgstr "Current Time"
msgid "condition_help_TimeCondition"
msgstr ""
"Matches if the current local time is in the range defined by "
"<b>starting hour</b> and <b>ending hour</b>, both inclusive.<br>"
"Local time, starting hour and ending hour are all calculated in "
"<b>24-hour</b> format (from <b>0 to 23</b>). <br>"
"The calculation happens roughly at the moment when the request is sent."
msgid "condition_WeekdayCondition"
msgstr "Day of the Week"
msgid "condition_help_WeekdayCondition"
msgstr ""
"Matches if the <b>current day of week</b> is selected in condition details. "
"Day is calculated according to local timezone.<br>"
"The request and its URL don't matter to this condition. "
"The result is solely based on the day of the week when the request is sent."
msgid "condition_alert_fullUrlLimitation"
msgstr ""
"Full URL matching is no longer possible for <code>https://</code> "
"URLs as of Chrome 52. "
"<a href='https://github.com/FelisCatus/SwitchyOmega/wiki/Chromium-Full-URL-Limitation'>"
"Learn more...</a>"
msgid "condition_alert_fullUrlLimitationLink"
msgstr "https://github.com/FelisCatus/SwitchyOmega/wiki/Chromium-Full-URL-Limitation"
msgid "condition_group_default"
msgstr " "
msgid "condition_group_host"
msgstr "Host"
msgid "condition_group_url"
msgstr "Url"
msgid "condition_group_special"
msgstr "Spezial"
msgid "ruleListFormat_Switchy"
msgstr "Switchy"
msgid "ruleListFormat_AutoProxy"
msgstr "AutoProxy"
msgid "ruleList_usageUrl"
msgstr "https://github.com/FelisCatus/SwitchyOmega/wiki/RuleListUsage"
msgid "ruleList_error_resultNotEnabled"
msgstr "Missing '@with result' directive!"
msgid "ruleList_error_unknownProfile"
msgstr "Unbekanntes Profil: $PROFILE$"
msgid "ruleList_error_missingResultProfile"
msgstr "Benötigt Ergebnis Profil Name in Line $LNO$: $SOURCE$"
msgid "ruleList_error_invalidRule"
msgstr "Invalid rule at Line $LNO$: $SOURCE$"
msgid "ruleList_error_noDefaultRule"
msgstr "Missing default rule with catch-all '*' condition!"
msgid "dialog_close"
msgstr "Close"
msgid "dialog_save"
msgstr "Save changes"
msgid "dialog_ok"
msgstr "OK"
msgid "dialog_cancel"
msgstr "Cancel"
msgid "inputClear_clear"
msgstr "Clear"
msgid "inputClear_restore"
msgstr "Restore"
msgid "options_title"
msgstr "SwitchyOmega Options"
msgid "options_experimental_badge"
msgstr "α"
msgid "options_navHeader_setting"
msgstr "Settings"
msgid "options_navHeader_profiles"
msgstr "Profiles"
msgid "options_navHeader_actions"
msgstr "Actions"
msgid "options_tab_ui"
msgstr "Interface"
msgid "options_tab_general"
msgstr "General"
msgid "options_tab_importExport"
msgstr "Import/Export"
msgid "options_newProfile"
msgstr "New profile…"
msgid "options_apply"
msgstr "Apply changes"
msgid "options_discard"
msgstr "Discard changes"
msgid "options_reset"
msgstr "Reset options"
msgid "options_group_miscOptions"
msgstr "Misc Options"
msgid "options_confirmDeletion"
msgstr "Confirm on condition deletion."
msgid "options_refreshOnProfileChange"
msgstr "Refresh current tab on profile change."
msgid "options_showInspectMenu"
msgstr "Allow inspecting proxy used for page elements via context menu."
msgid "options_addConditionsToBottom"
msgstr "Put new conditions added using the popup to the bottom of the list."
msgid "options_group_keyboardShortcut"
msgstr "Keyboard Shortcut"
msgid "options_menuShortcutHelp"
msgstr ""
"Pressing the shortcut will open the switch popup menu. (Defaults to Alt+Shift"
"+O)."
msgid "options_menuShortcutMore"
msgstr ""
"The items in the popup menu can also be accessed using the keyboard. Press ? "
"(or /) in the menu to learn more."
msgid "options_menuShortcutConfigure"
msgstr "Configure shortcut"
msgid "options_group_switchOptions"
msgstr "Switch Options"
msgid "options_startupProfile"
msgstr "Startup Profile"
msgid "options_startupProfile_none"
msgstr "(Current profile)"
msgid "options_showConditionTypesAdvanced"
msgstr "Show advanced condition types"
msgid "options_showConditionTypesAdvancedHelp"
msgstr ""
"Erschließt neue Arten von fortgeschrittenen, aber komplizierten "
"Schalterbedingungen. Für die meisten Szenarien sollten die "
"Grundbedingungsarten ausreichen, so dass diese Option nicht empfohlen wird."
msgid "options_quickSwitch"
msgstr "Quick Switch"
msgid "options_cycledProfiles"
msgstr "Cycled Profiles"
msgid "options_cycledProfilesHelp"
msgstr ""
"When you click on the icon (or use the shortcut above), the following "
"profiles will be applied in their order."
msgid "options_cycledProfilesTooFew"
msgstr ""
"You need to select at least 2 profiles to enable this function! You can drag "
"them from the box below."
msgid "options_notCycledProfiles"
msgstr "Not Cycled Profiles"
msgid "options_group_proxyChanges"
msgstr "Proxy Changes"
msgid "options_revertProxyChanges"
msgstr "Revert proxy changes done by other apps."
msgid "options_group_conflicts"
msgstr "Conflicts"
msgid "options_conflicts_introduction"
msgstr ""
"Sometimes, other apps will also try to control the proxy settings, resulting "
"in conflicts. Note that ad blockers and other extensions may also use proxy "
"settings under the hood. Such conflicts cannot be avoided due to how the "
"browser works."
msgid "options_conflicts_lowerPriority"
msgstr ""
"A red badge like this on the SwitchyOmega icon indicates that another app has "
"higher priority so SwitchyOmega cannot control the settings. Please try to "
"uninstall SwitchyOmega and reinstall, which should raise SwitchyOmega's "
"priority. If you still see conflicts after reinstallation, please consider "
"removing the other app causing the conflict."
msgid "options_conflicts_higherPriority"
msgstr ""
"If SwitchyOmega has higher priority, you can give the control back to other "
"apps or system settings by selecting $SYSTEMPROFILE$ in the popup menu."
msgid "options_showExternalProfile"
msgstr "Show popup menu item to import proxy settings from other apps."
msgid "options_showExternalProfileHelp"
msgstr ""
"When $SYSTEMPROFILE$ is selected, you can import the effective proxy settings "
"from other apps by selecting $EXTERNALPROFILE$ on the popup menu. "
"The settings will be imported as a profile using the name you provide. "
"Please note that the imported profile is a snapshot and will not reflect "
"any changes from the source app thereafter."
msgid "options_group_networkRequests"
msgstr "Network Requests"
msgid "options_monitorWebRequests"
msgstr "Show count of failed web requests for resources in the current tab."
msgid "options_monitorWebRequestsHelp"
msgstr ""
"A yellow badge will be displayed on the icon if some resources fail to load,"
"<br>and you can set the profile for such resources conveniently via the "
"popup menu."
msgid "options_downloadOptions"
msgstr "Download Options"
msgid "options_downloadOptionsHelp"
msgstr "Configure the update frequency of online rule lists and PAC scripts."
msgid "options_downloadInterval"
msgstr "Download Interval"
msgid "options_downloadInterval_15"
msgstr "15 Minutes"
msgid "options_downloadInterval_60"
msgstr "1 Hour"
msgid "options_downloadInterval_180"
msgstr "3 Hours"
msgid "options_downloadInterval_360"
msgstr "6 Hours"
msgid "options_downloadInterval_720"
msgstr "12 Hours"
msgid "options_downloadInterval_1440"
msgstr "Every day"
msgid "options_downloadInterval_never"
msgstr "Never"
msgid "options_group_importExportProfile"
msgstr "Profile"
msgid "options_exportPacFile"
msgstr "Export as PAC File"
msgid "options_exportPacFileHelp"
msgstr ""
"Export the current profile as a PAC file, so you can use it in other "
"browsers."
msgid "options_exportProfileHelp"
msgstr "To export a profile, use the top-right action bar on the profile page."
msgid "options_exportLegacyRuleList"
msgstr ""
"Export rule lists using Proxy Switchy!/SwitchyPlus/SwitchySharp compatible "
"format when possible."
msgid "options_exportLegacyRuleListHelp"
msgstr ""
"Enable this option only if you publish rule lists for users of those "
"projects.<br>Please consider advising your audience to upgrade to "
"SwitchyOmega for the improvements."
msgid "options_group_importExportSettings"
msgstr "Settings"
msgid "options_makeBackup"
msgstr "Make backup"
msgid "options_makeBackupHelp"
msgstr ""
"Make a full backup of your options (including profiles and all other "
"options)."
msgid "options_restoreLocal"
msgstr "Restore from file"
msgid "options_restoreLocalHelp"
msgstr "Restore your SwitchyOmega options from a local file."
msgid "options_restoreOnline"
msgstr "Restore from online"
msgid "options_restoreOnlinePlaceholder"
msgstr "Options file URL (e.g. 'http://example.com/switchy.bak')"
msgid "options_restoreOnlineSubmit"
msgstr "Restore"
msgid "options_group_syncing"
msgstr "Syncing (Experimental)"
msgid "options_syncEnable"
msgstr "Enable Syncing"
msgid "options_syncEnableForce"
msgstr "Download from Syncing"
msgid "options_syncDisable"
msgstr "Disable syncing"
msgid "options_syncReset"
msgstr "Clear remote copy"
msgid "options_syncPristineHelp"
msgstr ""
"You can now automatically synchronize your settings and profiles across all "
"your desktop devices running Chrome browser."
msgid "options_syncSyncAlert"
msgstr "Your options are automatically synchronized with your other devices."
msgid "options_syncSyncHelp"
msgstr ""
"Please note that you must sign in to Chrome on each of your devices "
"(including this one) for the syncing to actually work. <br> You may check "
"this section on other devices to ensure that it is working."
msgid "options_syncConflictAlert"
msgstr ""
"You have uploaded a copy of your options on another device via syncing."
msgid "options_syncConflictHelp"
msgstr ""
"You may download the remote copy to your device if you like. <br>However, "
"doing so would <b>overwrite your existing settings and profiles</b> on this "
"device."
msgid "options_syncUnsupportedHelp"
msgstr ""
"Options syncing is not supported on your platform or browser. For now, only "
"Chrome browser on desktop is supported."
msgid "options_profileSyncDisabled"
msgstr "Syncing is disabled for this profile."
msgid "options_profileSyncDisabled_quotaPerItem"
msgstr "Syncing is disabled for this profile for using too much storage space."
msgid "options_profileTabPrefix"
msgstr "Profile :: "
msgid "options_renameProfile"
msgstr "Rename"
msgid "options_deleteProfile"
msgstr "Delete"
msgid "options_profileExportRuleList"
msgstr "Publish rule list"
msgid "options_profileExportRuleListHelp"
msgstr "Export Switch Rules as text format for publishing."
msgid "options_profileExportPac"
msgstr "Export PAC"
msgid "options_profileUnsupported"
msgstr "Unsupported profile type $TYPE$!"
msgid "options_profileUnsupportedHelp"
msgstr "The options could be broken, or from a newer version of this program."
msgid "options_profileEditSource"
msgstr "Edit source code"
msgid "options_profileEditSourceHelp"
msgstr "Show help about the source code format"
msgid "options_profileEditSourceHelpUrl"
msgstr ""
"https://github.com/FelisCatus/SwitchyOmega/wiki/SwitchyOmega-conditions-"
"format#result-profile"
msgid "options_group_proxyServers"
msgstr "Proxy servers"
msgid "options_proxy_scheme"
msgstr "Scheme"
msgid "options_proxy_protocol"
msgstr "Protocol"
msgid "options_proxy_server"
msgstr "Server"
msgid "options_proxy_port"
msgstr "Port"
msgid "options_proxy_auth"
msgstr "Authentication"
msgid "options_proxy_authNotSupported"
msgstr "Your browser DOES NOT support $PROTOCOLDISP$ proxy authentication! "
"Please do not report this issue to SwitchyOmega. Contact the support for "
"your browser instead."
msgid "options_proxy_authAllWarningPac"
msgstr ""
"Warning: The username/password may be sent to unexpected servers returned by "
"the PAC script."
msgid "options_proxy_authAllWarningPacUrl"
msgstr ""
"Please make sure that you trust the script provided via the URL above before "
"entering sensitive credentials."
msgid "options_proxy_authAllWarningPacScript"
msgstr ""
"Please make sure that you trust the script below before providing sensitive "
"credentials."
msgid "options_proxy_authReferencedWarning"
msgstr ""
"Additionally, using this profile in other profiles (e.g. Switch Profile) may "
"cause the username/password to be sent to proxy servers configured in other "
"profiles."
msgid "options_scheme_default"
msgstr "(default)"
msgid "options_protocol_direct"
msgstr "DIRECT"
msgid "options_protocol_useDefault"
msgstr "(use default)"
msgid "options_proxy_single"
msgstr "Use the proxy above for all protocols."
msgid "options_proxy_expand"
msgstr "Show Advanced"
msgid "options_group_bypassList"
msgstr "Bypass List"
msgid "options_bypassListHelp"
msgstr ""
"Servers for which you do not want to use any proxy: (One server on each "
"line.)"
msgid "options_bypassListHelpLinkText"
msgstr "(Wildcards and more available…)"
msgid "options_group_pacUrl"
msgstr "PAC URL"
msgid "options_pacUrlHelp"
msgstr ""
"The PAC script will be updated from this URL. If it is left blank, the "
"following script will be used directly instead."
msgid "options_pacUrlFile"
msgstr ""
"PAC profiles with file: URLs can only be applied directly. They cannot be "
"used as result profiles because local files cannot be accessed due to "
"browser limitation."
msgid "options_pacUrlFileDisabled"
msgstr ""
"Therefore, you cannot use local PAC file for this profile. You can create a "
"new PAC profile for that if you really want that."
msgid "options_group_pacScript"
msgstr "PAC Script"
msgid "options_pacScriptLastUpdate"
msgstr "PAC script downloaded at $TIME$:"
msgid "options_pacScriptObsolete"
msgstr ""
"PAC script is obsolete due to URL change. Press the download button above to "
"update."
msgid "options_group_virtualProfile"
msgstr "Virtual Profile"
msgid "options_virtualProfileTarget"
msgstr "Target"
msgid "options_virtualProfileTargetHelp"
msgstr ""
"When this profile is applied, it acts exactly the same as the profile "
"selected below."
msgid "options_group_virtualProfileReplace"
msgstr "Migrate to Virtual Profile"
msgid "options_virtualProfileReplace"
msgstr "Replace target profile"
msgid "options_virtualProfileReplaceHelp"
msgstr ""
"You can migrate existing options to use this virtual profile instead of "
"$PROFILE$. Doing so will update all existing rules concerning $PROFILE$ and "
"point them to this virtual profile, so that their result profile can be "
"controlled here."
msgid "options_group_ruleListConfig"
msgstr "Rule List Config"
msgid "options_ruleListFormat"
msgstr "Rule List Format"
msgid "options_group_ruleListResult"
msgstr "Rule list result profiles"
msgid "options_ruleListMatchProfile"
msgstr "Match profile"
msgid "options_ruleListDefaultProfile"
msgstr "Default profile"
msgid "options_group_ruleListUrl"
msgstr "Rule List URL"
msgid "options_ruleListUrlHelp"
msgstr ""
"The rule list will be updated from this URL. If it is left blank, the "
"following text will be parsed instead."
msgid "options_group_ruleListText"
msgstr "Rule List Text"
msgid "options_ruleListLastUpdate"
msgstr "Rule list downloaded at $TIME$:"
msgid "options_ruleListObsolete"
msgstr ""
"Rule list is obsolete due to URL change. Press the download button above to "
"update."
msgid "options_group_switchRules"
msgstr "Switch rules"
msgid "options_sort"
msgstr "Sort"
msgid "options_conditionType"
msgstr "Condition Type"
msgid "options_showConditionTypeHelp"
msgstr "Show help"
msgid "options_conditionDetails"
msgstr "Condition Details"
msgid "options_resultProfile"
msgstr "Profile"
msgid "options_conditionActions"
msgstr "Actions"
msgid "options_addCondition"
msgstr "Add condition"
msgid "options_cloneRule"
msgstr "Clone"
msgid "options_ruleNote"
msgstr "Note"
msgid "options_switchAttachedProfileInCondition"
msgstr "Rule list rules"
msgid "options_switchAttachedProfileInConditionDetails"
msgstr "(Any request matching the rule list below)"
msgid "options_switchAttachedProfileInConditionDisabled"
msgstr "(Rule list rules are DISABLED)"
msgid "options_switchDefaultProfile"
msgstr "Default"
msgid "options_hostLevelsBetween"
msgstr "≤ host levels ≤"
msgid "options_hourBetween"
msgstr "≤ current hour ≤"
msgid "options_weekDayShort_0"
msgstr "Su"
msgid "options_weekDayShort_1"
msgstr "Mo"
msgid "options_weekDayShort_2"
msgstr "Tu"
msgid "options_weekDayShort_3"
msgstr "We"
msgid "options_weekDayShort_4"
msgstr "Th"
msgid "options_weekDayShort_5"
msgstr "Fr"
msgid "options_weekDayShort_6"
msgstr "Sa"
msgid "options_group_conditionHelp"
msgstr "About Condition Types"
msgid "options_group_attachProfile"
msgstr "Import online rule lists"
msgid "options_attachProfile"
msgstr "Add a rule list"
msgid "options_attachProfileHelp"
msgstr ""
"You can reuse an online collection of conditions published by others by "
"adding a rule list."
msgid "options_modalHeader_welcome"
msgstr "Welcome to SwitchyOmega"
msgid "options_welcomeNormal"
msgstr ""
"You have successfully installed SwitchyOmega, the ultimate proxy switcher."
msgid "options_welcomeNormalGuide"
msgstr ""
"Please tell SwitchyOmega about your proxies through the options page. Let's "
"see how."
msgid "options_welcomeUpgrade"
msgstr ""
"You have successfully upgraded to SwitchyOmega. Don't panic, your existing "
"options are fully preserved."
msgid "options_welcomeUpgradeGuide"
msgstr "Now let's go through a quick guide of the new options page."
msgid "options_guideNext"
msgstr "Next"
msgid "options_guideDone"
msgstr "Done"
msgid "options_guideSkip"
msgstr "Skip guide"
msgid "options_modalHeader_applyOptions"
msgstr "Apply Options"
msgid "options_optionsNotSaved"
msgstr ""
"Your modifications to the options have not been saved and will be lost if "
"you proceed!"
msgid "options_applyOptionsRequired"
msgstr "Your changes to the options must be applied before you proceed."
msgid "options_applyOptionsConfirm"
msgstr "Do you want to save and apply the options?"
msgid "options_modalHeader_renameProfile"
msgstr "Rename Profile"
msgid "options_renameProfileName"
msgstr "New profile name"
msgid "options_profileNameConflict"
msgstr "A profile with this name already exists."
msgid "options_profileNameReserved"
msgstr "Profile names beginning with double-underscore are reserved."
msgid "options_profileNameHidden"
msgstr ""
"Profiles with names starting with underscore will be hidden on the popup "
"menu. However, they can still be used in places like switch profile results."
msgid "options_modalHeader_replaceProfile"
msgstr "Replace Profile"
msgid "options_replaceProfile"
msgstr "Replace Profile"
msgid "options_replaceProfileConfirm"
msgstr "Do you really want to replace $FromProfile$ with $ToProfile$?"
msgid "options_replaceProfileHelp"
msgstr ""
"If you proceed, all rules pointing to $FromProfile$ will be updated to use "
"$ToProfile$ instead. Other options, such as startup profile and Quick Switch "
"will also be modified as appropriate. However, the two profile themselves "
"will NOT be changed or deleted."
msgid "options_replaceProfileSuccess"
msgstr "Options updated."
msgid "options_modalHeader_deleteProfile"
msgstr "Delete Profile"
msgid "options_deleteProfileConfirm"
msgstr "Do you really want to delete the following profile?"
msgid "options_modalHeader_cannotDeleteProfile"
msgstr "Unable to Delete Profile"
msgid "options_profileReferredBy"
msgstr ""
"This profile cannot be deleted because it is referred by the following "
"profiles:"
msgid "options_modifyReferringProfiles"
msgstr ""
"You must modify these profiles and make them stop referring to this profile "
"before you can delete it."
msgid "options_profileNameEmpty"
msgstr "The name of the profile must not be empty."
msgid "popup_title"
msgstr "SwitchyOmega Popup"
msgid "options_modalHeader_proxyAuth"
msgstr "Proxy Authentication"
msgid "options_proxyAuthUsername"
msgstr "Username"
msgid "options_proxyAuthPassword"
msgstr "Password"
msgid "options_proxyAuthShowPassword"
msgstr "Show password"
msgid "options_proxyAuthHidePassword"
msgstr "Hide password"
msgid "options_proxyAuthNone"
msgstr "No Authentication"
msgid "options_modalHeader_deleteRule"
msgstr "Delete Rule"
msgid "options_deleteRuleConfirm"
msgstr "Do you really want to delete the following rule?"
msgid "options_deleteRule"
msgstr "Delete"
msgid "options_modalHeader_resetRules"
msgstr "Reset rules"
msgid "options_resetRulesConfirm"
msgstr ""
"Are you sure to set the result profile of ALL rules to the following profile?"
msgid "options_resetRules"
msgstr "Reset rules"
msgid "options_resetRules_help"
msgstr "Set profile for all rules"
msgid "options_modalHeader_deleteAttached"
msgstr "Remove Rule List"
msgid "options_deleteAttachedConfirm"
msgstr "Do you really want to remove the rule list from the current profile?"
msgid "options_ruleListLineCount"
msgstr "$COUNT$ line(s) of rules"
msgid "options_deleteAttached"
msgstr "Remove rule list"
msgid "options_modalHeader_newProfile"
msgstr "New Profile"
msgid "options_newProfileName"
msgstr "Profile name"
msgid "options_profileType"
msgstr "Please select the type of the profile:"
msgid "options_profileTypeFixedProfile"
msgstr "Proxy Profile"
msgid "options_profileDescFixedProfile"
msgstr "Tunneling traffic through proxy servers."
msgid "options_profileTypePacProfile"
msgstr "PAC Profile"
msgid "options_profileDescPacProfile"
msgstr "Choosing proxies using an online/local PAC script."
msgid "options_profileDescMorePacProfile"
msgstr ""
"You will only need this if you have a PAC script or a URL to it. Don't try "
"to create one unless you have knowledge about PAC."
msgid "options_profileTypeSwitchProfile"
msgstr "Switch Profile"
msgid "options_profileDescSwitchProfile"
msgstr ""
"Applying different profiles automatically on various conditions such as "
"domains or patterns.\n"
" You can also import rules published online for easier switching. (Replaces "
"AutoSwitch mode + Rule List.)"
msgid "options_profileTypeRuleListProfile"
msgstr "Rule List Profile"
msgid "options_profileDescRuleListProfile"
msgstr "Reusing an online collection of conditions published by others."
msgid "options_profileTypeVirtualProfile"
msgstr "Virtual Profile"
msgid "options_profileDescVirtualProfile"
msgstr ""
"A virtual profile can act as any of the other profiles on demand. It works "
"well with SwitchProfile, allowing you to change the result of multiple "
"conditions by one click."
msgid "options_createProfile"
msgstr "Create"
msgid "options_modalHeader_resetOptions"
msgstr "Reset Options"
msgid "options_resetOptionsConfirm"
msgstr ""
"Do you really want to reset the options? All profiles and settings will be "
"LOST!"
msgid "options_formInvalid"
msgstr "Please correct the errors in this page."
msgid "options_profileNotFound"
msgstr "Profile $PROFILE$ does not exist! The options may be corrupted."
msgid "options_resetSuccess"
msgstr "Options reset."
msgid "options_saveSuccess"
msgstr "Options saved."
msgid "options_importSuccess"
msgstr "Options imported."
msgid "options_importFormatError"
msgstr "Invalid backup file!"
msgid "options_importDownloadError"
msgstr "Error downloading backup file!"
msgid "options_profileDownloadSuccess"
msgstr "Successfully updated profile."
msgid "options_profileDownloadError"
msgstr "Error downloading profile data!"
msgid "options_profileDownloadError_NetworkError"
msgstr "A network error occurred when updating."
msgid "options_profileDownloadError_HttpError"
msgstr "An HTTP error ($STATUS$) occurred when updating."
msgid "options_profileDownloadError_HttpNotFoundError"
msgstr "The Profile URL was not found on the server. Please double-check."
msgid "options_profileDownloadError_HttpServerError"
msgstr "The remote server responded with error ($STATUS$) when updating."
msgid "options_profileDownloadError_ContentTypeRejectedError"
msgstr "The downloaded data is invalid! "
"You may open the Profile URL in your browser to inspect it."
msgid "options_downloadProfileNow"
msgstr "Download Profile Now"
msgid "options_guide_fixedProfileStep"
msgstr ""
"A <b>Proxy Profile</b> contains settings like server ip & port for proxy."
"<br>Profiles are the the basic configuration units in SwitchyOmega.<br>We "
"have already created an example profile for you. Try opening it."
msgid "options_guide_fixedServersStep"
msgstr ""
"You can fill in your proxy server and port here as you like.<br>SwitchyOmega "
"<b>does not come with any proxy servers</b>.<br>Please consult your network "
"provider or proxy software manual if you don't know what should be filled in "
"here."
msgid "options_guide_autoSwitchProfileStep"
msgstr ""
"You can tell SwitchyOmega to switch between proxies automatically through "
"the mighty <b>Switch Profile</b>.<br>However, its features cannot be covered "
"in this quick guide.<br>You can open this profile to unlock its power some "
"time later."
msgid "options_guide_addMoreProfilesStep"
msgstr ""
"Need more profiles? You can always add more <b>Proxy, Switch and other "
"profiles</b><br>for all your proxying needs.<br>Enjoy proxying!"
msgid "options_guide_conditionStep"
msgstr ""
"SwitchyOmega can apply different profiles to requests based on "
"<b>conditions</b>.<br> For example, the <b>Host wildcard</b> condition "
"allows you to set the profile for all URLs in a domain."
msgid "options_guide_conditionTypeStep"
msgstr ""
"You can use various condition types to match the host or full URL. <br> "
"Click on the question mark to open the type reference."
msgid "options_guide_conditionProfileStep"
msgstr ""
"SwitchyOmega applies the selected profile here to <b>any request matching "
"the condition.</b> <br> The special <b>\"[Direct]\" profile</b> will cause "
"the request to be sent without any proxy."
msgid "options_guide_switchDefaultStep"
msgstr ""
"If no condition applies to some request, the \"Default\" profile will be "
"used. <br>Conditions are always considered <b>from top to bottom</b> in "
"order.<br>You can change their order by dragging the sort icon."
msgid "options_guide_applySwitchProfileStep"
msgstr ""
"When you are done setting the switch profile, don't forget to <b>switch to "
"it in the popup menu.</b><br/> The icon will show you the <b>final result</"
"b> profile applied for the current tab. <br/> <b>Hovering</b> on the icon "
"will reveal a tooltip with details."
msgid "popup_externalProfile"
msgstr "(External Profile)"
msgid "popup_externalProfileName"
msgstr "profile name"
msgid "popup_proxyNotControllable_app"
msgstr ""
"The proxy settings are controlled by other app(s) or extension(s). Please "
"disable or uninstall the apps or extensions in conflict."
msgid "popup_proxyNotControllable_policy"
msgstr ""
"The proxy settings are overruled by policies. Please contact your "
"administrator."
msgid "popup_proxyNotControllable_unknown"
msgstr ""
"The proxy settings cannot be controlled. Please check your system and "
"browser settings."
msgid "popup_proxyNotControllable_disabled"
msgstr ""
"The proxy settings are disabled by explicit request from other app(s) or "
"extension(s)."
msgid "popup_proxyNotControllable_upgrade"
msgstr "Proxy settings are now controlled by a newer version of SwitchyOmega."
msgid "popup_proxyNotControllableDetails"
msgstr ""
"You cannot switch profiles with SwitchyOmega unless you fix the problem "
"above."
msgid "popup_proxyNotControllableDetails_upgrade"
msgstr ""
"You can't enable two (or more) versions of SwitchyOmega at the same time. "
"Please disable one of them."
msgid "popup_proxyNotControllableManage"
msgstr "Manage extensions"
msgid "popup_addConditionTo"
msgstr "Add condition to"
msgid "popup_addCondition"
msgstr "Add condition"
msgid "popup_showOptions"
msgstr "Options"
msgid "popup_reportIssues"
msgstr "Report issues"
msgid "popup_errorLog"
msgstr "Save error log"
msgid "popup_requestErrorCount"
msgstr "$COUNT$ failed resources"
msgid "popup_requestErrorHeading"
msgstr "Resources that failed to load"
msgid "popup_requestErrorWarning"
msgstr ""
"A few resources failed to load due to issues with your network, proxy server "
"or the webpage."
msgid "popup_requestErrorWarningHelp"
msgstr ""
"SwitchyOmega is just the reporter of these issues, not the cause of them."
msgid "popup_requestErrorAddCondition"
msgstr ""
"You can review the following domains and use proxy for them when appropriate."
msgid "popup_requestErrorCannotAddCondition"
msgstr ""
"You can add switch conditions for them only when using a Switch Profile."
msgid "popup_configureMonitorWebRequests"
msgstr "Configure Network Monitor"
msgid "options_resultProfileForSelectedDomains"
msgstr "Use this profile for all selected domains"
msgid "options_pac_profile_unsupported_moz"
msgstr "PAC Profiles WILL NOT work in Mozilla Firefox due to technical limitations!"
msgid "popup_issueTemplate"
msgstr ""
"\n"
"\n"
"\n"
"<!-- Please write your comment ABOVE this line. -->\n"
"SwitchyOmega $projectVersion$\n"
"$userAgent$"
msgid "browserAction_profileDetails_PacProfile"
msgstr "(PAC script)"
msgid "browserAction_profileDetails_SystemProfile"
msgstr "(controlled by other extensions or environment)"
msgid "browserAction_profileDetails_DirectProfile"
msgstr "(not using any proxy)"
msgid "browserAction_profileDetails_SwitchProfile"
msgstr "(switching based on conditions)"
msgid "browserAction_profileDetails_RuleListProfile"
msgstr "(switching based on rule list)"
msgid "browserAction_titleNormal"
msgstr "SwitchyOmega:: $PROFILE$"
msgid "browserAction_titleWithResult"
msgstr ""
"SwitchyOmega:: $1:PROFILE$\n"
"$3:DETAILS$"
msgid "browserAction_titleNewerOptions"
msgstr ""
"ERROR: A newer version of SwitchOmega is required to load the stored options."
msgid "browserAction_titleOptionError"
msgstr "ERROR: The stored options are corrupted. Click here to RESET OPTIONS."
msgid "browserAction_titleDownloadFail"
msgstr "Warning: Failed to download PAC scripts and/or rule lists."
msgid "browserAction_titleExternalProxy"
msgstr "Note: The proxy settings are currently controlled by other app(s)."
msgid "browserAction_titleInspect"
msgstr "[Inspect] $URL$"
msgid "browserAction_defaultRuleDetails"
msgstr "(default)"
msgid "browserAction_directResult"
msgstr "DIRECT"
msgid "browserAction_attachedPrefix"
msgstr "(RL) "
msgid "browserAction_tempRulePrefix"
msgstr "(TEMP) "
msgid "contextMenu_inspectPage"
msgstr "Inspect proxy used for this page"
msgid "contextMenu_inspectFrame"
msgstr "Inspect proxy used for this Frame"
msgid "contextMenu_inspectLink"
msgstr "Inspect proxy to be used if this Link is opened"
msgid "contextMenu_inspectElement"
msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
msgid "about_title"
msgstr "About"
msgid "about_app_description"
msgstr "A proxy configuration tool"
msgid "about_version"
msgstr "Version $VERSION$"
msgid "about_experimental_warning_moz"
msgstr "Mozilla Firefox support is highly experimental! If you encounter issues, please report using the buttons below."
msgid "about_disclaimer_networkService"
msgstr "SwitchyOmega does not provide proxies, VPNs, or other network services."
msgid "about_disclaimer_privacy"
msgstr "SwitchyOmega does not track you or insert ads into webpages. Please see"
" our <a href='https://github.com/FelisCatus/SwitchyOmega/wiki/Privacy#english'>privacy policy</a>."
msgid "about_help"
msgstr "Other questions? Need help with using SwitchyOmega? Please see our "
"<a href='https://github.com/FelisCatus/SwitchyOmega/wiki/FAQ'>FAQ</a>."
msgid "about_copyright"
msgstr "Copyright 2012-2017 <a href='https://github.com/FelisCatus/SwitchyOmega/blob/master/AUTHORS'>The SwitchyOmega Authors</a>. All rights reserved."
msgid "about_credits"
msgstr "SwitchyOmega is made possible by the <a href='https://github.com/FelisCatus/SwitchyOmega'>SwitchyOmega</a> open source project and other <a href='https://github.com/FelisCatus/SwitchyOmega/blob/master/AUTHORS'>open source software</a>."
msgid "about_license"
msgstr "SwitchyOmega is <a href='https://www.gnu.org/philosophy/free-sw.en.html'>free software</a> licensed under <a href='https://www.gnu.org/licenses/gpl.html'>GNU General Public License</a> Version 3 or later."
================================================
FILE: omega-locales/en_US/LC_MESSAGES/omega-web.po
================================================
msgid ""
msgstr ""
"Project-Id-Version: SwitchyOmega 2.3.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-13 10:29+0000\n"
"PO-Revision-Date: 2018-06-13 01:52+0000\n"
"Last-Translator: Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>\n"
"Language-Team: English (United States) <https://hosted.weblate.org/projects/"
"switchyomega/main/en_US/>\n"
"Language: en_US\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: Weblate 3.0.1\n"
msgid "appNameShort"
msgstr "SwitchyOmega"
msgid "manifest_app_name"
msgstr "Proxy SwitchyOmega"
msgid "manifest_app_description"
msgstr "Manage and switch between multiple proxies quickly & easily."
msgid "manifest_icon_default_title"
msgstr "Loading…"
msgid "upgrade_profile_auto"
msgstr "Auto Switch"
msgid "profile_direct"
msgstr "[Direct]"
msgid "profile_system"
msgstr "[System Proxy]"
msgid "condition_HostWildcardCondition"
msgstr "Host wildcard"
msgid "condition_help_HostWildcardCondition"
msgstr ""
"Matches hosts (domain names) by wildcard.<br><b>The asterisk <code>*</code></"
"b> matches zero or more characters.<br><b>The question mark <code>?</code></b> "
"matches exactly one character.<br><br>Note that rules beginning with <code>*.</"
"code> are specially treated only in Host wildcard conditions.<br>Example: <"
"code>*.example.com</code> will match www.example.com <b>AND example.com as "
"well.</b><br>To match subdomains <b>only</b>, use <b>two</b> asterisks like <"
"code>**.example.com</code>."
msgid "condition_HostRegexCondition"
msgstr "Host regex"
msgid "condition_help_HostRegexCondition"
msgstr ""
"Like Host wildcard condition, but matches hosts (domain names) by <a href='"
"https://www.google.com/search?q=regular%20expression'>regular expression</a>.<"
"br>Regular expressions can be hard to construct (and read).<br>It is "
"recommended to use wildcards for most cases and only use regex for conditions "
"that cannot be achieved by any other condition type."
msgid "condition_HostLevelsCondition"
msgstr "Host levels"
msgid "condition_help_HostLevelsCondition"
msgstr ""
"Matches the request if and only if the host level in within the given range.<"
"br>Host level is defined as the <b>number of dot-separated segments</b> of "
"the host (domain name).<br>Example: <code>www.example.com</code> is with a "
"host level of 3, while <code>internal</code> is of host level 1."
msgid "condition_IpCondition"
msgstr "IP Literals"
msgid "condition_help_IpCondition"
msgstr ""
"Matches the request if and only if the host is a <b>literal</b> IP address and"
" in the subnet as specified by <a href='"
"https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation'>"
"CIDR notation</a>.<br>For example, given the rule <code>127.0.0.1/16</code>, "
"it matches all IP addresses like <code>127.0.*.*</code>.<br>"
"So <code>127.0.0.1</code> matches while <code>127.1.0.0</code> does not. "
"Host names like <code>localhost</code> will never match because they are "
"<b>not</b> IP literals."
msgid "condition_UrlWildcardCondition"
msgstr "URL wildcard"
msgid "condition_help_UrlWildcardCondition"
msgstr ""
"Matches URLs of the request by wildcard.<br>See the Host wildcard section "
"above for a quick wildcard reference.<br>Note that URL wildcards are not "
"specially treated (no subdomain magic as in Host wildcard).<br>So <code>*://*."
"example.com/*</code> matches http://www.example.com/ but <b>does not</b> "
"match http://example.com/."
msgid "condition_UrlRegexCondition"
msgstr "URL regex"
msgid "condition_help_UrlRegexCondition"
msgstr ""
"Matches URL by extremely powerful <a href='https://www.google.com/search?q="
"regular%20expression'>regular expression</a>.<br>However, regular expressions "
"can be hard to construct (and read).<br>It is recommended to use wildcards "
"for most cases and only use regex for conditions that cannot be achieved by "
"any other condition type."
msgid "condition_KeywordCondition"
msgstr "Keyword"
msgid "condition_help_KeywordCondition"
msgstr ""
"A keyword condition matches if the URL protocol is HTTP, and the pattern is "
"an exact sub-string of the URL.<br>It behaves like the URL wildcard pattern <"
"code>http://*<b>pattern</b>*</code>, where <b>pattern</b> is the keyword "
"pattern.<br>Keyword conditions are useful if you want to bypass a firewall "
"blocking some keywords in the URL, by requesting such URLs through a proxy."
msgid "condition_FalseCondition"
msgstr "(Disabled)"
msgid "condition_details_FalseCondition"
msgstr "(Condition ignored when matching)"
msgid "condition_help_FalseCondition"
msgstr ""
"You can disable a condition by setting its type to <code>(Disabled)</code>. A "
"Disabled condition act as if it does not exist.<br>This feature can be used "
"to disable conditions temporarily.<br>Disabled conditions still hold the "
"previous information (like patterns) and can be re-enabled by setting the "
"condition type back to the previous type."
msgid "condition_TimeCondition"
msgstr "Current Time"
msgid "condition_help_TimeCondition"
msgstr ""
"Matches if the current local time is in the range defined by "
"<b>starting hour</b> and <b>ending hour</b>, both inclusive.<br>"
"Local time, starting hour and ending hour are all calculated in "
"<b>24-hour</b> format (from <b>0 to 23</b>). <br>"
"The calculation happens roughly at the moment when the request is sent."
msgid "condition_WeekdayCondition"
msgstr "Day of the Week"
msgid "condition_help_WeekdayCondition"
msgstr ""
"Matches if the <b>current day of week</b> is selected in condition details. "
"Day is calculated according to local timezone.<br>"
"The request and its URL don't matter to this condition. "
"The result is solely based on the day of the week when the request is sent."
msgid "condition_alert_fullUrlLimitation"
msgstr ""
"Full URL matching is no longer possible for <code>https://</code> "
"URLs as of Chrome 52. "
"<a href='https://github.com/FelisCatus/SwitchyOmega/wiki/Chromium-Full-URL-Limitation'>"
"Learn more...</a>"
msgid "condition_alert_fullUrlLimitationLink"
msgstr "https://github.com/FelisCatus/SwitchyOmega/wiki/Chromium-Full-URL-Limitation"
msgid "condition_group_default"
msgstr " "
msgid "condition_group_host"
msgstr "Host"
msgid "condition_group_url"
msgstr "Url"
msgid "condition_group_special"
msgstr "Special"
msgid "ruleListFormat_Switchy"
msgstr "Switchy"
msgid "ruleListFormat_AutoProxy"
msgstr "AutoProxy"
msgid "ruleList_usageUrl"
msgstr "https://github.com/FelisCatus/SwitchyOmega/wiki/RuleListUsage"
msgid "ruleList_error_resultNotEnabled"
msgstr "Missing '@with result' directive!"
msgid "ruleList_error_unknownProfile"
msgstr "Unknown profile: $PROFILE$"
msgid "ruleList_error_missingResultProfile"
msgstr "Missing result profile name at Line $LNO$: $SOURCE$"
msgid "ruleList_error_invalidRule"
msgstr "Invalid rule at Line $LNO$: $SOURCE$"
msgid "ruleList_error_noDefaultRule"
msgstr "Missing default rule with catch-all '*' condition!"
msgid "dialog_close"
msgstr "Close"
msgid "dialog_save"
msgstr "Save changes"
msgid "dialog_ok"
msgstr "OK"
msgid "dialog_cancel"
msgstr "Cancel"
msgid "inputClear_clear"
msgstr "Clear"
msgid "inputClear_restore"
msgstr "Restore"
msgid "options_title"
msgstr "SwitchyOmega Options"
msgid "options_experimental_badge"
msgstr "α"
msgid "options_navHeader_setting"
msgstr "Settings"
msgid "options_navHeader_profiles"
msgstr "Profiles"
msgid "options_navHeader_actions"
msgstr "Actions"
msgid "options_tab_ui"
msgstr "Interface"
msgid "options_tab_general"
msgstr "General"
msgid "options_tab_importExport"
msgstr "Import/Export"
msgid "options_newProfile"
msgstr "New profile…"
msgid "options_apply"
msgstr "Apply changes"
msgid "options_discard"
msgstr "Discard changes"
msgid "options_reset"
msgstr "Reset options"
msgid "options_group_miscOptions"
msgstr "Misc Options"
msgid "options_confirmDeletion"
msgstr "Confirm on condition deletion."
msgid "options_refreshOnProfileChange"
msgstr "Refresh current tab on profile change."
msgid "options_showInspectMenu"
msgstr "Allow inspecting proxy used for page elements via context menu."
msgid "options_addConditionsToBottom"
msgstr "Put new conditions added using the popup to the bottom of the list."
msgid "options_group_keyboardShortcut"
msgstr "Keyboard Shortcut"
msgid "options_menuShortcutHelp"
msgstr ""
"Pressing the shortcut will open the switch popup menu. (Defaults to Alt+Shift+"
"O)."
msgid "options_menuShortcutMore"
msgstr ""
"The items in the popup menu can also be accessed using the keyboard. Press ? ("
"or /) in the menu to learn more."
msgid "options_menuShortcutConfigure"
msgstr "Configure shortcut"
msgid "options_group_switchOptions"
msgstr "Switch Options"
msgid "options_startupProfile"
msgstr "Startup Profile"
msgid "options_startupProfile_none"
msgstr "(Current profile)"
msgid "options_showConditionTypesAdvanced"
msgstr "Show advanced condition types"
msgid "options_showConditionTypesAdvancedHelp"
msgstr ""
"Unlocks new types of advanced but complicated switch conditions. For most "
"scenarios, the basic condition types should be enough, so this option is not "
"recommended."
msgid "options_quickSwitch"
msgstr "Quick Switch"
msgid "options_cycledProfiles"
msgstr "Cycled Profiles"
msgid "options_cycledProfilesHelp"
msgstr ""
"When you click on the icon (or use the shortcut above), the following "
"profiles will be applied in their order."
msgid "options_cycledProfilesTooFew"
msgstr ""
"You need to select at least 2 profiles to enable this function! You can drag "
"them from the box below."
msgid "options_notCycledProfiles"
msgstr "Not Cycled Profiles"
msgid "options_group_proxyChanges"
msgstr "Proxy Changes"
msgid "options_revertProxyChanges"
msgstr "Revert proxy changes done by other apps."
msgid "options_group_conflicts"
msgstr "Conflicts"
msgid "options_conflicts_introduction"
msgstr ""
"Sometimes, other apps will also try to control the proxy settings, resulting "
"in conflicts. Note that ad blockers and other extensions may also use proxy "
"settings under the hood. Such conflicts cannot be avoided due to how the "
"browser works."
msgid "options_conflicts_lowerPriority"
msgstr ""
"A red badge like this on the SwitchyOmega icon indicates that another app has "
"higher priority so SwitchyOmega cannot control the settings. Please try to "
"uninstall SwitchyOmega and reinstall, which should raise SwitchyOmega's "
"priority. If you still see conflicts after reinstallation, please consider "
"removing the other app causing the conflict."
msgid "options_conflicts_higherPriority"
msgstr ""
"If SwitchyOmega has higher priority, you can give the control back to other "
"apps or system settings by selecting $SYSTEMPROFILE$ in the popup menu."
msgid "options_showExternalProfile"
msgstr "Show popup menu item to import proxy settings from other apps."
msgid "options_showExternalProfileHelp"
msgstr ""
"When $SYSTEMPROFILE$ is selected, you can import the effective proxy settings "
"from other apps by selecting $EXTERNALPROFILE$ on the popup menu. "
"The settings will be imported as a profile using the name you provide. "
"Please note that the imported profile is a snapshot and will not reflect "
"any changes from the source app thereafter."
msgid "options_group_networkRequests"
msgstr "Network Requests"
msgid "options_monitorWebRequests"
msgstr "Show count of failed web requests for resources in the current tab."
msgid "options_monitorWebRequestsHelp"
msgstr "A yellow badge will be displayed on the icon if some resources fail to load,<br>"
"and you can set the profile for such resources conveniently via the popup menu."
msgid "options_downloadOptions"
msgstr "Download Options"
msgid "options_downloadOptionsHelp"
msgstr "Configure the update frequency of online rule lists and PAC scripts."
msgid "options_downloadInterval"
msgstr "Download Interval"
msgid "options_downloadInterval_15"
msgstr "15 Minutes"
msgid "options_downloadInterval_60"
msgstr "1 Hour"
msgid "options_downloadInterval_180"
msgstr "3 Hours"
msgid "options_downloadInterval_360"
msgstr "6 Hours"
msgid "options_downloadInterval_720"
msgstr "12 Hours"
msgid "options_downloadInterval_1440"
msgstr "Every day"
msgid "options_downloadInterval_never"
msgstr "Never"
msgid "options_group_importExportProfile"
msgstr "Profile"
msgid "options_exportPacFile"
msgstr "Export as PAC File"
msgid "options_exportPacFileHelp"
msgstr "Export the current profile as a PAC file, so you can use it in other browsers."
msgid "options_exportProfileHelp"
msgstr "To export a profile, use the top-right action bar on the profile page."
msgid "options_exportLegacyRuleList"
msgstr ""
"Export rule lists using Proxy Switchy!/SwitchyPlus/SwitchySharp compatible "
"format when possible."
msgid "options_exportLegacyRuleListHelp"
msgstr ""
"Enable this option only if you publish rule lists for users of those projects.<"
"br>Please consider advising your audience to upgrade to SwitchyOmega for the "
"improvements."
msgid "options_group_importExportSettings"
msgstr "Settings"
msgid "options_makeBackup"
msgstr "Make backup"
msgid "options_makeBackupHelp"
msgstr "Make a full backup of your options (including profiles and all other options)."
msgid "options_restoreLocal"
msgstr "Restore from file"
msgid "options_restoreLocalHelp"
msgstr "Restore your SwitchyOmega options from a local file."
msgid "options_restoreOnline"
msgstr "Restore from online"
msgid "options_restoreOnlinePlaceholder"
msgstr "Options file URL (e.g. 'http://example.com/switchy.bak')"
msgid "options_restoreOnlineSubmit"
msgstr "Restore"
msgid "options_group_syncing"
msgstr "Syncing (Experimental)"
msgid "options_syncEnable"
msgstr "Enable Syncing"
msgid "options_syncEnableForce"
msgstr "Download from Syncing"
msgid "options_syncDisable"
msgstr "Disable syncing"
msgid "options_syncReset"
msgstr "Clear remote copy"
msgid "options_syncPristineHelp"
msgstr ""
"You can now automatically synchronize your settings and profiles across all "
"your desktop devices running Chrome browser."
msgid "options_syncSyncAlert"
msgstr "Your options are automatically synchronized with your other devices."
msgid "options_syncSyncHelp"
msgstr ""
"Please note that you must sign in to Chrome on each of your devices ("
"including this one) for the syncing to actually work. <br> You may check this "
"section on other devices to ensure that it is working."
msgid "options_syncConflictAlert"
msgstr "You have uploaded a copy of your options on another device via syncing."
msgid "options_syncConflictHelp"
msgstr ""
"You may download the remote copy to your device if you like. <br>However, "
"doing so would <b>overwrite your existing settings and profiles</b> on this "
"device."
msgid "options_syncUnsupportedHelp"
msgstr ""
"Options syncing is not supported on your platform or browser. For now, only "
"Chrome browser on desktop is supported."
msgid "options_profileSyncDisabled"
msgstr "Syncing is disabled for this profile."
msgid "options_profileSyncDisabled_quotaPerItem"
msgstr "Syncing is disabled for this profile for using too much storage space."
msgid "options_profileTabPrefix"
msgstr "Profile :: "
msgid "options_renameProfile"
msgstr "Rename"
msgid "options_deleteProfile"
msgstr "Delete"
msgid "options_profileExportRuleList"
msgstr "Publish rule list"
msgid "options_profileExportRuleListHelp"
msgstr "Export Switch Rules as text format for publishing."
msgid "options_profileExportPac"
msgstr "Export PAC"
msgid "options_profileUnsupported"
msgstr "Unsupported profile type $TYPE$!"
msgid "options_profileUnsupportedHelp"
msgstr "The options could be broken, or from a newer version of this program."
msgid "options_profileEditSource"
msgstr "Edit source code"
msgid "options_profileEditSourceHelp"
msgstr "Show help about the source code format"
msgid "options_profileEditSourceHelpUrl"
msgstr ""
"https://github.com/FelisCatus/SwitchyOmega/wiki/SwitchyOmega-conditions-"
"format#result-profile"
msgid "options_group_proxyServers"
msgstr "Proxy servers"
msgid "options_proxy_scheme"
msgstr "Scheme"
msgid "options_proxy_protocol"
msgstr "Protocol"
msgid "options_proxy_server"
msgstr "Server"
msgid "options_proxy_port"
msgstr "Port"
msgid "options_proxy_auth"
msgstr "Authentication"
msgid "options_proxy_authNotSupported"
msgstr "Your browser DOES NOT support $PROTOCOLDISP$ proxy authentication! "
"Please do not report this issue to SwitchyOmega. Contact the support for "
"your browser instead."
msgid "options_proxy_authAllWarningPac"
msgstr ""
"Warning: The username/password may be sent to unexpected servers returned by "
"the PAC script."
msgid "options_proxy_authAllWarningPacUrl"
msgstr ""
"Please make sure that you trust the script provided via the URL above before "
"entering sensitive credentials."
msgid "options_proxy_authAllWarningPacScript"
msgstr ""
"Please make sure that you trust the script below before providing sensitive "
"credentials."
msgid "options_proxy_authReferencedWarning"
msgstr ""
"Additionally, using this profile in other profiles (e.g. Switch Profile) may "
"cause the username/password to be sent to proxy servers configured in other "
"profiles."
msgid "options_scheme_default"
msgstr "(default)"
msgid "options_protocol_direct"
msgstr "DIRECT"
msgid "options_protocol_useDefault"
msgstr "(use default)"
msgid "options_proxy_single"
msgstr "Use the proxy above for all protocols."
msgid "options_proxy_expand"
msgstr "Show Advanced"
msgid "options_group_bypassList"
msgstr "Bypass List"
msgid "options_bypassListHelp"
msgstr "Servers for which you do not want to use any proxy: (One server on each line.)"
msgid "options_bypassListHelpLinkText"
msgstr "(Wildcards and more available…)"
msgid "options_group_pacUrl"
msgstr "PAC URL"
msgid "options_pacUrlHelp"
msgstr ""
"The PAC script will be updated from this URL. If it is left blank, the "
"following script will be used directly instead."
msgid "options_pacUrlFile"
msgstr ""
"PAC profiles with file: URLs can only be applied directly. They cannot be "
"used as result profiles because local files cannot be accessed due to browser "
"limitation."
msgid "options_pacUrlFileDisabled"
msgstr ""
"Therefore, you cannot use local PAC file for this profile. You can create a "
"new PAC profile for that if you really want that."
msgid "options_group_pacScript"
msgstr "PAC Script"
msgid "options_pacScriptLastUpdate"
msgstr "PAC script downloaded at $TIME$:"
msgid "options_pacScriptObsolete"
msgstr ""
"PAC script is obsolete due to URL change. Press the download button above to "
"update."
msgid "options_group_virtualProfile"
msgstr "Virtual Profile"
msgid "options_virtualProfileTarget"
msgstr "Target"
msgid "options_virtualProfileTargetHelp"
msgstr ""
"When this profile is applied, it acts exactly the same as the profile "
"selected below."
msgid "options_group_virtualProfileReplace"
msgstr "Migrate to Virtual Profile"
msgid "options_virtualProfileReplace"
msgstr "Replace target profile"
msgid "options_virtualProfileReplaceHelp"
msgstr ""
"You can migrate existing options to use this virtual profile instead of $"
"PROFILE$. Doing so will update all existing rules concerning $PROFILE$ and "
"point them to this virtual profile, so that their result profile can be "
"controlled here."
msgid "options_group_ruleListConfig"
msgstr "Rule List Config"
msgid "options_ruleListFormat"
msgstr "Rule List Format"
msgid "options_group_ruleListResult"
msgstr "Rule list result profiles"
msgid "options_ruleListMatchProfile"
msgstr "Match profile"
msgid "options_ruleListDefaultProfile"
msgstr "Default profile"
msgid "options_group_ruleListUrl"
msgstr "Rule List URL"
msgid "options_ruleListUrlHelp"
msgstr ""
"The rule list will be updated from this URL. If it is left blank, the "
"following text will be parsed instead."
msgid "options_group_ruleListText"
msgstr "Rule List Text"
msgid "options_ruleListLastUpdate"
msgstr "Rule list downloaded at $TIME$:"
msgid "options_ruleListObsolete"
msgstr ""
"Rule list is obsolete due to URL change. Press the download button above to "
"update."
msgid "options_group_switchRules"
msgstr "Switch rules"
msgid "options_sort"
msgstr "Sort"
msgid "options_conditionType"
msgstr "Condition Type"
msgid "options_showConditionTypeHelp"
msgstr "Show help"
msgid "options_conditionDetails"
msgstr "Condition Details"
msgid "options_resultProfile"
msgstr "Profile"
msgid "options_conditionActions"
msgstr "Actions"
msgid "options_addCondition"
msgstr "Add condition"
msgid "options_cloneRule"
msgstr "Clone"
msgid "options_ruleNote"
msgstr "Note"
msgid "options_switchAttachedProfileInCondition"
msgstr "Rule list rules"
msgid "options_switchAttachedProfileInConditionDetails"
msgstr "(Any request matching the rule list below)"
msgid "options_switchAttachedProfileInConditionDisabled"
msgstr "(Rule list rules are DISABLED)"
msgid "options_switchDefaultProfile"
msgstr "Default"
msgid "options_hostLevelsBetween"
msgstr "≤ host levels ≤"
msgid "options_hourBetween"
msgstr "≤ current hour ≤"
msgid "options_weekDayShort_0"
msgstr "Su"
msgid "options_weekDayShort_1"
msgstr "Mo"
msgid "options_weekDayShort_2"
msgstr "Tu"
msgid "options_weekDayShort_3"
msgstr "We"
msgid "options_weekDayShort_4"
msgstr "Th"
msgid "options_weekDayShort_5"
msgstr "Fr"
msgid "options_weekDayShort_6"
msgstr "Sa"
msgid "options_group_conditionHelp"
msgstr "About Condition Types"
msgid "options_group_attachProfile"
msgstr "Import online rule lists"
msgid "options_attachProfile"
msgstr "Add a rule list"
msgid "options_attachProfileHelp"
msgstr ""
"You can reuse an online collection of conditions published by others by "
"adding a rule list."
msgid "options_modalHeader_welcome"
msgstr "Welcome to SwitchyOmega"
msgid "options_welcomeNormal"
msgstr "You have successfully installed SwitchyOmega, the ultimate proxy switcher."
msgid "options_welcomeNormalGuide"
msgstr ""
"Please tell SwitchyOmega about your proxies through the options page. Let's "
"see how."
msgid "options_welcomeUpgrade"
msgstr ""
"You have successfully upgraded to SwitchyOmega. Don't panic, your existing "
"options are fully preserved."
msgid "options_welcomeUpgradeGuide"
msgstr "Now let's go through a quick guide of the new options page."
msgid "options_guideNext"
msgstr "Next"
msgid "options_guideDone"
msgstr "Done"
msgid "options_guideSkip"
msgstr "Skip guide"
msgid "options_modalHeader_applyOptions"
msgstr "Apply Options"
msgid "options_optionsNotSaved"
msgstr ""
"Your modifications to the options have not been saved and will be lost if you "
"proceed!"
msgid "options_applyOptionsRequired"
msgstr "Your changes to the options must be applied before you proceed."
msgid "options_applyOptionsConfirm"
msgstr "Do you want to save and apply the options?"
msgid "options_modalHeader_renameProfile"
msgstr "Rename Profile"
msgid "options_renameProfileName"
msgstr "New profile name"
msgid "options_profileNameConflict"
msgstr "A profile with this name already exists."
msgid "options_profileNameReserved"
msgstr "Profile names beginning with double-underscore are reserved."
msgid "options_profileNameHidden"
msgstr ""
"Profiles with names starting with underscore will be hidden on the popup menu. "
"However, they can still be used in places like switch profile results."
msgid "options_modalHeader_replaceProfile"
msgstr "Replace Profile"
msgid "options_replaceProfile"
msgstr "Replace Profile"
msgid "options_replaceProfileConfirm"
msgstr "Do you really want to replace $FromProfile$ with $ToProfile$?"
msgid "options_replaceProfileHelp"
msgstr ""
"If you proceed, all rules pointing to $FromProfile$ will be updated to use $"
"ToProfile$ instead. Other options, such as startup profile and Quick Switch "
"will also be modified as appropriate. However, the two profile themselves "
"will NOT be changed or deleted."
msgid "options_replaceProfileSuccess"
msgstr "Options updated."
msgid "options_modalHeader_deleteProfile"
msgstr "Delete Profile"
msgid "options_deleteProfileConfirm"
msgstr "Do you really want to delete the following profile?"
msgid "options_modalHeader_cannotDeleteProfile"
msgstr "Unable to Delete Profile"
msgid "options_profileReferredBy"
msgstr ""
"This profile cannot be deleted because it is referred by the following "
"profiles:"
msgid "options_modifyReferringProfiles"
msgstr ""
"You must modify these profiles and make them stop referring to this profile "
"before you can delete it."
msgid "options_profileNameEmpty"
msgstr "The name of the profile must not be empty."
msgid "popup_title"
msgstr "SwitchyOmega Popup"
msgid "options_modalHeader_proxyAuth"
msgstr "Proxy Authentication"
msgid "options_proxyAuthUsername"
msgstr "Username"
msgid "options_proxyAuthPassword"
msgstr "Password"
msgid "options_proxyAuthShowPassword"
msgstr "Show password"
msgid "options_proxyAuthHidePassword"
msgstr "Hide password"
msgid "options_proxyAuthNone"
msgstr "No Authentication"
msgid "options_modalHeader_deleteRule"
msgstr "Delete Rule"
msgid "options_deleteRuleConfirm"
msgstr "Do you really want to delete the following rule?"
msgid "options_deleteRule"
msgstr "Delete"
msgid "options_modalHeader_resetRules"
msgstr "Reset rules"
msgid "options_resetRulesConfirm"
msgstr "Are you sure to set the result profile of ALL rules to the following profile?"
msgid "options_resetRules"
msgstr "Reset rules"
msgid "options_resetRules_help"
msgstr "Set profile for all rules"
msgid "options_modalHeader_deleteAttached"
msgstr "Remove Rule List"
msgid "options_deleteAttachedConfirm"
msgstr "Do you really want to remove the rule list from the current profile?"
msgid "options_ruleListLineCount"
msgstr "$COUNT$ line(s) of rules"
msgid "options_deleteAttached"
msgstr "Remove rule list"
msgid "options_modalHeader_newProfile"
msgstr "New Profile"
msgid "options_newProfileName"
msgstr "Profile name"
msgid "options_profileType"
msgstr "Please select the type of the profile:"
msgid "options_profileTypeFixedProfile"
msgstr "Proxy Profile"
msgid "options_profileDescFixedProfile"
msgstr "Tunneling traffic through proxy servers."
msgid "options_profileTypePacProfile"
msgstr "PAC Profile"
msgid "options_profileDescPacProfile"
msgstr "Choosing proxies using an online/local PAC script."
msgid "options_profileDescMorePacProfile"
msgstr ""
"You will only need this if you have a PAC script or a URL to it. Don't try to "
"create one unless you have knowledge about PAC."
msgid "options_profileTypeSwitchProfile"
msgstr "Switch Profile"
msgid "options_profileDescSwitchProfile"
msgstr ""
"Applying different profiles automatically on various conditions such as "
"domains or patterns.\n"
" You can also import rules published online for easier switching. (Replaces "
"AutoSwitch mode + Rule List.)"
msgid "options_profileTypeRuleListProfile"
msgstr "Rule List Profile"
msgid "options_profileDescRuleListProfile"
msgstr "Reusing an online collection of conditions published by others."
msgid "options_profileTypeVirtualProfile"
msgstr "Virtual Profile"
msgid "options_profileDescVirtualProfile"
msgstr ""
"A virtual profile can act as any of the other profiles on demand. It works "
"well with SwitchProfile, allowing you to change the result of multiple "
"conditions by one click."
msgid "options_createProfile"
msgstr "Create"
msgid "options_modalHeader_resetOptions"
msgstr "Reset Options"
msgid "options_resetOptionsConfirm"
msgstr ""
"Do you really want to reset the options? All profiles and settings will be "
"LOST!"
msgid "options_formInvalid"
msgstr "Please correct the errors in this page."
msgid "options_profileNotFound"
msgstr "Profile $PROFILE$ does not exist! The options may be corrupted."
msgid "options_resetSuccess"
msgstr "Options reset."
msgid "options_saveSuccess"
msgstr "Options saved."
msgid "options_importSuccess"
msgstr "Options imported."
msgid "options_importFormatError"
msgstr "Invalid backup file!"
msgid "options_importDownloadError"
msgstr "Error downloading backup file!"
msgid "options_profileDownloadSuccess"
msgstr "Successfully updated profile."
msgid "options_profileDownloadError"
msgstr "Error downloading profile data!"
msgid "options_profileDownloadError_NetworkError"
msgstr "A network error occurred when updating."
msgid "options_profileDownloadError_HttpError"
msgstr "An HTTP error ($STATUS$) occurred when updating."
msgid "options_profileDownloadError_HttpNotFoundError"
msgstr "The Profile URL was not found on the server. Please double-check."
msgid "options_profileDownloadError_HttpServerError"
msgstr "The remote server responded with error ($STATUS$) when updating."
msgid "options_profileDownloadError_ContentTypeRejectedError"
msgstr "The downloaded data is invalid! "
"You may open the Profile URL in your browser to inspect it."
msgid "options_downloadProfileNow"
msgstr "Download Profile Now"
msgid "options_guide_fixedProfileStep"
msgstr ""
"A <b>Proxy Profile</b> contains settings like server ip & port for proxy.<"
"br>Profiles are the the basic configuration units in SwitchyOmega.<br>We have "
"already created an example profile for you. Try opening it."
msgid "options_guide_fixedServersStep"
msgstr ""
"You can fill in your proxy server and port here as you like.<br>SwitchyOmega <"
"b>does not come with any proxy servers</b>.<br>Please consult your network "
"provider or proxy software manual if you don't know what should be filled in "
"here."
msgid "options_guide_autoSwitchProfileStep"
msgstr ""
"You can tell SwitchyOmega to switch between proxies automatically through the "
"mighty <b>Switch Profile</b>.<br>However, its features cannot be covered in "
"this quick guide.<br>You can open this profile to unlock its power some time "
"later."
msgid "options_guide_addMoreProfilesStep"
msgstr ""
"Need more profiles? You can always add more <b>Proxy, Switch and other "
"profiles</b><br>for all your proxying needs.<br>Enjoy proxying!"
msgid "options_guide_conditionStep"
msgstr ""
"SwitchyOmega can apply different profiles to requests based on <b>conditions</"
"b>.<br> For example, the <b>Host wildcard</b> condition allows you to set the "
"profile for all URLs in a domain."
msgid "options_guide_conditionTypeStep"
msgstr ""
"You can use various condition types to match the host or full URL. <br> Click "
"on the question mark to open the type reference."
msgid "options_guide_conditionProfileStep"
msgstr ""
"SwitchyOmega applies the selected profile here to <b>any request matching the "
"condition.</b> <br> The special <b>\"[Direct]\" profile</b> will cause the "
"request to be sent without any proxy."
msgid "options_guide_switchDefaultStep"
msgstr ""
"If no condition applies to some request, the \"Default\" profile will be used. <"
"br>Conditions are always considered <b>from top to bottom</b> in order.<br>"
"You can change their order by dragging the sort icon."
msgid "options_guide_applySwitchProfileStep"
msgstr ""
"When you are done setting the switch profile, don't forget to <b>switch to it "
"in the popup menu.</b><br/> The icon will show you the <b>final result</b> "
"profile applied for the current tab. <br/> <b>Hovering</b> on the icon will "
"reveal a tooltip with details."
msgid "popup_externalProfile"
msgstr "(External Profile)"
msgid "popup_externalProfileName"
msgstr "profile name"
msgid "popup_proxyNotControllable_app"
msgstr ""
"The proxy settings are controlled by other app(s) or extension(s). Please "
"disable or uninstall the apps or extensions in conflict."
msgid "popup_proxyNotControllable_policy"
msgstr ""
"The proxy settings are overruled by policies. Please contact your "
"administrator."
msgid "popup_proxyNotControllable_unknown"
msgstr ""
"The proxy settings cannot be controlled. Please check your system and browser "
"settings."
msgid "popup_proxyNotControllable_disabled"
msgstr ""
"The proxy settings are disabled by explicit request from other app(s) or "
"extension(s)."
msgid "popup_proxyNotControllable_upgrade"
msgstr "Proxy settings are now controlled by a newer version of SwitchyOmega."
msgid "popup_proxyNotControllableDetails"
msgstr "You cannot switch profiles with SwitchyOmega unless you fix the problem above."
msgid "popup_proxyNotControllableDetails_upgrade"
msgstr ""
"You can't enable two (or more) versions of SwitchyOmega at the same time. "
"Please disable one of them."
msgid "popup_proxyNotControllableManage"
msgstr "Manage extensions"
msgid "popup_addConditionTo"
msgstr "Add condition to"
msgid "popup_addCondition"
msgstr "Add condition"
msgid "popup_showOptions"
msgstr "Options"
msgid "popup_reportIssues"
msgstr "Report issues"
msgid "popup_errorLog"
msgstr "Save error log"
msgid "popup_requestErrorCount"
msgstr "$COUNT$ failed resources"
msgid "popup_requestErrorHeading"
msgstr "Resources that failed to load"
msgid "popup_requestErrorWarning"
msgstr "A few resources failed to load due to issues with your network, proxy server or the webpage."
msgid "popup_requestErrorWarningHelp"
msgstr "SwitchyOmega is just the reporter of these issues, not the cause of them."
msgid "popup_requestErrorAddCondition"
msgstr "You can review the following domains and use proxy for them when appropriate."
msgid "popup_requestErrorCannotAddCondition"
msgstr "You can add switch conditions for them only when using a Switch Profile."
msgid "popup_configureMonitorWebRequests"
msgstr "Configure Network Monitor"
msgid "options_resultProfileForSelectedDomains"
msgstr "Use this profile for all selected domains"
msgid "options_pac_profile_unsupported_moz"
msgstr "PAC Profiles WILL NOT work in Mozilla Firefox due to technical limitations!"
msgid "popup_issueTemplate"
msgstr ""
"\n"
"\n"
"\n"
"<!-- Please write your comment ABOVE this line. -->\n"
"SwitchyOmega $projectVersion$\n"
"$userAgent$"
msgid "browserAction_profileDetails_PacProfile"
msgstr "(PAC script)"
msgid "browserAction_profileDetails_SystemProfile"
msgstr "(controlled by other extensions or environment)"
msgid "browserAction_profileDetails_DirectProfile"
msgstr "(not using any proxy)"
msgid "browserAction_profileDetails_SwitchProfile"
msgstr "(switching based on conditions)"
msgid "browserAction_profileDetails_RuleListProfile"
msgstr "(switching based on rule list)"
msgid "browserAction_titleNormal"
msgstr "SwitchyOmega:: $PROFILE$"
msgid "browserAction_titleWithResult"
msgstr ""
"SwitchyOmega:: $1:PROFILE$\n"
"$3:DETAILS$"
msgid "browserAction_titleNewerOptions"
msgstr "ERROR: A newer version of SwitchOmega is required to load the stored options."
msgid "browserAction_titleOptionError"
msgstr "ERROR: The stored options are corrupted. Click here to RESET OPTIONS."
msgid "browserAction_titleDownloadFail"
msgstr "Warning: Failed to download PAC scripts and/or rule lists."
msgid "browserAction_titleExternalProxy"
msgstr "Note: The proxy settings are currently controlled by other app(s)."
msgid "browserAction_titleInspect"
msgstr "[Inspect] $URL$"
msgid "browserAction_defaultRuleDetails"
msgstr "(default)"
msgid "browserAction_directResult"
msgstr "DIRECT"
msgid "browserAction_attachedPrefix"
msgstr "(RL) "
msgid "browserAction_tempRulePrefix"
msgstr "(TEMP) "
msgid "contextMenu_inspectPage"
msgstr "Inspect proxy used for this page"
msgid "contextMenu_inspectFrame"
msgstr "Inspect proxy used for this Frame"
msgid "contextMenu_inspectLink"
msgstr "Inspect proxy to be used if this Link is opened"
msgid "contextMenu_inspectElement"
msgstr "Inspect proxy used for this Element"
msgid "contextMenu_enableQuickSwitch"
msgstr "Enable Quick Switch"
msgid "about_title"
msgstr "About"
msgid "about_app_description"
msgstr "A proxy configuration tool"
msgid "about_version"
msgstr "Version $VERSION$"
msgid "about_experimental_warning_moz"
msgstr "Mozilla Firefox support is highly experimental! If you encounter issues, please report using the buttons below."
msgid "about_disclaimer_networkService"
msgstr "SwitchyOmega does not provide proxies, VPNs, or ot
gitextract_3lnnenxm/
├── .circleci/
│ └── config.yml
├── .github/
│ ├── ISSUE_TEMPLATE.md
│ └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── .tern-project
├── AUTHORS
├── COPYING
├── README.md
├── omega-build/
│ ├── Gruntfile.coffee
│ └── package.json
├── omega-locales/
│ ├── ach/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── cs/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── de/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── en_US/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── es/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── es_AR/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── fa/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── fr/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── he_IL/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── id/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── is/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── it/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── ja/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── lzh/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── nb_NO/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── nl/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── pl/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── pt/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── pt_BR/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── ru/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── si/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── sk/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── sl/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── tr/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── uk/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── zh_CN/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ ├── zh_Hant/
│ │ └── LC_MESSAGES/
│ │ └── omega-web.po
│ └── zh_TW/
│ └── LC_MESSAGES/
│ └── omega-web.po
├── omega-pac/
│ ├── .gitattributes
│ ├── .gitignore
│ ├── Gruntfile.coffee
│ ├── grunt/
│ │ ├── aliases.coffee
│ │ ├── browserify.coffee
│ │ ├── coffeelint.coffee
│ │ ├── mochaTest.coffee
│ │ └── watch.coffee
│ ├── index.coffee
│ ├── package.json
│ ├── src/
│ │ ├── conditions.coffee
│ │ ├── pac_generator.coffee
│ │ ├── profiles.coffee
│ │ ├── rule_list.coffee
│ │ ├── shexp_utils.coffee
│ │ └── utils.coffee
│ ├── test/
│ │ ├── conditions.coffee
│ │ ├── pac_generator.coffee
│ │ ├── profiles.coffee
│ │ ├── rule_list.coffee
│ │ ├── shexp_utils.coffee
│ │ └── utils.coffee
│ ├── uglifyjs-shim.js
│ └── uglifyjs.js
├── omega-target/
│ ├── .gitignore
│ ├── Gruntfile.coffee
│ ├── grunt/
│ │ ├── aliases.coffee
│ │ ├── browserify.coffee
│ │ ├── coffeelint.coffee
│ │ ├── mochaTest.coffee
│ │ └── watch.coffee
│ ├── index.coffee
│ ├── omega_pac_shim.js
│ ├── package.json
│ ├── src/
│ │ ├── browser_storage.coffee
│ │ ├── default_options.coffee
│ │ ├── errors.coffee
│ │ ├── log.coffee
│ │ ├── options.coffee
│ │ ├── options_sync.coffee
│ │ ├── storage.coffee
│ │ └── utils.coffee
│ └── test/
│ └── options_sync.coffee
├── omega-target-chromium-extension/
│ ├── .gitignore
│ ├── Gruntfile.coffee
│ ├── grunt/
│ │ ├── aliases.coffee
│ │ ├── browserify.coffee
│ │ ├── coffee.coffee
│ │ ├── coffeelint.coffee
│ │ ├── compress.coffee
│ │ ├── copy.coffee
│ │ ├── mochaTest.coffee
│ │ ├── po2crx.coffee
│ │ └── watch.coffee
│ ├── grunt-po2crx.coffee
│ ├── index.coffee
│ ├── omega_target_shim.js
│ ├── overlay/
│ │ ├── background.html
│ │ └── manifest.json
│ ├── package.json
│ └── src/
│ ├── coffee/
│ │ ├── background.coffee
│ │ ├── background_preload.coffee
│ │ ├── omega_debug.coffee
│ │ └── omega_target_web.coffee
│ ├── js/
│ │ ├── omega_target_popup.js
│ │ └── omega_webext_proxy_script.js
│ └── module/
│ ├── chrome_api.coffee
│ ├── chrome_port.coffee
│ ├── external_api.coffee
│ ├── fetch_url.coffee
│ ├── index.coffee
│ ├── inspect.coffee
│ ├── options.coffee
│ ├── proxy/
│ │ ├── index.coffee
│ │ ├── proxy_auth.coffee
│ │ ├── proxy_impl.coffee
│ │ ├── proxy_impl_listener.coffee
│ │ ├── proxy_impl_script.coffee
│ │ └── proxy_impl_settings.coffee
│ ├── storage.coffee
│ ├── switchysharp.coffee
│ ├── tabs.coffee
│ ├── upgrade.coffee
│ └── web_request_monitor.coffee
└── omega-web/
├── .gitattributes
├── .gitignore
├── Gruntfile.coffee
├── bower.json
├── grunt/
│ ├── aliases.coffee
│ ├── autoprefixer.coffee
│ ├── bower.coffee
│ ├── coffee.coffee
│ ├── coffeelint.coffee
│ ├── copy.coffee
│ ├── jade.coffee
│ ├── less.coffee
│ ├── mochaTest.coffee
│ ├── ngAnnotate.coffee
│ └── watch.coffee
├── img/
│ └── icons/
│ └── draw_omega.js
├── package.json
└── src/
├── coffee/
│ ├── log_error.coffee
│ ├── omega_decoration.coffee
│ ├── options.coffee
│ ├── options_guide.coffee
│ ├── popup.coffee
│ └── switch_profile_guide.coffee
├── less/
│ ├── common.less
│ ├── options.less
│ └── popup.less
├── omega/
│ ├── app.coffee
│ ├── controllers/
│ │ ├── about.coffee
│ │ ├── fixed_profile.coffee
│ │ ├── io.coffee
│ │ ├── master.coffee
│ │ ├── pac_profile.coffee
│ │ ├── profile.coffee
│ │ ├── quick_switch.coffee
│ │ ├── rule_list_profile.coffee
│ │ └── switch_profile.coffee
│ ├── directives.coffee
│ └── filters.coffee
├── options.jade
├── partials/
│ ├── about.jade
│ ├── apply_options_confirm.jade
│ ├── cannot_delete_profile.jade
│ ├── delete_attached.jade
│ ├── delete_profile.jade
│ ├── fixed_auth_edit.jade
│ ├── general.jade
│ ├── input_group_clear.jade
│ ├── io.jade
│ ├── new_profile.jade
│ ├── omega_profile_select.jade
│ ├── options_welcome.jade
│ ├── profile.jade
│ ├── profile_fixed.jade
│ ├── profile_pac.jade
│ ├── profile_rule_list.jade
│ ├── profile_switch.jade
│ ├── profile_unsupported.jade
│ ├── profile_virtual.jade
│ ├── rename_profile.jade
│ ├── replace_profile.jade
│ ├── reset_options_confirm.jade
│ ├── rule_remove_confirm.jade
│ ├── rule_reset_confirm.jade
│ └── ui.jade
├── popup/
│ ├── css/
│ │ ├── dialog.css
│ │ └── index.css
│ ├── index.html
│ ├── js/
│ │ ├── i18n.js
│ │ ├── index.js
│ │ ├── keyboard.js
│ │ ├── keyboard_help.js
│ │ ├── loader.js
│ │ ├── profiles.js
│ │ └── proxy_not_controllable.js
│ └── proxy_not_controllable.html
└── popup.jade
SYMBOL INDEX (125 symbols across 8 files)
FILE: omega-pac/uglifyjs.js
function array_to_hash (line 4) | function array_to_hash(a) {
function slice (line 9) | function slice(a, start) {
function characters (line 12) | function characters(str) {
function member (line 15) | function member(name, array) {
function find_if (line 19) | function find_if(func, array) {
function repeat_string (line 24) | function repeat_string(str, i) {
function DefaultsError (line 32) | function DefaultsError(msg, defs) {
function defaults (line 42) | function defaults(args, defs, croak) {
function merge (line 51) | function merge(obj, ext) {
function noop (line 57) | function noop() {}
function MAP (line 59) | function MAP(a, f, backwards) {
function AtTop (line 104) | function AtTop(val) {
function Splice (line 107) | function Splice(val) {
function Last (line 110) | function Last(val) {
function push_uniq (line 115) | function push_uniq(array, el) {
function string_template (line 118) | function string_template(text, props) {
function remove (line 123) | function remove(array, el) {
function mergeSort (line 128) | function mergeSort(array, cmp) {
function set_difference (line 148) | function set_difference(a, b) {
function set_intersection (line 153) | function set_intersection(a, b) {
function makePredicate (line 158) | function makePredicate(words) {
function all (line 195) | function all(array, predicate) {
function Dictionary (line 199) | function Dictionary() {
function DEFNODE (line 243) | function DEFNODE(type, props, methods, base) {
function walk_body (line 335) | function walk_body(node, visitor) {
function TreeWalker (line 1009) | function TreeWalker(callback) {
function is_letter (line 1096) | function is_letter(code) {
function is_digit (line 1099) | function is_digit(code) {
function is_alphanumeric_char (line 1102) | function is_alphanumeric_char(code) {
function is_unicode_combining_mark (line 1105) | function is_unicode_combining_mark(ch) {
function is_unicode_connector_punctuation (line 1108) | function is_unicode_connector_punctuation(ch) {
function is_identifier (line 1111) | function is_identifier(name) {
function is_identifier_start (line 1114) | function is_identifier_start(code) {
function is_identifier_char (line 1117) | function is_identifier_char(ch) {
function is_identifier_string (line 1121) | function is_identifier_string(str) {
function parse_js_number (line 1124) | function parse_js_number(num) {
function JS_Parse_Error (line 1133) | function JS_Parse_Error(message, line, col, pos) {
function js_error (line 1143) | function js_error(message, filename, line, col, pos) {
function is_token (line 1146) | function is_token(token, type, val) {
function tokenizer (line 1150) | function tokenizer($TEXT, filename, html5_comments) {
function parse (line 1496) | function parse($TEXT, options) {
function TreeTransformer (line 2309) | function TreeTransformer(before, after) {
function _ (line 2316) | function _(node, descend) {
function do_list (line 2336) | function do_list(list, tw) {
function SymbolDef (line 2449) | function SymbolDef(scope, index, orig) {
function reset (line 2732) | function reset() {
function base54 (line 2762) | function base54(num) {
function OutputStream (line 2837) | function OutputStream(options) {
function DEFPRINT (line 3138) | function DEFPRINT(nodetype, generator) {
function doit (line 3143) | function doit() {
function PARENS (line 3205) | function PARENS(nodetype, func) {
function display_body (line 3290) | function display_body(body, is_toplevel, output) {
function print_bracketed (line 3323) | function print_bracketed(body, output) {
function make_then (line 3455) | function make_then(self, output) {
function parenthesize_for_noin (line 3577) | function parenthesize_for_noin(node, output, noin) {
function regexp_safe_literal (line 3756) | function regexp_safe_literal(code) {
function force_statement (line 3775) | function force_statement(stat, output) {
function first_in_statement (line 3786) | function first_in_statement(output) {
function no_constructor_parens (line 3798) | function no_constructor_parens(self, output) {
function best_of (line 3801) | function best_of(a) {
function make_num (line 3811) | function make_num(num) {
function make_block (line 3827) | function make_block(stmt, output) {
function DEFMAP (line 3838) | function DEFMAP(nodetype, generator) {
function basic_sourcemap_gen (line 3844) | function basic_sourcemap_gen(self, output) {
function Compressor (line 3869) | function Compressor(options, false_by_default) {
function OPT (line 3928) | function OPT(node, optimizer) {
function make_node (line 3944) | function make_node(ctor, orig, props) {
function make_node_from_constant (line 3952) | function make_node_from_constant(compressor, val, orig) {
function as_statement_array (line 3983) | function as_statement_array(thing) {
function is_empty (line 3990) | function is_empty(thing) {
function loop_body (line 3996) | function loop_body(x) {
function tighten_body (line 4003) | function tighten_body(statements, compressor) {
function extract_declarations_from_unreachable_code (line 4339) | function extract_declarations_from_unreachable_code(compressor, stat, ta...
function best_of (line 4415) | function best_of(ast1, ast2) {
function ev (line 4435) | function ev(node, compressor) {
function basic_negation (line 4566) | function basic_negation(exp) {
function aborts (line 4729) | function aborts(thing) {
function block_aborts (line 4739) | function block_aborts() {
function if_break_in_loop (line 5073) | function if_break_in_loop(self, compressor) {
function has_side_effects_or_prop_access (line 5655) | function has_side_effects_or_prop_access(node, compressor) {
function literals_in_boolean_context (line 6011) | function literals_in_boolean_context(self, compressor) {
function SourceMap (line 6022) | function SourceMap(options) {
function my_start_token (line 6377) | function my_start_token(moznode) {
function my_end_token (line 6388) | function my_end_token(moznode) {
function map (line 6399) | function map(moztype, mytype, propmap) {
function from_moz (line 6518) | function from_moz(node) {
function moz_sub_loc (line 6531) | function moz_sub_loc(token) {
function set_moz_loc (line 6537) | function set_moz_loc(mynode, moznode) {
function def_to_moz (line 6554) | function def_to_moz(mytype, handler) {
function to_moz (line 6559) | function to_moz(node) {
function to_moz_block (line 6562) | function to_moz_block(node) {
FILE: omega-target-chromium-extension/src/js/omega_target_popup.js
function callBackgroundNoReply (line 1) | function callBackgroundNoReply(method, args, cb) {
function callBackground (line 11) | function callBackground(method, args, cb) {
FILE: omega-target-chromium-extension/src/js/omega_webext_proxy_script.js
function FindProxyForURL (line 13) | function FindProxyForURL(url, host, details) {
function warn (line 79) | function warn(message, error) {
function init (line 91) | function init() {
FILE: omega-web/src/popup/js/index.js
function handleClick (line 11) | function handleClick(id, handler) {
function closePopup (line 15) | function closePopup() {
function showOptions (line 22) | function showOptions(e) {
function applyProfile (line 32) | function applyProfile(profileName) {
function setDefaultProfile (line 38) | function setDefaultProfile(profileName, defaultProfileName) {
function addTempRule (line 45) | function addTempRule(domain, profileName) {
function showTempRuleDropdown (line 51) | function showTempRuleDropdown() {
FILE: omega-web/src/popup/js/keyboard.js
function init (line 33) | function init() {
function tabbableElementsOnly (line 58) | function tabbableElementsOnly(node) {
function moveUp (line 71) | function moveUp() {
function moveDown (line 85) | function moveDown() {
function openDropdown (line 98) | function openDropdown() {
function closeDropdown (line 117) | function closeDropdown() {
function showKeyboardHelp (line 125) | function showKeyboardHelp() {
function clickById (line 129) | function clickById(id) {
FILE: omega-web/src/popup/js/keyboard_help.js
function showHelp (line 21) | function showHelp(id, key) {
FILE: omega-web/src/popup/js/profiles.js
function updateMenuByState (line 30) | function updateMenuByState() {
function compareProfile (line 41) | function compareProfile(a, b) {
function updateMenuByPageInfo (line 56) | function updateMenuByPageInfo() {
function updateMenuByStateAndPageInfo (line 66) | function updateMenuByStateAndPageInfo() {
function showMenuForExternalProfile (line 79) | function showMenuForExternalProfile(state) {
function showTempRuleDropdown (line 98) | function showTempRuleDropdown() {
function updateOtherItems (line 104) | function updateOtherItems(state) {
function addProfilesItems (line 122) | function addProfilesItems(state) {
function createMenuItemForProfile (line 188) | function createMenuItemForProfile(profile, profiles) {
function toggleDropdown (line 215) | function toggleDropdown(container, createDropdown) {
function createTempRuleDropdown (line 229) | function createTempRuleDropdown() {
function createDefaultProfileDropdown (line 258) | function createDefaultProfileDropdown(profile) {
FILE: omega-web/src/popup/js/proxy_not_controllable.js
function closePopup (line 2) | function closePopup() {
Condensed preview — 198 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,694K chars).
[
{
"path": ".circleci/config.yml",
"chars": 3393,
"preview": "version: 2\njobs:\n build:\n docker:\n - image: circleci/node:7.10\n\n working_directory: ~/repo\n\n steps:\n "
},
{
"path": ".github/ISSUE_TEMPLATE.md",
"chars": 1409,
"preview": "<!-- BEFORE YOU START / 请先读我\n\nSwitchyOmega is an open source project for proxy configuration. We cannot help\nyou trouble"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 891,
"preview": "### What does this PR do?\n- [ ] Bug fix\n- [ ] Improvement\n- [ ] New feature\n\n(Note: Translations and typo fixes should b"
},
{
"path": ".gitignore",
"chars": 30,
"preview": "node_modules\nbower_components\n"
},
{
"path": ".tern-project",
"chars": 84,
"preview": "{\n \"libs\": [\n \"chai\"\n ],\n \"plugins\": {\n \"node\": {},\n \"coffee\": {}\n }\n}\n"
},
{
"path": "AUTHORS",
"chars": 596,
"preview": "# SwitchyOmega authors:\n\nFelisCatus <catusx@gmail.com>\n\n# SwitchyOmega translators:\n\nFilip <filip@havlin.cz>\nMichal Čiha"
},
{
"path": "COPYING",
"chars": 35147,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
},
{
"path": "README.md",
"chars": 7106,
"preview": "SwitchyOmega\n============\n\nManage and switch between multiple proxies quickly & easily.\n\n[ ->\n submodules = ['omega-pac', 'omega-target', 'omega-web', 'omega-target-*']\n hubConfig =\n "
},
{
"path": "omega-build/package.json",
"chars": 560,
"preview": "{\n \"name\": \"omega-build\",\n \"version\": \"0.0.1\",\n \"private\": true,\n \"devDependencies\": {\n \"grunt\": \"~0.4.1\",\n \"g"
},
{
"path": "omega-locales/ach/LC_MESSAGES/omega-web.po",
"chars": 37194,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/cs/LC_MESSAGES/omega-web.po",
"chars": 37561,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/de/LC_MESSAGES/omega-web.po",
"chars": 37451,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/en_US/LC_MESSAGES/omega-web.po",
"chars": 37248,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/es/LC_MESSAGES/omega-web.po",
"chars": 40248,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/es_AR/LC_MESSAGES/omega-web.po",
"chars": 37676,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/fa/LC_MESSAGES/omega-web.po",
"chars": 37914,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/fr/LC_MESSAGES/omega-web.po",
"chars": 37736,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/he_IL/LC_MESSAGES/omega-web.po",
"chars": 16694,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/id/LC_MESSAGES/omega-web.po",
"chars": 19207,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/is/LC_MESSAGES/omega-web.po",
"chars": 20711,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/it/LC_MESSAGES/omega-web.po",
"chars": 17465,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/ja/LC_MESSAGES/omega-web.po",
"chars": 35942,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/lzh/LC_MESSAGES/omega-web.po",
"chars": 17978,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/nb_NO/LC_MESSAGES/omega-web.po",
"chars": 25453,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/nl/LC_MESSAGES/omega-web.po",
"chars": 19649,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/pl/LC_MESSAGES/omega-web.po",
"chars": 16925,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/pt/LC_MESSAGES/omega-web.po",
"chars": 18952,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/pt_BR/LC_MESSAGES/omega-web.po",
"chars": 37425,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/ru/LC_MESSAGES/omega-web.po",
"chars": 39536,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: Russian (SwitchyOmega)\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2017-11"
},
{
"path": "omega-locales/si/LC_MESSAGES/omega-web.po",
"chars": 16725,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/sk/LC_MESSAGES/omega-web.po",
"chars": 20630,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/sl/LC_MESSAGES/omega-web.po",
"chars": 20779,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/tr/LC_MESSAGES/omega-web.po",
"chars": 25219,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/uk/LC_MESSAGES/omega-web.po",
"chars": 40497,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/zh_CN/LC_MESSAGES/omega-web.po",
"chars": 25968,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/zh_Hant/LC_MESSAGES/omega-web.po",
"chars": 17974,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-locales/zh_TW/LC_MESSAGES/omega-web.po",
"chars": 26052,
"preview": "msgid \"\"\nmsgstr \"\"\n\"Project-Id-Version: SwitchyOmega 2.3.3\\n\"\n\"Report-Msgid-Bugs-To: \\n\"\n\"POT-Creation-Date: 2015-02-13 "
},
{
"path": "omega-pac/.gitattributes",
"chars": 30,
"preview": "uglifyjs.js linguist-vendored\n"
},
{
"path": "omega-pac/.gitignore",
"chars": 28,
"preview": "/index.js\n/omega_pac.min.js\n"
},
{
"path": "omega-pac/Gruntfile.coffee",
"chars": 46,
"preview": "module.exports = require('load-grunt-config')\n"
},
{
"path": "omega-pac/grunt/aliases.coffee",
"chars": 90,
"preview": "module.exports =\n default: [\n 'coffeelint'\n 'browserify'\n ]\n test: ['mochaTest']\n"
},
{
"path": "omega-pac/grunt/browserify.coffee",
"chars": 662,
"preview": "module.exports =\n index:\n files:\n 'index.js': 'index.coffee'\n options:\n transform: ['coffeeify']\n "
},
{
"path": "omega-pac/grunt/coffeelint.coffee",
"chars": 609,
"preview": "module.exports =\n options:\n arrow_spacing: level: 'error'\n colon_assignment_spacing:\n level: 'error'\n s"
},
{
"path": "omega-pac/grunt/mochaTest.coffee",
"chars": 131,
"preview": "module.exports =\n test:\n options:\n reporter: 'spec'\n require: 'coffee-script/register'\n src: ['test/**/"
},
{
"path": "omega-pac/grunt/watch.coffee",
"chars": 209,
"preview": "module.exports =\n grunt:\n options:\n reload: true\n files:\n 'grunt/*'\n tasks: ['coffeelint:tasks', 'de"
},
{
"path": "omega-pac/index.coffee",
"chars": 307,
"preview": "module.exports =\n Conditions: require('./src/conditions')\n PacGenerator: require('./src/pac_generator')\n Profiles: re"
},
{
"path": "omega-pac/package.json",
"chars": 801,
"preview": "{\n \"name\": \"omega-pac\",\n \"version\": \"0.0.1\",\n \"private\": true,\n \"main\": \"./index.js\",\n \"devDependencies\": {\n \"ch"
},
{
"path": "omega-pac/src/conditions.coffee",
"chars": 24831,
"preview": "U2 = require 'uglify-js'\nIP = require 'ip-address'\nUrl = require 'url'\n{shExp2RegExp, escapeSlash} = require './shexp_ut"
},
{
"path": "omega-pac/src/pac_generator.coffee",
"chars": 5257,
"preview": "U2 = require 'uglify-js'\nProfiles = require './profiles'\n\n# PacGenerator is used like a singleton class instance.\n# coff"
},
{
"path": "omega-pac/src/profiles.coffee",
"chars": 17203,
"preview": "U2 = require 'uglify-js'\nShexpUtils = require './shexp_utils'\nConditions = require './conditions'\nRuleList = require './"
},
{
"path": "omega-pac/src/rule_list.coffee",
"chars": 9204,
"preview": "Buffer = require('buffer').Buffer\nConditions = require('./conditions')\n\nstrStartsWith = (str, prefix) ->\n str.substr(0,"
},
{
"path": "omega-pac/src/shexp_utils.coffee",
"chars": 1506,
"preview": "module.exports = exports =\n regExpMetaChars: do ->\n chars = '''\\\\[\\^$.|?*+(){}/'''\n set = {}\n for i in [0...ch"
},
{
"path": "omega-pac/src/utils.coffee",
"chars": 1733,
"preview": "Revision =\n fromTime: (time) ->\n time = if time then new Date(time) else new Date()\n return time.getTime().toStri"
},
{
"path": "omega-pac/test/conditions.coffee",
"chars": 26972,
"preview": "chai = require 'chai'\nshould = chai.should()\nlolex = require 'lolex'\n\ndescribe 'Conditions', ->\n Conditions = require '"
},
{
"path": "omega-pac/test/pac_generator.coffee",
"chars": 1987,
"preview": "chai = require 'chai'\nshould = chai.should()\n\ndescribe 'PacGenerator', ->\n PacGenerator = require '../src/pac_generator"
},
{
"path": "omega-pac/test/profiles.coffee",
"chars": 11498,
"preview": "chai = require 'chai'\nshould = chai.should()\n\ndescribe 'Profiles', ->\n Profiles = require '../src/profiles'\n Condition"
},
{
"path": "omega-pac/test/rule_list.coffee",
"chars": 13496,
"preview": "chai = require 'chai'\nshould = chai.should()\n\ndescribe 'RuleList', ->\n RuleList = require '../src/rule_list'\n describe"
},
{
"path": "omega-pac/test/shexp_utils.coffee",
"chars": 810,
"preview": "chai = require 'chai'\nshould = chai.should()\n\ndescribe 'ShexpUtils', ->\n ShexpUtils = require '../src/shexp_utils'\n de"
},
{
"path": "omega-pac/test/utils.coffee",
"chars": 1120,
"preview": "chai = require 'chai'\nshould = chai.should()\nUtils = require '../src/utils'\n\ndescribe 'getBaseDomain', ->\n {getBaseDoma"
},
{
"path": "omega-pac/uglifyjs-shim.js",
"chars": 54,
"preview": "require('uglify-js-real');\nmodule.exports = UglifyJS;\n"
},
{
"path": "omega-pac/uglifyjs.js",
"chars": 286649,
"preview": "(function(exports, global) {\n global[\"UglifyJS\"] = exports;\n \"use strict\";\n function array_to_hash(a) {\n "
},
{
"path": "omega-target/.gitignore",
"chars": 31,
"preview": "/index.js\n/omega_target.min.js\n"
},
{
"path": "omega-target/Gruntfile.coffee",
"chars": 46,
"preview": "module.exports = require('load-grunt-config')\n"
},
{
"path": "omega-target/grunt/aliases.coffee",
"chars": 90,
"preview": "module.exports =\n default: [\n 'coffeelint'\n 'browserify'\n ]\n test: ['mochaTest']\n"
},
{
"path": "omega-target/grunt/browserify.coffee",
"chars": 684,
"preview": "module.exports =\n index:\n files:\n 'index.js': 'index.coffee'\n options:\n transform: ['coffeeify']\n "
},
{
"path": "omega-target/grunt/coffeelint.coffee",
"chars": 609,
"preview": "module.exports =\n options:\n arrow_spacing: level: 'error'\n colon_assignment_spacing:\n level: 'error'\n s"
},
{
"path": "omega-target/grunt/mochaTest.coffee",
"chars": 131,
"preview": "module.exports =\n test:\n options:\n reporter: 'spec'\n require: 'coffee-script/register'\n src: ['test/**/"
},
{
"path": "omega-target/grunt/watch.coffee",
"chars": 209,
"preview": "module.exports =\n grunt:\n options:\n reload: true\n files:\n 'grunt/*'\n tasks: ['coffeelint:tasks', 'de"
},
{
"path": "omega-target/index.coffee",
"chars": 409,
"preview": "module.exports =\n Log: require('./src/log')\n Storage: require('./src/storage')\n BrowserStorage: require('./src/browse"
},
{
"path": "omega-target/omega_pac_shim.js",
"chars": 27,
"preview": "module.exports = OmegaPac;\n"
},
{
"path": "omega-target/package.json",
"chars": 837,
"preview": "{\n \"name\": \"omega-target\",\n \"version\": \"0.0.1\",\n \"private\": true,\n \"main\": \"./index.js\",\n \"devDependencies\": {\n "
},
{
"path": "omega-target/src/browser_storage.coffee",
"chars": 1391,
"preview": "Storage = require('./storage')\nPromise = require('bluebird')\n\nclass BrowserStorage extends Storage\n constructor: (@stor"
},
{
"path": "omega-target/src/default_options.coffee",
"chars": 1240,
"preview": "module.exports = ->\n schemaVersion: 2\n \"-enableQuickSwitch\": false\n \"-refreshOnProfileChange\": true\n \"-startupProfil"
},
{
"path": "omega-target/src/errors.coffee",
"chars": 782,
"preview": "class NetworkError extends Error\n constructor: (err) ->\n super\n this.cause = err\n this.name = 'NetworkError'\n\n"
},
{
"path": "omega-target/src/log.coffee",
"chars": 1874,
"preview": "### @module omega-target/log ###\nLog = require './log'\n\nreplacer = (key, value) ->\n switch key\n # Hide values for a "
},
{
"path": "omega-target/src/options.coffee",
"chars": 37425,
"preview": "### @module omega-target/options ###\nPromise = require 'bluebird'\nLog = require './log'\nStorage = require './storage'\nOm"
},
{
"path": "omega-target/src/options_sync.coffee",
"chars": 7160,
"preview": "### @module omega-target/options_sync ###\nPromise = require 'bluebird'\nStorage = require './storage'\nLog = require './lo"
},
{
"path": "omega-target/src/storage.coffee",
"chars": 5140,
"preview": "### @module omega-target/storage ###\nPromise = require 'bluebird'\nLog = require './log'\n\nclass Storage\n ###*\n # Any op"
},
{
"path": "omega-target/src/utils.coffee",
"chars": 38,
"preview": "exports.Promise = require('bluebird')\n"
},
{
"path": "omega-target/test/options_sync.coffee",
"chars": 6871,
"preview": "chai = require 'chai'\nshould = chai.should()\nsinon = require 'sinon'\nchai.use require('sinon-chai')\n\ndescribe 'OptionsSy"
},
{
"path": "omega-target-chromium-extension/.gitignore",
"chars": 78,
"preview": "/index.js\n/omega_target_*.min.js\n\n/tmp\n/build\n/release.zip\n/web-ext-artifacts\n"
},
{
"path": "omega-target-chromium-extension/Gruntfile.coffee",
"chars": 354,
"preview": "module.exports = (grunt) ->\n require('load-grunt-config')(grunt)\n require('./grunt-po2crx')(grunt)\n\n grunt.registerTa"
},
{
"path": "omega-target-chromium-extension/grunt/aliases.coffee",
"chars": 183,
"preview": "module.exports =\n default: [\n 'coffeelint'\n 'browserify'\n 'coffee'\n 'copy'\n 'po2crx'\n ]\n test: ['mocha"
},
{
"path": "omega-target-chromium-extension/grunt/browserify.coffee",
"chars": 1166,
"preview": "path = require('path')\nmodule.exports =\n index:\n files:\n 'index.js': 'index.coffee'\n options:\n transfor"
},
{
"path": "omega-target-chromium-extension/grunt/coffee.coffee",
"chars": 128,
"preview": "module.exports =\n coffee:\n expand: true\n cwd: 'src/coffee'\n src: ['**/*.coffee']\n dest: 'build/js/'\n ext"
},
{
"path": "omega-target-chromium-extension/grunt/coffeelint.coffee",
"chars": 621,
"preview": "module.exports =\n options:\n arrow_spacing: level: 'error'\n colon_assignment_spacing:\n level: 'error'\n s"
},
{
"path": "omega-target-chromium-extension/grunt/compress.coffee",
"chars": 308,
"preview": "module.exports =\n options:\n archive: './release.zip'\n mode: 'zip'\n build:\n files: [\n {\n cwd: 'bui"
},
{
"path": "omega-target-chromium-extension/grunt/copy.coffee",
"chars": 590,
"preview": "module.exports =\n web:\n expand: true\n cwd: '../omega-web/build'\n src: ['**/*']\n dest: 'build/'\n target:\n "
},
{
"path": "omega-target-chromium-extension/grunt/mochaTest.coffee",
"chars": 131,
"preview": "module.exports =\n test:\n options:\n reporter: 'spec'\n require: 'coffee-script/register'\n src: ['test/**/"
},
{
"path": "omega-target-chromium-extension/grunt/po2crx.coffee",
"chars": 633,
"preview": "module.exports =\n locales:\n files:\n 'build/_locales/en/messages.json':\n '../omega-locales/en_US/LC_MESSA"
},
{
"path": "omega-target-chromium-extension/grunt/watch.coffee",
"chars": 829,
"preview": "module.exports =\n grunt:\n options:\n reload: true\n files:\n 'grunt/*'\n tasks: ['coffeelint:tasks', 'de"
},
{
"path": "omega-target-chromium-extension/grunt-po2crx.coffee",
"chars": 1563,
"preview": "module.exports = (grunt) ->\n taskDesc = 'Convert gettext PO files to Chromium Extension messages format.'\n # coffeelin"
},
{
"path": "omega-target-chromium-extension/index.coffee",
"chars": 41,
"preview": "module.exports = require('./src/module')\n"
},
{
"path": "omega-target-chromium-extension/omega_target_shim.js",
"chars": 29,
"preview": "module.exports = OmegaTarget\n"
},
{
"path": "omega-target-chromium-extension/overlay/background.html",
"chars": 626,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\" />\n <title>SwitchyOmega Background</title>\n</head>\n<bod"
},
{
"path": "omega-target-chromium-extension/overlay/manifest.json",
"chars": 1902,
"preview": "{\n \"manifest_version\": 2,\n \"name\": \"__MSG_manifest_app_name__\",\n \"version\": \"2.5.21\",\n \"description\": \"__MSG_manifes"
},
{
"path": "omega-target-chromium-extension/package.json",
"chars": 951,
"preview": "{\n \"name\": \"omega-target-chromium-extension\",\n \"version\": \"0.0.1\",\n \"private\": true,\n \"main\": \"./index\",\n \"devDepen"
},
{
"path": "omega-target-chromium-extension/src/coffee/background.coffee",
"chars": 11827,
"preview": "OmegaTargetCurrent = Object.create(OmegaTargetChromium)\nPromise = OmegaTargetCurrent.Promise\nPromise.longStackTraces()\n\n"
},
{
"path": "omega-target-chromium-extension/src/coffee/background_preload.coffee",
"chars": 1095,
"preview": "window.UglifyJS_NoUnsafeEval = true\nlocalStorage['log'] = ''\nlocalStorage['logLastError'] = ''\n\nwindow.OmegaContextMenuQ"
},
{
"path": "omega-target-chromium-extension/src/coffee/omega_debug.coffee",
"chars": 1596,
"preview": "window.OmegaDebug =\n getProjectVersion: ->\n chrome.runtime.getManifest().version\n getExtensionVersion: ->\n chrom"
},
{
"path": "omega-target-chromium-extension/src/coffee/omega_target_web.coffee",
"chars": 5455,
"preview": "angular.module('omegaTarget', []).factory 'omegaTarget', ($q) ->\n decodeError = (obj) ->\n if obj._error == 'error'\n "
},
{
"path": "omega-target-chromium-extension/src/js/omega_target_popup.js",
"chars": 2450,
"preview": "function callBackgroundNoReply(method, args, cb) {\n chrome.runtime.sendMessage({\n method: method,\n args: args,\n "
},
{
"path": "omega-target-chromium-extension/src/js/omega_webext_proxy_script.js",
"chars": 3948,
"preview": "FindProxyForURL = (function () {\n var OmegaPac = require('omega-pac');\n var options = {};\n var state = {};\n var acti"
},
{
"path": "omega-target-chromium-extension/src/module/chrome_api.coffee",
"chars": 581,
"preview": "OmegaTarget = require('omega-target')\nPromise = OmegaTarget.Promise\n\nexports.chromeApiPromisify = (target, method) ->\n "
},
{
"path": "omega-target-chromium-extension/src/module/chrome_port.coffee",
"chars": 2866,
"preview": "# A wrapper around type Port in Chromium Extension API.\n# https://developer.chrome.com/extensions/runtime#type-Port\n#\n# "
},
{
"path": "omega-target-chromium-extension/src/module/external_api.coffee",
"chars": 2140,
"preview": "OmegaTarget = require('omega-target')\nOmegaPac = OmegaTarget.OmegaPac\nPromise = OmegaTarget.Promise\nChromePort = require"
},
{
"path": "omega-target-chromium-extension/src/module/fetch_url.coffee",
"chars": 2901,
"preview": "Promise = OmegaTarget.Promise\nxhr = Promise.promisify(require('xhr'))\nUrl = require('url')\nContentTypeRejectedError = Om"
},
{
"path": "omega-target-chromium-extension/src/module/index.coffee",
"chars": 408,
"preview": "module.exports =\n Storage: require('./storage')\n Options: require('./options')\n ChromeTabs: require('./tabs')\n Switc"
},
{
"path": "omega-target-chromium-extension/src/module/inspect.coffee",
"chars": 2159,
"preview": "OmegaTarget = require('omega-target')\nOmegaPac = OmegaTarget.OmegaPac\nPromise = OmegaTarget.Promise\n\nmodule.exports = cl"
},
{
"path": "omega-target-chromium-extension/src/module/options.coffee",
"chars": 9283,
"preview": "OmegaTarget = require('omega-target')\nOmegaPac = OmegaTarget.OmegaPac\nPromise = OmegaTarget.Promise\nquerystring = requir"
},
{
"path": "omega-target-chromium-extension/src/module/proxy/index.coffee",
"chars": 418,
"preview": "ListenerProxyImpl = require('./proxy_impl_listener')\nSettingsProxyImpl = require('./proxy_impl_settings')\nScriptProxyImp"
},
{
"path": "omega-target-chromium-extension/src/module/proxy/proxy_auth.coffee",
"chars": 2404,
"preview": "OmegaTarget = require('omega-target')\nOmegaPac = OmegaTarget.OmegaPac\nPromise = OmegaTarget.Promise\n\nmodule.exports = cl"
},
{
"path": "omega-target-chromium-extension/src/module/proxy/proxy_impl.coffee",
"chars": 1658,
"preview": "OmegaTarget = require('omega-target')\nPromise = OmegaTarget.Promise\nProxyAuth = require('./proxy_auth')\n\nclass ProxyImpl"
},
{
"path": "omega-target-chromium-extension/src/module/proxy/proxy_impl_listener.coffee",
"chars": 3441,
"preview": "OmegaTarget = require('omega-target')\n# The browser only accepts native promises as onRequest return values.\n# DO NOT US"
},
{
"path": "omega-target-chromium-extension/src/module/proxy/proxy_impl_script.coffee",
"chars": 4289,
"preview": "OmegaTarget = require('omega-target')\nPromise = OmegaTarget.Promise\nProxyImpl = require('./proxy_impl')\n\nclass ScriptPro"
},
{
"path": "omega-target-chromium-extension/src/module/proxy/proxy_impl_settings.coffee",
"chars": 7368,
"preview": "OmegaTarget = require('omega-target')\nOmegaPac = OmegaTarget.OmegaPac\nPromise = OmegaTarget.Promise\nchromeApiPromisify ="
},
{
"path": "omega-target-chromium-extension/src/module/storage.coffee",
"chars": 3853,
"preview": "chromeApiPromisify = require('./chrome_api').chromeApiPromisify\nOmegaTarget = require('omega-target')\nPromise = OmegaTar"
},
{
"path": "omega-target-chromium-extension/src/module/switchysharp.coffee",
"chars": 1558,
"preview": "OmegaTarget = require('omega-target')\nOmegaPac = OmegaTarget.OmegaPac\nPromise = OmegaTarget.Promise\nChromePort = require"
},
{
"path": "omega-target-chromium-extension/src/module/tabs.coffee",
"chars": 2922,
"preview": "class ChromeTabs\n _defaultAction: null\n _badgeTab: null\n\n constructor: (@actionForUrl) ->\n @_dirtyTabs = {}\n re"
},
{
"path": "omega-target-chromium-extension/src/module/upgrade.coffee",
"chars": 6392,
"preview": "OmegaTarget = require('omega-target')\nOmegaPac = OmegaTarget.OmegaPac\n\nmodule.exports = (oldOptions, i18n) ->\n config ="
},
{
"path": "omega-target-chromium-extension/src/module/web_request_monitor.coffee",
"chars": 5652,
"preview": "Heap = require('heap')\nUrl = require('url')\n\nmodule.exports = class WebRequestMonitor\n constructor: (@getSummaryId) ->\n"
},
{
"path": "omega-web/.gitattributes",
"chars": 24,
"preview": "lib/* linguist-vendored\n"
},
{
"path": "omega-web/.gitignore",
"chars": 12,
"preview": "/build\n/tmp\n"
},
{
"path": "omega-web/Gruntfile.coffee",
"chars": 46,
"preview": "module.exports = require('load-grunt-config')\n"
},
{
"path": "omega-web/bower.json",
"chars": 2700,
"preview": "{\n \"name\": \"switchyomega\",\n \"version\": \"0.0.1\",\n \"authors\": [\n \"FelisCatus <felis.catus@example.com>\"\n ],\n \"desc"
},
{
"path": "omega-web/grunt/aliases.coffee",
"chars": 150,
"preview": "module.exports =\n default: [\n 'copy'\n 'jade'\n 'less'\n 'autoprefixer'\n 'coffeelint'\n 'coffee'\n 'bow"
},
{
"path": "omega-web/grunt/autoprefixer.coffee",
"chars": 136,
"preview": "module.exports =\n options:\n map: false\n unprefixed:\n expand: true\n cwd: 'tmp/css'\n src: '**/*.css'\n des"
},
{
"path": "omega-web/grunt/bower.coffee",
"chars": 116,
"preview": "module.exports =\n install:\n options:\n copy: true\n targetDir: 'build/lib/'\n layout: 'byComponent'\n"
},
{
"path": "omega-web/grunt/coffee.coffee",
"chars": 200,
"preview": "module.exports =\n web:\n expand: true\n cwd: 'src/coffee'\n src: ['**/*.coffee']\n dest: 'build/js/'\n ext: '"
},
{
"path": "omega-web/grunt/coffeelint.coffee",
"chars": 589,
"preview": "module.exports =\n options:\n arrow_spacing: level: 'error'\n colon_assignment_spacing:\n level: 'error'\n s"
},
{
"path": "omega-web/grunt/copy.coffee",
"chars": 362,
"preview": "module.exports =\n pac:\n files:\n 'build/js/omega_pac.min.js': 'node_modules/omega-pac/omega_pac.min.js'\n lib:\n "
},
{
"path": "omega-web/grunt/jade.coffee",
"chars": 336,
"preview": "module.exports =\n options:\n pretty: true\n web:\n files: [\n {\n expand: true\n dest: 'build/'\n "
},
{
"path": "omega-web/grunt/less.coffee",
"chars": 169,
"preview": "module.exports =\n web_options:\n files:\n 'tmp/css/options.css': 'src/less/options.less'\n web_popup:\n files:\n"
},
{
"path": "omega-web/grunt/mochaTest.coffee",
"chars": 131,
"preview": "module.exports =\n test:\n options:\n reporter: 'spec'\n require: 'coffee-script/register'\n src: ['test/**/"
},
{
"path": "omega-web/grunt/ngAnnotate.coffee",
"chars": 122,
"preview": "module.exports =\n options:\n singleQuotes: true\n app:\n files:\n 'build/js/omega.ngmin.js': 'build/js/omega.js"
},
{
"path": "omega-web/grunt/watch.coffee",
"chars": 735,
"preview": "module.exports =\n grunt:\n options:\n reload: true\n files:\n 'grunt/*'\n tasks: ['coffeelint:tasks', 'de"
},
{
"path": "omega-web/img/icons/draw_omega.js",
"chars": 500,
"preview": "var drawOmega = function (ctx, outerCircleColor, innerCircleColor) {\n ctx.globalCompositeOperation = \"source-over\";\n c"
},
{
"path": "omega-web/package.json",
"chars": 700,
"preview": "{\n \"name\": \"omega-web\",\n \"version\": \"0.0.1\",\n \"private\": true,\n \"devDependencies\": {\n \"chai\": \"~1.9.1\",\n \"coff"
},
{
"path": "omega-web/src/coffee/log_error.coffee",
"chars": 227,
"preview": "window.onerror = (message, url, line, col, err) ->\n log = localStorage['log'] || ''\n if err?.stack\n log += err.stac"
},
{
"path": "omega-web/src/coffee/omega_decoration.coffee",
"chars": 3990,
"preview": "orderForType =\n 'FixedProfile': -2000\n 'PacProfile': -1000\n 'VirtualProfile': 1000\n 'SwitchProfile': 2000\n 'RuleLis"
},
{
"path": "omega-web/src/coffee/options.coffee",
"chars": 2401,
"preview": "this.UglifyJS_NoUnsafeEval = true\n$script 'lib/angular-loader/angular-loader.min.js',\n 'angular-loader'\n$script 'lib/jq"
},
{
"path": "omega-web/src/coffee/options_guide.coffee",
"chars": 1493,
"preview": "$script 'lib/tether/tether.js', ->\n $script 'lib/shepherd.js/shepherd.min.js', ->\n tr = chrome.i18n.getMessage.bind("
},
{
"path": "omega-web/src/coffee/popup.coffee",
"chars": 10788,
"preview": "module = angular.module('omegaPopup', ['omegaTarget', 'omegaDecoration',\n 'ui.bootstrap', 'ui.validate'])\n\nmodule.filte"
},
{
"path": "omega-web/src/coffee/switch_profile_guide.coffee",
"chars": 2374,
"preview": "$script 'lib/tether/tether.js', ->\n $script 'lib/shepherd.js/shepherd.min.js', ->\n return if jQuery('.switch-rule-ro"
},
{
"path": "omega-web/src/less/common.less",
"chars": 1331,
"preview": "/* angular */\n\n.ng-hide {\n display: none !important;\n}\n\n/* helpers */\n\n.clear-padding {\n padding: 0 !important;\n}\n\n/* "
},
{
"path": "omega-web/src/less/options.less",
"chars": 7993,
"preview": "@import 'common.less';\n\n.width-initial {\n width: auto !important;\n width: initial !important;\n}\n\n.width-limit {\n max-"
},
{
"path": "omega-web/src/less/popup.less",
"chars": 2251,
"preview": "@import 'common.less';\n\n/* popup */\n\nbody {\n margin: 0;\n padding: 0;\n min-width: 180px;\n}\n\nbody.with-condition-form {"
},
{
"path": "omega-web/src/omega/app.coffee",
"chars": 3706,
"preview": "angular.module('omega').constant('builtinProfiles',\n OmegaPac.Profiles.builtinProfiles)\n\nprofileColors = [\n '#9ce', '#"
},
{
"path": "omega-web/src/omega/controllers/about.coffee",
"chars": 438,
"preview": "angular.module('omega').controller 'AboutCtrl', ($scope, $rootScope,\n $modal, omegaDebug) ->\n\n $scope.downloadLog = om"
},
{
"path": "omega-web/src/omega/controllers/fixed_profile.coffee",
"chars": 3453,
"preview": "angular.module('omega').controller 'FixedProfileCtrl', ($scope, $modal,\n trFilter) ->\n $scope.urlSchemes = ['', 'http'"
},
{
"path": "omega-web/src/omega/controllers/io.coffee",
"chars": 2384,
"preview": "angular.module('omega').controller 'IoCtrl', ($scope, $rootScope,\n $window, $http, omegaTarget, downloadFile) ->\n\n ome"
},
{
"path": "omega-web/src/omega/controllers/master.coffee",
"chars": 12013,
"preview": "angular.module('omega').controller 'MasterCtrl', ($scope, $rootScope, $window,\n $q, $modal, $state, profileColors, prof"
},
{
"path": "omega-web/src/omega/controllers/pac_profile.coffee",
"chars": 1844,
"preview": "angular.module('omega').controller 'PacProfileCtrl', ($scope, $modal) ->\n # coffeelint: disable=max_line_length\n\n # ht"
},
{
"path": "omega-web/src/omega/controllers/profile.coffee",
"chars": 4020,
"preview": "angular.module('omega').controller 'ProfileCtrl', ($scope, $stateParams,\n $location, $rootScope, $timeout, $state, $mod"
},
{
"path": "omega-web/src/omega/controllers/quick_switch.coffee",
"chars": 545,
"preview": "angular.module('omega').controller 'QuickSwitchCtrl', ($scope, $filter) ->\n $scope.sortableOptions =\n tolerance: 'po"
},
{
"path": "omega-web/src/omega/controllers/rule_list_profile.coffee",
"chars": 131,
"preview": "angular.module('omega').controller 'RuleListProfileCtrl', ($scope) ->\n $scope.ruleListFormats = OmegaPac.Profiles.ruleL"
},
{
"path": "omega-web/src/omega/controllers/switch_profile.coffee",
"chars": 15546,
"preview": "angular.module('omega').controller 'SwitchProfileCtrl', ($scope, $rootScope,\n $location, $timeout, $q, $modal, profileI"
},
{
"path": "omega-web/src/omega/directives.coffee",
"chars": 1838,
"preview": "angular.module('omega').directive 'inputGroupClear', ($timeout) ->\n restrict: 'A'\n templateUrl: 'partials/input_group_"
},
{
"path": "omega-web/src/omega/filters.coffee",
"chars": 1179,
"preview": "angular.module('omega').filter 'profiles', (builtinProfiles, profileOrder,\n isProfileNameHidden, isProfileNameReserved)"
},
{
"path": "omega-web/src/options.jade",
"chars": 3381,
"preview": "doctype html\nhtml(lang='en' ng-controller='MasterCtrl' ng-csp)\n head\n meta(charset='utf-8')\n title(ng-bind=\"'opti"
},
{
"path": "omega-web/src/partials/about.jade",
"chars": 1540,
"preview": ".page-header\n h2 {{'about_title' | tr}}\nsection.omega-experimental(ng-show='isExperimental')\n p.alert.alert-warning\n "
},
{
"path": "omega-web/src/partials/apply_options_confirm.jade",
"chars": 474,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/cannot_delete_profile.jade",
"chars": 540,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/delete_attached.jade",
"chars": 624,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/delete_profile.jade",
"chars": 533,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/fixed_auth_edit.jade",
"chars": 1788,
"preview": "form(ng-submit='authForm.$valid && $close(auth)' name='authForm')\n .modal-header\n button.close(type='button' ng-clic"
},
{
"path": "omega-web/src/partials/general.jade",
"chars": 1543,
"preview": ".page-header\n h2 {{'options_tab_general' | tr}}\nsection.settings-group\n h3 {{'options_group_networkRequests' | tr}}\n "
},
{
"path": "omega-web/src/partials/input_group_clear.jade",
"chars": 486,
"preview": ".input-group\n input.form-control(ng-model='model' ng-attr-type='{{type}}' ng-pattern='ngPattern || catchAll'\n placeh"
},
{
"path": "omega-web/src/partials/io.jade",
"chars": 3045,
"preview": ".page-header\n h2 {{'options_tab_importExport' | tr}}\nsection.settings-group\n h3 {{'options_group_importExportProfile' "
},
{
"path": "omega-web/src/partials/new_profile.jade",
"chars": 3309,
"preview": "form(ng-submit='newProfile.$valid && $close(profile)' name='newProfile')\n .modal-header\n button.close(type='button' "
},
{
"path": "omega-web/src/partials/omega_profile_select.jade",
"chars": 943,
"preview": ".btn-group.omega-profile-select(dropdown on-toggle=\"toggled(open)\")\n button.btn.btn-default.dropdown-toggle(dropdown-to"
},
{
"path": "omega-web/src/partials/options_welcome.jade",
"chars": 634,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/profile.jade",
"chars": 1737,
"preview": ".page-header\n .profile-actions\n button.btn(ng-show='exportRuleList' ng-click='exportRuleList(profile.name)'\n ti"
},
{
"path": "omega-web/src/partials/profile_fixed.jade",
"chars": 2410,
"preview": "div(ng-controller='FixedProfileCtrl')\n section.settings-group.settings-group-fixed-servers\n h3 {{'options_group_prox"
},
{
"path": "omega-web/src/partials/profile_pac.jade",
"chars": 2447,
"preview": "div(ng-controller='PacProfileCtrl')\n p.alert.alert-danger.width-limit(ng-show='pacProfilesUnsupported')\n span.glyphi"
},
{
"path": "omega-web/src/partials/profile_rule_list.jade",
"chars": 1626,
"preview": "div(ng-controller='RuleListProfileCtrl')\n section.settings-group\n h3 {{'options_group_ruleListConfig' | tr}}\n .fo"
},
{
"path": "omega-web/src/partials/profile_switch.jade",
"chars": 10946,
"preview": "div(ng-controller='SwitchProfileCtrl')\n section.condition-help-section.settings-group(ng-show='conditionHelp.show' ng-i"
},
{
"path": "omega-web/src/partials/profile_unsupported.jade",
"chars": 112,
"preview": ".lead\n | {{'options_profileUnsupported' | tr:profile.profileType}}\np {{'options_profileUnsupportedHelp' | tr}}\n"
},
{
"path": "omega-web/src/partials/profile_virtual.jade",
"chars": 834,
"preview": "div\n section.settings-group\n h3 {{'options_group_virtualProfile' | tr}}\n p.help-block\n | {{'options_virtualP"
},
{
"path": "omega-web/src/partials/rename_profile.jade",
"chars": 1480,
"preview": "form(ng-submit='renameProfile.$valid && $close(newName)' name='renameProfile')\n .modal-header\n button.close(type='bu"
},
{
"path": "omega-web/src/partials/replace_profile.jade",
"chars": 946,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/reset_options_confirm.jade",
"chars": 441,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/rule_remove_confirm.jade",
"chars": 675,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/rule_reset_confirm.jade",
"chars": 529,
"preview": ".modal-header\n button.close(type='button' ng-click='$dismiss()')\n span(aria-hidden='true') ×\n span.sr-only {{'dia"
},
{
"path": "omega-web/src/partials/ui.jade",
"chars": 2798,
"preview": ".page-header\n h2 {{'options_tab_ui' | tr}}\nsection.settings-group\n h3 {{'options_group_miscOptions' | tr}}\n div.check"
},
{
"path": "omega-web/src/popup/css/dialog.css",
"chars": 2139,
"preview": "/*!\n * Copyright 2017 The SwitchyOmega Authors. Please see the AUTHORS file\n * for details.\n * Based on Bootstrap v3.3.2"
},
{
"path": "omega-web/src/popup/css/index.css",
"chars": 4323,
"preview": "/*!\n * Copyright 2017 The SwitchyOmega Authors. Please see the AUTHORS file\n * for details.\n * Based on Bootstrap v3.3.2"
},
{
"path": "omega-web/src/popup/index.html",
"chars": 2021,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"utf-8\">\n <title>SwitchyOmega Popup</title>\n <meta name=\"viewp"
},
{
"path": "omega-web/src/popup/js/i18n.js",
"chars": 517,
"preview": "$script.ready('om-page-info', function() {\n document.querySelector('#js-direct .om-profile-name').textContent =\n Ome"
},
{
"path": "omega-web/src/popup/js/index.js",
"chars": 1619,
"preview": "(function() {\n handleClick('js-option', showOptions);\n handleClick('js-temprule', showTempRuleDropdown);\n handleClick"
},
{
"path": "omega-web/src/popup/js/keyboard.js",
"chars": 3420,
"preview": "(function() {\n var keyHandler = {\n 38: moveUp, // Up\n 40: moveDown, // Down\n 37: closeDropdown, // Left\n 39"
},
{
"path": "omega-web/src/popup/js/keyboard_help.js",
"chars": 802,
"preview": "(function() {\n var keyForId = {\n 'js-direct': '0',\n 'js-system': 'S',\n 'js-external': 'E',\n 'js-addrule': '"
},
{
"path": "omega-web/src/popup/js/loader.js",
"chars": 671,
"preview": "window.OmegaPopup = {};\n$script(['js/index.js', 'js/profiles.js', 'js/keyboard.js'], 'om-main');\n$script(['js/i18n.js'])"
},
{
"path": "omega-web/src/popup/js/profiles.js",
"chars": 9678,
"preview": "(function() {\n $script.ready('om-state', updateMenuByState);\n $script.ready('om-page-info', updateMenuByPageInfo);\n $"
},
{
"path": "omega-web/src/popup/js/proxy_not_controllable.js",
"chars": 1680,
"preview": "(function() {\n function closePopup() {\n window.close();\n // If the popup is opened as a tab, the above won't work"
},
{
"path": "omega-web/src/popup/proxy_not_controllable.html",
"chars": 793,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <title>SwitchyOmega Popup</title>\n <meta name=\"viewp"
},
{
"path": "omega-web/src/popup.jade",
"chars": 10620,
"preview": "doctype html\n//\n Copyright 2017 The SwitchyOmega Authors. Please see the AUTHORS file\n for details.\n\n This file is pa"
}
]
About this extraction
This page contains the full source code of the FelisCatus/SwitchyOmega GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 198 files (1.5 MB), approximately 404.6k tokens, and a symbol index with 125 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.