Well, I'm doing this.

This commit is contained in:
Bilal Elmoussaoui 2019-09-03 00:07:06 +00:00
commit 28571c7939
104 changed files with 22906 additions and 0 deletions

14
.editorconfig Normal file
View file

@ -0,0 +1,14 @@
root = true
[*]
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
[*.{xml,build,sql}]
indent_size = 2
[*.{json,py,rs}]
indent_size = 4

11
.gitignore vendored Normal file
View file

@ -0,0 +1,11 @@
.vscode/
target/
build/
_build/
build-aux/app
build-aux/.flatpak-builder/
src/config.rs
src/static_resources.rs
*.*.in~
*.*~

80
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,80 @@
stages:
- lint
- test
- review
variables:
BUNDLE: "authenticator-nightly.flatpak"
flatpak:
image: "registry.gitlab.gnome.org/gnome/gnome-runtime-images/rust_bundle:master"
stage: "test"
variables:
MANIFEST_PATH: "build-aux/com.bilelmoussaoui.AuthenticatorDevel.json"
FLATPAK_MODULE: "authenticator"
MESON_ARGS: "-Dprofile=development"
APP_ID: "com.bilelmoussaoui.AuthenticatorDevel"
script:
- flatpak-builder --stop-at=${FLATPAK_MODULE} app ${MANIFEST_PATH}
# Build the flatpak repo
- flatpak-builder --run app ${MANIFEST_PATH} meson --prefix=/app ${MESON_ARGS} _build
- flatpak-builder --run app ${MANIFEST_PATH} ninja -C _build install
# Create a flatpak bundle
- flatpak-builder --finish-only app ${MANIFEST_PATH}
- flatpak build-export repo app
- flatpak build-bundle repo ${BUNDLE} ${APP_ID}
artifacts:
paths:
- $BUNDLE
expire_in: 5 days
cache:
key: "flatpak"
paths:
- .flatpak-builder/downloads/
- .flatpak-builder/git/
- target/
- target_test/
review:
stage: review
dependencies:
- flatpak
script:
- echo "Generating flatpak deployment"
artifacts:
paths:
- $BUNDLE
expire_in: 30 days
environment:
name: review/$CI_COMMIT_REF_NAME
url: https://gitlab.gnome.org/$CI_PROJECT_PATH/-/jobs/$CI_JOB_ID/artifacts/raw/${BUNDLE}
on_stop: stop_review
stop_review:
stage: review
script:
- echo "Stopping flatpak deployment"
when: manual
environment:
name: review/$CI_COMMIT_REF_NAME
action: stop
# Configure and run rustfmt
# Exits and builds fails if on bad format
rustfmt:
image: "rust:slim"
stage: "lint"
script:
- rustup component add rustfmt
# Create blank versions of our configured files
# so rustfmt does not yell about non-existent files or completely empty files
- echo -e "" >> src/config.rs
- rustc -Vv && cargo -Vv
- cargo fmt --version
- cargo fmt --all -- --color=always --check

16
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,16 @@
# Hey newcomer, welcome to Authenticator
The application is built using Python3, Gtk 3, GLib and other GNOME technologies around it. It's built to run on GNOME & Librem 5 phone.
## If you're a translator
You can translate Authenticator here: https://l10n.gnome.org/module/authenticator/
## If you're a developer
You want to work on fixing a bug, adding a new feature, please first join our Matrix Channel and ask if there's anyone working on that already.
The Matrix Channel: https://matrix.to/#/#authenticator:matrix.org
We suggest you to use [GNOME Builder](https://flathub.org/apps/details/org.gnome.Builder) as the IDE supports Flatpak and you can hack on Authenticator, click on run and voilà, you have got to test your modifications without having to think about installing the dependencies or how to build the application itself.
Thanks and good hacking.

2267
Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

30
Cargo.toml Normal file
View file

@ -0,0 +1,30 @@
[package]
name = "authenticator"
version = "0.1.0"
edition = "2018"
[dependencies]
gtk = { version = "0.7", features = ["v3_22"] }
libhandy = "0.4"
glib = { version = "0.8", features = ["subclassing"] }
gio = { version = "0.7", features = ["v2_46"] }
gdk = "0.11"
gdk-sys = "0.9"
gobject-sys = "0.9"
glib-sys = "0.9"
cairo-rs = "0.7"
pango = "0.7"
log = "0.4"
gdk-pixbuf = {version = "0.7", features = ["v2_32"] }
gettext-rs= { version = "0.4", features = ["gettext-system"] }
pretty_env_logger = "0.3"
lazy_static = "1.3"
failure = "0.1"
diesel = { version = "1.4", features = ["sqlite", "r2d2"] }
diesel_migrations = { version = "1.4" , features = ["sqlite"] }
serde = "1.0"
serde_json = "1.0"
serde_derive = "1.0"
nanoid = "0.1"
reqwest = "0.9"
url = "2.1"

674
LICENSE Normal file
View file

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://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 <https://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
<https://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
<https://www.gnu.org/licenses/why-not-lgpl.html>.

1
README.md Normal file
View file

@ -0,0 +1 @@
# WIP Authenticator + Rust

24
build-aux/cargo.sh Normal file
View file

@ -0,0 +1,24 @@
#!/bin/sh
export MESON_BUILD_ROOT="$1"
export MESON_SOURCE_ROOT="$2"
export CARGO_TARGET_DIR="$MESON_BUILD_ROOT"/target
export CARGO_HOME="$CARGO_TARGET_DIR"/cargo-home
export OUTPUT="$3"
export BUILDTYPE="$4"
export APP_BIN="$5"
if [[ $BUILDTYPE = "release" ]]
then
echo "RELEASE MODE"
cargo build --manifest-path \
"$MESON_SOURCE_ROOT"/Cargo.toml --release && \
cp "$CARGO_TARGET_DIR"/release/"$APP_BIN" "$OUTPUT"
else
echo "DEBUG MODE"
cargo build --manifest-path \
"$MESON_SOURCE_ROOT"/Cargo.toml --verbose && \
cp "$CARGO_TARGET_DIR"/debug/"$APP_BIN" "$OUTPUT"
fi

View file

@ -0,0 +1,69 @@
{
"app-id": "com.belmoussaoui.AuthenticatorDevel",
"runtime": "org.gnome.Platform",
"runtime-version": "master",
"sdk": "org.gnome.Sdk",
"sdk-extensions" : [
"org.freedesktop.Sdk.Extension.rust-stable"
],
"tags" : [
"nightly"
],
"desktop-file-name-prefix" : "(Development) ",
"command": "authenticator",
"finish-args": [
"--share=network",
"--share=ipc",
"--socket=fallback-x11",
"--socket=wayland",
"--filesystem=xdg-run/dconf",
"--filesystem=~/.config/dconf:ro",
"--talk-name=ca.desrt.dconf",
"--env=DCONF_USER_CONFIG_DIR=.config/dconf"
],
"build-options": {
"append-path" : "/usr/lib/sdk/rust-stable/bin",
"build-args" : [
"--share=network"
],
"env" : {
"RUSTFLAGS" : "--remap-path-prefix =../ --error-format=human",
"CARGO_HOME" : "/run/build/authenticator/cargo",
"RUST_BACKTRACE" : "1",
"RUST_LOG" : "authenticator=debug"
}
},
"modules": [
{
"name": "libhandy",
"buildsystem": "meson",
"config-opts": [
"-Dintrospection=disabled",
"-Dgtk_doc=false",
"-Dtests=false",
"-Dexamples=false",
"-Dvapi=false",
"-Dglade_catalog=disabled"
],
"sources": [{
"type": "git",
"url": "https://source.puri.sm/Librem5/libhandy.git",
"tag": "v0.0.11",
"commit": "f5909a897f70143bdd2f89f47a63c1bf848330ce"
}]
},
{
"name": "authenticator",
"buildsystem": "meson",
"config-opts" : [
"-Dprofile=development"
],
"sources": [
{
"type": "git",
"url" : "https://gitlab.gnome.org/World/authenticator.git"
}
]
}
]
}

10
build-aux/dist-vendor.sh Normal file
View file

@ -0,0 +1,10 @@
#!/bin/sh
export DIST="$1"
export SOURCE_ROOT="$2"
cd "$SOURCE_ROOT"
mkdir "$DIST"/.cargo
cargo vendor | sed 's/^directory = ".*"/directory = "vendor"/g' > $DIST/.cargo/config
# Move vendor into dist tarball directory
mv vendor "$DIST"

21
build-aux/meson_post_install.py Executable file
View file

@ -0,0 +1,21 @@
#!/usr/bin/env python3
from os import environ, path
from subprocess import call
prefix = environ.get('MESON_INSTALL_PREFIX', '/usr/local')
datadir = path.join(prefix, 'share')
destdir = environ.get('DESTDIR', '')
# Package managers set this so we don't need to run
if not destdir:
print('Updating icon cache...')
call(['gtk-update-icon-cache', '-qtf', path.join(datadir, 'icons', 'hicolor')])
print('Updating desktop database...')
call(['update-desktop-database', '-q', path.join(datadir, 'applications')])
print('Compiling GSettings schemas...')
call(['glib-compile-schemas', path.join(datadir, 'glib-2.0', 'schemas')])

77
code-of-conduct.md Normal file
View file

@ -0,0 +1,77 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies within all project spaces, and it also applies when
an individual is representing the project or its community in public spaces.
Examples of representing a project or community include using an official
project e-mail address, posting via an official social media account, or acting
as an appointed representative at an online or offline event. Representation of
a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project maintainer at bilal.elmoussaoui@gnome.org. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq

View file

@ -0,0 +1,5 @@
[Shell Search Provider]
DesktopId=@app-id@.desktop
BusName=@app-id@.SearchProvider
ObjectPath=/com/bilelmoussaoui/Authenticator@profile@/SearchProvider
Version=2

View file

@ -0,0 +1,3 @@
[D-BUS Service]
Name=@app-id@.SearchProvider
Exec=authenticator --gapplication-service

View file

@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Bilal Elmoussaoui 2019 <bilal.elmoussaoui@gnome.org> -->
<component type="desktop-application">
<id>@app-id@</id>
<metadata_license>CC0</metadata_license>
<project_license>GPL-3.0+</project_license>
<name>Authenticator</name>
<summary>A Two-Factor Authentication application</summary>
<description>
<p>Simple application that generates a two-factor authentication code, created for GNOME.</p>
<p>Features:</p>
<ul>
<li>QR code scanner</li>
<li>Beautiful UI</li>
<li>Huge database of more than 560 supported services</li>
<li>Keep your PIN tokens secure by locking the application with a password</li>
<li>Automatically fetch an image for services using their favicon</li>
<li>The possibility to add new services</li>
<li>Dark theme and night light</li>
</ul>
</description>
<screenshots>
<screenshot type="default">
<image width="465" height="617">https://gitlab.gnome.org/World/Authenticator/raw/master/data/screenshots/screenshot1.png</image>
<caption>Main Window - empty state</caption>
</screenshot>
<screenshot>
<image width="464" height="612">https://gitlab.gnome.org/World/Authenticator/raw/master/data/screenshots/screenshot2.png</image>
<caption>Add a new account</caption>
</screenshot>
<screenshot>
<image width="463" height="609">https://gitlab.gnome.org/World/Authenticator/raw/master/data/screenshots/screenshot3.png</image>
<caption>Main Window - Accounts List</caption>
</screenshot>
<screenshot>
<image width="422" height="602">https://gitlab.gnome.org/World/Authenticator/raw/master/data/screenshots/screenshot4.png</image>
<caption>Settings Window</caption>
</screenshot>
</screenshots>
<url type="homepage">https://gitlab.gnome.org/World/Authenticator</url>
<url type="bugtracker">https://gitlab.gnome.org/World/Authenticator/issues</url>
<url type="translate">https://l10n.gnome.org/module/authenticator/</url>
<url type="donation">https://liberapay.com/bielmoussaoui</url>
<content_rating type="oars-1.0" />
<releases>
<release version="3.32.2" date="2019-07-23">
<description>
<ul>
<li>Use the new libhandy Settings widget</li>
<li>Settings: add an auto lock timeout</li>
<li>Various fixes</li>
<li>Translations updates</li>
</ul>
</description>
</release>
<release version="3.32.1" date="2019-05-25">
<description>
<p>
HOTFIX: if you had an issue with your accounts being lost after the latest update, please update to this one.
</p>
<ul>
<li>Database migrations: ensure users won't lose their data in the future</li>
<li>Fix edit account issue</li>
<li>Improve the provider image widget</li>
<li>Translations updates</li>
</ul>
</description>
</release>
<release version="3.32" date="2019-05-22">
<description>
<p>
Authenticator 3.32 is out! Here's an overview of what changed
Please backup your accounts before updating to the latest version and restore the data after update.
</p>
<ul>
<li>New settings window</li>
<li>Download provider images using their favicon if possible</li>
<li>Night Light feature: not working yet!</li>
<li>The possibility to enable/disable a password without having to reset everything</li>
<li>You can now add new providers and set images for providers that we didn't find an icon for</li>
<li>Mobile ready</li>
<li>New icon by Tobias Bernard</li>
<li>Click to copy the PIN on GNOME Shell Search provider results</li>
<li>Hide the results from Shell Search Provider if the application is locked</li>
<li>Bunch of fixed bugs</li>
</ul>
</description>
</release>
<release version="0.2.5" date="2018-09-11">
<description>
<p>
Since I have moved the application to GNOME Gitlab's World group, a Flatpak build for each new commit is available to download from the site's website.
</p>
<ul>
<li>Backup and restore from a basic JSON file</li>
<li>Backup and restore from an encrypted-GPG JSON file</li>
<li>Add andOTP support (free and open Android 2FA application)</li>
<li>New Settings window with 3 sections: appearance, behavior and backup</li>
<li>Fix Flatpak Build with the latest GNOME Runtime</li>
<li>Move the project to GNOME Gitlab's World group</li>
</ul>
</description>
</release>
<release version="0.2.4" date="2018-09-10">
<description>
<ul>
<li>GNOME Shell Search provider</li>
<li>Codes expire simultaneously #91 </li>
</ul>
</description>
</release>
<release version="0.2.3" date="2018-09-09">
<description>
<ul>
<li>Revamped main window to more closely follow the GNOME HIG</li>
<li>Revamped add a new account window to make it easier to use</li>
<li>Possibility to add an account from a provider not listed in the shipped database</li>
<li>Possibility to edit an account</li>
<li>One Time Password now visible by default</li>
</ul>
</description>
</release>
<release version="0.2.2.1" date="2018-09-03">
<description>
<ul>
<li>Fix python-dbus by using GDbus instead</li>
</ul>
</description>
</release>
<release version="0.2.2" date="2018-09-02">
<description>
<ul>
<li>Fix the QRScanner on GNOME Shell</li>
<li>Add a new entry for the account's username</li>
<li>Updated database of supported accounts</li>
</ul>
</description>
</release>
<release version="0.2.1" date="2018-03-22">
<description>
<ul>
<li>HOTFIX: App not running in DE other than GNOME</li>
</ul>
</description>
</release>
<release version="0.2" date="2018-03-16">
<description>
<ul>
<li>Rename project to Authenticator</li>
<li>Cleaner code base</li>
<li>Faster startup</li>
<li>Remove unneeded features</li>
<li>Switch to pyzbar instead of zbarlight</li>
<li>Flatpak package</li>
</ul>
</description>
</release>
<release version="0.1.1" date="2016-06-28" />
<release version="0.1.0" date="2016-06-22" />
</releases>
<kudos>
<!--
GNOME Software kudos:
https://gitlab.gnome.org/GNOME/gnome-software/blob/master/doc/kudos.md
-->
<kudo>SearchProvider</kudo>
<kudo>ModernToolkit</kudo>
<kudo>HiDpiIcon</kudo>
</kudos>
<developer_name>Bilal Elmoussaoui</developer_name>
<update_contact>bilal.elmoussaoui@gnome.org</update_contact>
<translation type="gettext">@gettext-package@</translation>
<launchable type="desktop-id">@app-id@.desktop</launchable>
</component>

View file

@ -0,0 +1,12 @@
[Desktop Entry]
Name=Authenticator
GenericName=Two-factor Authentication
Comment=A Two-Factor Authentication application
Type=Application
Exec=authenticator
Terminal=false
Categories=GNOME;GTK;Security;Utility;
Keywords=Gnome;GTK;Verification;2FA;Authentication;TwoFactor;
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=@icon@
StartupNotify=true

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/belmoussaoui/Authenticator">
<file alias="style.css">resources/style.css</file>
<!-- Accounts -->
<file compressed="true" preprocess="xml-stripblanks" alias="add_account.ui">resources/ui/add_account.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="accounts_list.ui">resources/ui/accounts_list.ui</file>
<!-- Providers -->
<file compressed="true" preprocess="xml-stripblanks" alias="providers_list.ui">resources/ui/providers_list.ui</file>
<!-- UI Files -->
<file compressed="true" preprocess="xml-stripblanks" alias="shortcuts.ui">resources/ui/shortcuts.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="about_dialog.ui">about_dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account_edit.ui">resources/ui/account_edit.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="account_row.ui">resources/ui/account_row.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="accounts_widget.ui">resources/ui/accounts_widget.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="provider_image.ui">resources/ui/provider_image.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="password_widget.ui">resources/ui/password_widget.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="window.ui">window.ui</file>
<file compressed="true" preprocess="xml-stripblanks" alias="settings.ui">settings.ui</file>
</gresource>
<gresource prefix="/com/belmoussaoui/Authenticator/icons">
<file alias="qrscanner-symbolic.svg">resources/icons/qrscanner-symbolic.svg</file>
</gresource>
</gresources>

View file

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist>
<schema path="/com/belmoussaoui/Authenticator/" id="@app-id@" gettext-domain="@gettext-package@">
<key name="window-width" type="i">
<default>-1</default>
<summary>Default window width</summary>
<description>Default window width</description>
</key>
<key name="window-height" type="i">
<default>-1</default>
<summary>Default window height</summary>
<description>Default window height</description>
</key>
<key name="window-x" type="i">
<default>-1</default>
<summary>Default window x position</summary>
<description>Default window x position</description>
</key>
<key name="window-y" type="i">
<default>-1</default>
<summary>Default window y position</summary>
<description>Default window y position</description>
</key>
<key name="is-maximized" type="b">
<default>false</default>
<summary>Default window maximized behaviour</summary>
<description></description>
</key>
<key name="dark-theme" type="b">
<default>false</default>
<summary>Dark Theme</summary>
<description>Whether the application should use a dark theme.</description>
</key>
<key name='auto-lock-timeout' type='i'>
<default>15</default>
<summary>Auto lock timeout</summary>
<description>Lock the application on idle after X minutes</description>
</key>
<key name="night-light" type="b">
<default>false</default>
<summary>Night Light</summary>
<description>Automatically enable dark mode at night.</description>
</key>
</schema>
</schemalist>

View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg5314"
version="1.1"
viewBox="0 0 4.2333332 4.2333335"
height="16"
width="16"
sodipodi:docname="com.github.bilelmoussaoui.Authenticator-symbolic.svg"
inkscape:version="0.92.0 unknown">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview7"
showgrid="false"
inkscape:zoom="11.711456"
inkscape:cx="3.3358491"
inkscape:cy="8"
inkscape:window-x="0"
inkscape:window-y="30"
inkscape:window-maximized="1"
inkscape:current-layer="svg5314" />
<defs
id="defs5308" />
<metadata
id="metadata5311">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-292.76665)"
id="layer1"
style="fill:#000000">
<path
id="path4218-06-8"
transform="matrix(0.26458333,0,0,0.26458333,0,292.76665)"
d="M 8 0 C 6.3431402 0 5 1.2721969 5 2.8417969 L 5 4.8105469 A 5.9999999 5.9999999 0 0 0 2 10 A 5.9999999 5.9999999 0 0 0 8 16 A 5.9999999 5.9999999 0 0 0 14 10 A 5.9999999 5.9999999 0 0 0 11 4.8125 L 11 2.8417969 C 11 1.2721969 9.65685 -5.9211895e-16 8 0 z M 8 1 C 9.1598002 1 10 1.9012913 10 3 L 10 4.3496094 A 5.9999999 5.9999999 0 0 0 8 4 A 5.9999999 5.9999999 0 0 0 6 4.3496094 L 6 3 C 6 1.9012913 6.8402002 1 8 1 z M 8 6 A 3.9999998 3.9999998 0 0 1 12 10 A 3.9999998 3.9999998 0 0 1 8 14 A 3.9999998 3.9999998 0 0 1 4 10 A 3.9999998 3.9999998 0 0 1 8 6 z M 8 6 L 6.796875 8.40625 A 1.9999999 1.9999999 0 0 0 6 10 A 1.9999999 1.9999999 0 0 0 8 12 A 1.9999999 1.9999999 0 0 0 10 10 A 1.9999999 1.9999999 0 0 0 9.2011719 8.4023438 L 8 6 z "
style="display:inline;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.12687249;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.6;enable-background:new" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -0,0 +1,386 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:export-ydpi="96" inkscape:export-xdpi="96" inkscape:export-filename="Template.png" width="128" height="128" id="svg11300" sodipodi:version="0.32" inkscape:version="0.92.2 2405546, 2018-03-11" sodipodi:docname="com.github.bilelmoussaoui.Authenticator.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" version="1.0" style="display:inline;enable-background:new" viewBox="0 0 128 128">
<title id="title4162">Adwaita Icon Template</title>
<defs id="defs3">
<linearGradient inkscape:collect="always" id="linearGradient1961">
<stop style="stop-color:#c0bfbc;stop-opacity:1" offset="0" id="stop1957"/>
<stop id="stop1965" offset="0.87407935" style="stop-color:#deddda;stop-opacity:1"/>
<stop style="stop-color:#b1b0ad;stop-opacity:1;" offset="0.91666663" id="stop1973"/>
<stop style="stop-color:#77767b;stop-opacity:1" offset="1" id="stop1959"/>
</linearGradient>
<linearGradient inkscape:collect="always" id="linearGradient1587">
<stop style="stop-color:#241f31;stop-opacity:1;" offset="0" id="stop1583"/>
<stop style="stop-color:#3d3846;stop-opacity:1" offset="1" id="stop1585"/>
</linearGradient>
<linearGradient inkscape:collect="always" id="linearGradient5299">
<stop style="stop-color:#77767b;stop-opacity:1" offset="0" id="stop5291"/>
<stop id="stop5293" offset="0.73333335" style="stop-color:#9a9996;stop-opacity:1"/>
<stop style="stop-color:#f6f5f4;stop-opacity:1" offset="0.83333331" id="stop5295"/>
<stop id="stop1949" offset="0.93333334" style="stop-color:#adacaa;stop-opacity:1;"/>
<stop style="stop-color:#77767b;stop-opacity:1" offset="1" id="stop5297"/>
</linearGradient>
<radialGradient gradientUnits="userSpaceOnUse" gradientTransform="translate(271.04,319.09)" r="160" cy="876.35999" cx="256" id="radialGradient2212">
<stop id="stop2206" offset="0" style="stop-color:#c0bfbc;stop-opacity:1"/>
<stop id="stop2208" offset=".9" style="stop-color:#9a9996;stop-opacity:1"/>
<stop id="stop2210" offset="1" style="stop-color:#5e5c64;stop-opacity:1"/>
</radialGradient>
<linearGradient y2="236" x2="96" y1="236" x1="32" gradientTransform="translate(604.81684,170.58641)" gradientUnits="userSpaceOnUse" id="linearGradient1099" xlink:href="#linearGradient1036"/>
<linearGradient id="linearGradient1036">
<stop id="stop1032" offset="0" style="stop-color:#d5d3cf;stop-opacity:1;"/>
<stop id="stop1034" offset="1" style="stop-color:#f6f5f4;stop-opacity:1"/>
</linearGradient>
<radialGradient r="32" fy="-76" fx="-244" cy="-76" cx="-244" gradientTransform="matrix(0.88333331,0,0,0.88333331,-460.35018,463.11973)" gradientUnits="userSpaceOnUse" id="radialGradient1103" xlink:href="#linearGradient1069"/>
<linearGradient id="linearGradient1069">
<stop id="stop1065" offset="0" style="stop-color:#d5d3cf;stop-opacity:1"/>
<stop id="stop1067-1" offset="1" style="stop-color:#949390;stop-opacity:1"/>
</linearGradient>
<linearGradient gradientUnits="userSpaceOnUse" y2="232" x2="64" y1="262.5" x1="64" id="linearGradient1027" xlink:href="#linearGradient1025" gradientTransform="translate(-470.5864,432.81685)"/>
<linearGradient id="linearGradient1025">
<stop id="stop1021" offset="0" style="stop-color:#9a9996;stop-opacity:1"/>
<stop id="stop1023" offset="1" style="stop-color:#77767b;stop-opacity:1"/>
</linearGradient>
<inkscape:path-effect effect="spiro" id="path-effect35304-9" is_visible="true"/>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1609-7">
<path sodipodi:nodetypes="cccccc" inkscape:connector-curvature="0" id="path1611-5" d="m 252,116 28,-28 v -8 h -36 v 36 z" style="fill:#e74747;stroke:none;stroke-width:0.25px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/>
</clipPath>
<linearGradient id="linearGradient5163" x1="167.61" x2="346.51001" y1="772.96997" y2="951.87" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.24999978,0,0,0.24999978,-214.53362,33.60622)">
<stop style="stop-color:#fff;stop-opacity:.4" offset="0" id="stop7"/>
<stop style="stop-color:#fff;stop-opacity:.6" offset="1" id="stop9"/>
</linearGradient>
<filter id="filter5121" x="-0.054000001" y="-0.43200001" width="1.108" height="1.864" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="5.7600009" id="feGaussianBlur165"/>
</filter>
<linearGradient id="linearGradient4433" x1="177.09" x2="324.70999" y1="639.13" y2="724.35999" gradientTransform="translate(271.04,335.09)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4427"/>
<linearGradient id="linearGradient4427">
<stop style="stop-color:#b2b2b2" offset="0" id="stop2"/>
<stop style="stop-color:#999" offset="1" id="stop4"/>
</linearGradient>
<clipPath id="clipPath4718-8">
<path inkscape:connector-curvature="0" d="m 64,284.36 c -44.183,0 -80,35.817 -80,80 v 72 H 8 v -72 c 0,-30.928 25.072,-56 56,-56 30.928,0 56,25.072 56,56 v 72 h 24 v -72 c 0,-44.183 -35.817,-80 -80,-80 z" style="opacity:0.98999999;fill:#999999" id="path158"/>
</clipPath>
<filter id="filter4710" x="-0.13845" y="-0.073472999" width="1.2769001" height="1.1469001" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="4.6532589" id="feGaussianBlur161"/>
</filter>
<clipPath id="clipPath4808-6">
<path inkscape:connector-curvature="0" d="m 232,260.36 c -44.183,0 -80,35.817 -80,80 v 72 h 24 v -72 c 0,-30.928 25.072,-56 56,-56 z" style="fill:#979797" id="path152"/>
</clipPath>
<filter id="filter4937" x="-0.12876" y="-0.067768" width="1.2575001" height="1.1355" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="4.292" id="feGaussianBlur155"/>
</filter>
<clipPath id="clipPath4890-60">
<path inkscape:connector-curvature="0" d="m 288,196.36 c -44.183,0 -80,35.817 -80,80 v 72 h 24 v -72 c 0,-30.928 25.072,-56 56,-56 30.928,0 56,25.072 56,56 v 72 h 24 v -72 c 0,-44.183 -35.817,-80 -80,-80 z" style="fill:#ffffff" id="path146"/>
</clipPath>
<filter id="filter4898" x="-0.14616001" y="-0.076926" width="1.2923" height="1.1539" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="4.872" id="feGaussianBlur149"/>
</filter>
<clipPath id="clipPath4890-4-0">
<path inkscape:connector-curvature="0" d="m 288,196.36 c -44.183,0 -80,35.817 -80,80 v 72 h 24 v -72 c 0,-30.928 25.072,-56 56,-56 30.928,0 56,25.072 56,56 v 72 h 24 v -72 c 0,-44.183 -35.817,-80 -80,-80 z" style="fill:#ffffff" id="path140"/>
</clipPath>
<filter id="filter4898-1" x="-0.14616001" y="-0.076926" width="1.2923" height="1.1539" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="4.872" id="feGaussianBlur143"/>
</filter>
<clipPath id="clipPath4969-12">
<path inkscape:connector-curvature="0" d="m 360,156.36 c -44.183,0 -80,35.817 -80,80 v 72 h 24 v -72 c 0,-30.928 25.072,-56 56,-56 30.928,0 56,25.072 56,56 v 72 h 24 v -72 c 0,-44.183 -35.817,-80 -80,-80 z" style="fill:#e0e0e0" id="path134"/>
</clipPath>
<filter id="filter4965" x="-0.041143" y="-0.032000002" width="1.0822999" height="1.064" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="1.9199999" id="feGaussianBlur137"/>
</filter>
<filter id="filter4619" x="-0.024352999" y="-0.023657" width="1.0487" height="1.0473" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="1.38" id="feGaussianBlur131"/>
</filter>
<radialGradient id="radialGradient4326" cx="256" cy="876.35999" r="160" gradientTransform="translate(271.04,319.09)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#a8a8a8" offset="0" id="stop124"/>
<stop style="stop-color:#999" offset=".9" id="stop126"/>
<stop style="stop-color:#737373" offset="1" id="stop128"/>
</radialGradient>
<linearGradient id="linearGradient4433-4" x1="399.51999" x2="557.31" y1="862.85999" y2="1020.7" gradientTransform="translate(14.308,219.65)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#fff;stop-opacity:.8" offset="0" id="stop119"/>
<stop style="stop-color:#fff;stop-opacity:0" offset="1" id="stop121"/>
</linearGradient>
<linearGradient id="linearGradient4456" x1="478.01999" x2="681.65997" y1="693.70001" y2="897.34003" gradientTransform="translate(-52.298,400.43)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#ccc;stop-opacity:.4" offset="0" id="stop114"/>
<stop style="stop-color:#f5f5f5;stop-opacity:.4" offset="1" id="stop116"/>
</linearGradient>
<filter id="filter4748" x="-0.11355" y="-0.12226" width="1.2271" height="1.2445" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="4.2790235" id="feGaussianBlur111"/>
</filter>
<linearGradient id="linearGradient4401" x1="278.10001" x2="296" y1="818.46002" y2="836.35999" gradientTransform="translate(271.04,327.09)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#1a1a1a;stop-opacity:.4" offset="0" id="stop103"/>
<stop style="stop-color:#1a1a1a;stop-opacity:0" offset="1" id="stop105"/>
</linearGradient>
<filter id="filter4423" x="-0.071999997" y="-0.051429" width="1.1440001" height="1.1029" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="1.2" id="feGaussianBlur108"/>
</filter>
<filter id="filter4520" x="-0.059999999" y="-0.059999999" width="1.12" height="1.12" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="1.2" id="feGaussianBlur100"/>
</filter>
<linearGradient id="linearGradient4545" x1="256" x2="256.97" y1="796.66998" y2="796.92999" gradientTransform="translate(271.04,326.78)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#ff6870" offset="0" id="stop95"/>
<stop style="stop-color:#fb6c74;stop-opacity:0" offset="1" id="stop97"/>
</linearGradient>
<radialGradient id="radialGradient4578" cx="256" cy="876.35999" r="44" gradientTransform="translate(271.04,319.09)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#979797" offset="0" id="stop88"/>
<stop style="stop-color:#999" offset=".90947" id="stop90"/>
<stop style="stop-color:#737373" offset="1" id="stop92"/>
</radialGradient>
<linearGradient id="linearGradient4631" x1="147.31" x2="185.85001" y1="830.88" y2="869.41998" gradientTransform="translate(351.45,336.28)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#f2f2f2;stop-opacity:1" offset="0" id="stop83"/>
<stop style="stop-color:#808080;stop-opacity:.8" offset="1" id="stop85"/>
</linearGradient>
<linearGradient id="linearGradient4603" x1="235.14" x2="262.72" y1="855.5" y2="883.08002" gradientTransform="translate(271.04,319.09)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient5437"/>
<linearGradient id="linearGradient5437">
<stop style="stop-color:#fff;stop-opacity:.6" offset="0" id="stop58"/>
<stop style="stop-color:#fff;stop-opacity:.2" offset="1" id="stop60"/>
</linearGradient>
<linearGradient id="linearGradient5022" x1="-445.81" x2="-435.45999" y1="-751.96002" y2="-790.59998" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient5038"/>
<linearGradient id="linearGradient5038">
<stop style="stop-color:#ebebeb;stop-opacity:.2" offset="0" id="stop74"/>
<stop style="stop-color:#fff;stop-opacity:.6" offset=".50046" id="stop76"/>
<stop style="stop-color:#ebebeb;stop-opacity:.2" offset="1" id="stop78"/>
</linearGradient>
<filter id="filter5030" x="-0.045518" y="-0.050769001" width="1.091" height="1.1015" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="0.73278049" id="feGaussianBlur45"/>
</filter>
<linearGradient id="linearGradient5048" x1="-445.81" x2="-435.94" y1="-751.96002" y2="-790.46997" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient5038"/>
<filter id="filter1303" x="-0.045518" y="-0.050769001" width="1.091" height="1.1015" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="0.73278049" id="feGaussianBlur1301"/>
</filter>
<linearGradient id="linearGradient2048" x1="-439.45999" x2="-435.45999" y1="-760.23999" y2="-769.89001" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4385"/>
<linearGradient id="linearGradient4385">
<stop style="stop-color:#b2b2b2;stop-opacity:.2" offset="0" id="stop38"/>
<stop style="stop-color:#808080;stop-opacity:.4" offset=".50046" id="stop40"/>
<stop style="stop-color:#b2b2b2;stop-opacity:.2" offset="1" id="stop42"/>
</linearGradient>
<filter id="filter1312" x="-0.045518" y="-0.050769001" width="1.091" height="1.1015" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="0.73278049" id="feGaussianBlur1310"/>
</filter>
<filter id="filter1326" x="-0.045518" y="-0.050769001" width="1.091" height="1.1015" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="0.73278049" id="feGaussianBlur1324"/>
</filter>
<linearGradient id="linearGradient4361" x1="142.50999" x2="303.45999" y1="754.87" y2="915.82001" gradientTransform="matrix(0.99065,0,0,0.99065,273.43,335.2)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#fff;stop-opacity:.3" offset="0" id="stop68"/>
<stop style="stop-color:#666;stop-opacity:.6" offset="1" id="stop70"/>
</linearGradient>
<linearGradient id="linearGradient5359" x1="171.17" x2="256" y1="775.48999" y2="860.32001" gradientTransform="translate(271.04,335.09)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#fefefe;stop-opacity:.2" offset="0" id="stop63"/>
<stop style="stop-color:#fff;stop-opacity:.04" offset="1" id="stop65"/>
</linearGradient>
<linearGradient id="linearGradient4373" x1="156.78999" x2="295.28" y1="769.15002" y2="907.65002" gradientTransform="matrix(0.89097,0,0,0.89097,298.95,421.77)" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient5437"/>
<linearGradient id="linearGradient4347" x1="-445.81" x2="-435.45999" y1="-751.96002" y2="-790.59998" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4360"/>
<linearGradient id="linearGradient4360">
<stop style="stop-color:#b2b2b2;stop-opacity:.2" offset="0" id="stop49"/>
<stop style="stop-color:#808080;stop-opacity:.6" offset=".50046" id="stop51"/>
<stop style="stop-color:#b2b2b2;stop-opacity:.2" offset="1" id="stop53"/>
</linearGradient>
<filter id="filter1348" x="-0.045518" y="-0.050769001" width="1.091" height="1.1015" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="0.73278049" id="feGaussianBlur1346"/>
</filter>
<linearGradient id="linearGradient4349" x1="-445.81" x2="-435.94" y1="-751.96002" y2="-790.46997" gradientUnits="userSpaceOnUse" xlink:href="#linearGradient4360"/>
<filter id="filter1361" x="-0.045518" y="-0.050769001" width="1.091" height="1.1015" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="0.73278049" id="feGaussianBlur1359"/>
</filter>
<filter id="filter1375" x="-0.045518" y="-0.050769001" width="1.091" height="1.1015" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="0.73278049" id="feGaussianBlur1373"/>
</filter>
<filter id="filter1389" x="-0.045518" y="-0.050769001" width="1.091" height="1.1015" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="0.73278049" id="feGaussianBlur1387"/>
</filter>
<linearGradient id="linearGradient5077" x1="712" x2="712" y1="845.35999" y2="940.76001" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#1a1a1a;stop-opacity:0" offset="0" id="stop26"/>
<stop style="stop-color:#1a1a1a;stop-opacity:.2" offset="1" id="stop28"/>
</linearGradient>
<clipPath id="clipPath5065-5">
<circle cx="712" cy="845.35999" r="159" style="fill:#999999;fill-rule:evenodd;stroke:#1a1a1a;stroke-width:4;filter:url(#filter5046-56)" id="circle31"/>
</clipPath>
<filter id="filter5046-56" x="-0.024" y="-0.024" width="1.048" height="1.048" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="3.18" id="feGaussianBlur34"/>
</filter>
<clipPath id="clipPath5183-3">
<path inkscape:connector-curvature="0" d="m 248,284.36 c -44.183,0 -80,35.817 -80,80 v 72 h 24 v -72 c 0,-30.928 25.072,-56 56,-56 30.928,0 56,25.072 56,56 v 72 h 24 v -72 c 0,-44.183 -35.817,-80 -80,-80 z" style="fill:url(#linearGradient5187)" id="path20"/>
</clipPath>
<filter id="filter5179" x="-0.040286001" y="-0.059367999" width="1.0806" height="1.1187" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="2.6786472" id="feGaussianBlur23"/>
</filter>
<linearGradient id="linearGradient4318" x1="256" x2="256" y1="809.21997" y2="944.46002" gradientTransform="matrix(0.99211,0,0,0.99211,-726.62,348.53)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#fff;stop-opacity:.3" offset="0" id="stop13"/>
<stop style="stop-color:#808080;stop-opacity:.15" offset=".49224" id="stop15"/>
<stop style="stop-color:#fff;stop-opacity:.3" offset="1" id="stop17"/>
</linearGradient>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient4631" id="linearGradient1616" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.27272726,0,0,0.27272726,16.111825,15.667282)" x1="175.58998" y1="822.55334" x2="175.58998" y2="881.22003"/>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2814">
<circle cx="63.99823" cy="252.01091" r="9.9972734" style="fill:#cccccc;stroke-width:0;enable-background:new" id="circle2816"/>
</clipPath>
<radialGradient id="radialGradient4578-9" cx="256" cy="876.35999" r="44" gradientTransform="translate(271.04,319.09)" gradientUnits="userSpaceOnUse">
<stop style="stop-color:#979797" offset="0" id="stop88-5"/>
<stop style="stop-color:#999" offset=".90947" id="stop90-3"/>
<stop style="stop-color:#737373" offset="1" id="stop92-6"/>
</radialGradient>
<filter id="filter4520-8" x="-0.059999999" y="-0.059999999" width="1.12" height="1.12" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="1.2" id="feGaussianBlur100-1"/>
</filter>
<radialGradient gradientUnits="userSpaceOnUse" gradientTransform="translate(271.04,319.09)" r="160" cy="876.35999" cx="256" id="radialGradient2212-3">
<stop id="stop2206-9" offset="0" style="stop-color:#c0bfbc;stop-opacity:1"/>
<stop id="stop2208-3" offset=".9" style="stop-color:#9a9996;stop-opacity:1"/>
<stop id="stop2210-7" offset="1" style="stop-color:#5e5c64;stop-opacity:1"/>
</radialGradient>
<clipPath id="clipPath4969-12-0">
<path inkscape:connector-curvature="0" d="m 360,156.36 c -44.183,0 -80,35.817 -80,80 v 72 h 24 v -72 c 0,-30.928 25.072,-56 56,-56 30.928,0 56,25.072 56,56 v 72 h 24 v -72 c 0,-44.183 -35.817,-80 -80,-80 z" style="fill:#e0e0e0" id="path134-7"/>
</clipPath>
<filter id="filter4965-4" x="-0.041143" y="-0.032000002" width="1.0822999" height="1.064" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="1.9199999" id="feGaussianBlur137-5"/>
</filter>
<filter id="filter4619-3" x="-0.024352999" y="-0.023657" width="1.0487" height="1.0473" style="color-interpolation-filters:sRGB">
<feGaussianBlur stdDeviation="1.38" id="feGaussianBlur131-7"/>
</filter>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5299" id="linearGradient4948" x1="58" y1="202" x2="88" y2="202" gradientUnits="userSpaceOnUse" gradientTransform="translate(4,8)"/>
<linearGradient inkscape:collect="always" xlink:href="#linearGradient1587" id="linearGradient1589" x1="-131.24692" y1="188.45129" x2="-147.81134" y2="250.27055" gradientUnits="userSpaceOnUse"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5299" id="radialGradient1856" cx="63.999992" cy="210.77495" fx="63.999992" fy="210.77495" r="36" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.767349,0.00553784,-0.00541257,0.74999257,16.030502,44.565936)"/>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient1961" id="radialGradient1963" cx="-85.993149" cy="248.08337" fx="-85.993149" fy="248.08337" r="46" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0434783,-5.3388343e-8,5.519212e-8,1.0434783,153.73197,-10.869627)"/>
</defs>
<sodipodi:namedview stroke="#ef2929" fill="#f57900" id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="0.25490196" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1" inkscape:cx="106.52728" inkscape:cy="77.596751" inkscape:current-layer="layer9" showgrid="false" inkscape:grid-bbox="true" inkscape:document-units="px" inkscape:showpageshadow="false" inkscape:window-width="1920" inkscape:window-height="1016" inkscape:window-x="0" inkscape:window-y="27" width="400px" height="300px" inkscape:snap-nodes="true" inkscape:snap-bbox="false" objecttolerance="7" gridtolerance="12" guidetolerance="13" inkscape:window-maximized="1" inkscape:pagecheckerboard="false" showguides="false" inkscape:guide-bbox="true" inkscape:locked="false" inkscape:measure-start="0,0" inkscape:measure-end="0,0" inkscape:object-nodes="true" inkscape:bbox-nodes="true" inkscape:snap-global="true" inkscape:object-paths="true" inkscape:snap-intersection-paths="true" inkscape:snap-bbox-edge-midpoints="true" inkscape:snap-bbox-midpoints="true" showborder="false" inkscape:snap-center="true" inkscape:snap-object-midpoints="true" inkscape:snap-midpoints="true" inkscape:snap-smooth-nodes="true" inkscape:snap-text-baseline="true" inkscape:bbox-paths="true">
<inkscape:grid type="xygrid" id="grid5883" spacingx="2" spacingy="2" enabled="true" visible="true" empspacing="4" originx="0" originy="0"/>
<sodipodi:guide position="64,8" orientation="0,1" id="guide1073" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="12,64" orientation="1,0" id="guide1075" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="64,104" orientation="0,1" id="guide1099" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="64,128" orientation="0,1" id="guide993" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="104,64" orientation="1,0" id="guide995" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="9.2651362e-08,64" orientation="1,0" id="guide867" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="120,64" orientation="1,0" id="guide869" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="64,116" orientation="0,1" id="guide871" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<inkscape:grid type="xygrid" id="grid873" spacingx="1" spacingy="1" empspacing="8" color="#000000" opacity="0.49019608" empcolor="#000000" empopacity="0.08627451" dotted="true"/>
<sodipodi:guide position="24,64" orientation="1,0" id="guide877" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="116,64" orientation="1,0" id="guide879" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="64,120" orientation="0,1" id="guide881" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="64,12" orientation="0,1" id="guide883" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="8,64" orientation="1,0" id="guide885" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="128,64" orientation="1,0" id="guide887" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="64,0" orientation="0,1" id="guide897" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="64,24" orientation="0,1" id="guide899" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="256,256" orientation="-0.70710678,0.70710678" id="guide950" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
<sodipodi:guide position="64,64" orientation="0.70710678,0.70710678" id="guide952" inkscape:locked="false" inkscape:label="" inkscape:color="rgb(0,0,255)"/>
</sodipodi:namedview>
<metadata id="metadata4">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:creator>
<cc:Agent>
<dc:title>GNOME Design Team</dc:title>
</cc:Agent>
</dc:creator>
<dc:source/>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/"/>
<dc:title>Adwaita Icon Template</dc:title>
<dc:subject>
<rdf:Bag/>
</dc:subject>
<dc:date/>
<dc:rights>
<cc:Agent>
<dc:title/>
</cc:Agent>
</dc:rights>
<dc:publisher>
<cc:Agent>
<dc:title/>
</cc:Agent>
</dc:publisher>
<dc:identifier/>
<dc:relation/>
<dc:language/>
<dc:coverage/>
<dc:description/>
<dc:contributor>
<cc:Agent>
<dc:title/>
</cc:Agent>
</dc:contributor>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
<g id="layer1" inkscape:label="App Icon" inkscape:groupmode="layer" style="display:inline" transform="translate(0,-172)">
<g inkscape:groupmode="layer" id="layer2" inkscape:label="baseplate" style="display:none">
<g style="display:inline;fill:#000000;enable-background:new" transform="matrix(7.9911709,0,0,8.0036407,-167.7909,-4846.0776)" id="g12027" inkscape:export-xdpi="12" inkscape:export-ydpi="12"/>
<rect style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate" id="rect13805" width="128" height="128" x="9.2651362e-08" y="172" inkscape:label="512x512"/>
<g id="g883" style="fill:none;fill-opacity:0.25098039;stroke:#a579b3;stroke-opacity:1" transform="translate(-24,24)"/>
<g id="g900" style="fill:none;fill-opacity:0.25098039;stroke:#a579b3;stroke-opacity:1" transform="translate(-24,24)"/>
<rect inkscape:label="512x512" y="172" x="160" height="16" width="16" id="rect859" style="display:inline;overflow:visible;visibility:visible;fill:#f0f0f0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;marker:none;enable-background:accumulate"/>
<text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:'Cantarell, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33264872;enable-background:new" x="0" y="164" id="text863" inkscape:label="icon-name"><tspan style="font-size:4px;stroke-width:0.33264872" sodipodi:role="line" id="tspan861" x="0" y="164">Hicolor</tspan></text>
<text inkscape:label="icon-name" id="text867" y="164" x="160" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:4px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:'Cantarell, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.33264872;enable-background:new" xml:space="preserve"><tspan y="164" x="160" id="tspan865" sodipodi:role="line" style="font-size:4px;stroke-width:0.33264872">Symbolic</tspan></text>
</g>
<g inkscape:groupmode="layer" id="layer3" inkscape:label="hairlines" style="display:none">
<circle cx="64.000031" cy="236" r="59.504131" id="circle2892" style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001, 0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"/>
<rect ry="7.9292889" rx="8.701004" y="180.49496" x="20.495007" height="111.01005" width="87.009987" id="rect2894" style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001, 0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"/>
<rect ry="7.9238095" rx="7.9238095" y="184.49524" x="12.495266" height="103.00952" width="103.00952" id="rect2896" style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001, 0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"/>
<rect ry="8.701005" rx="7.9292889" y="200.49496" x="8.4950066" height="87.010048" width="111.01004" id="rect2898" style="display:inline;opacity:0.1;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.99000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.99000001, 0.99000001;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"/>
<path inkscape:connector-curvature="0" id="path2900" d="M 2.6203015e-5,288.99999 H 128.00003" style="display:inline;fill:none;stroke:#62a0ea;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;enable-background:new"/>
</g>
<g inkscape:groupmode="layer" id="layer9" inkscape:label="icons" style="display:inline">
<use x="0" y="0" xlink:href="#rect4940" id="use1951" transform="matrix(-1,0,0,1,128,0)" width="100%" height="100%"/>
<circle id="circle170" style="display:inline;enable-background:new;fill:none;stroke:url(#linearGradient5163);stroke-width:0.49999955" r="0" cy="248.94603" cx="-150.53368"/>
<rect y="204" x="84" height="16" width="8" id="rect4940" style="display:inline;enable-background:new;opacity:1;vector-effect:none;fill:url(#linearGradient4948);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.6732283"/>
<circle style="display:inline;opacity:1;vector-effect:none;fill:#5e5c64;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" id="circle4922" cx="64" cy="252" r="46" inkscape:transform-center-x="-1.6398402e-05" inkscape:transform-center-y="5.4552015e-06"/>
<circle inkscape:transform-center-y="5.4552015e-06" inkscape:transform-center-x="-1.6398402e-05" r="46" cy="250" cx="64" id="circle4297" style="display:inline;opacity:1;vector-effect:none;fill:url(#radialGradient1963);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new"/>
<circle style="display:inline;opacity:1;vector-effect:none;fill:#f6f5f4;fill-opacity:1;stroke:none;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" id="circle1953" cx="64" cy="250" r="42" inkscape:transform-center-x="-1.4972454e-05" inkscape:transform-center-y="4.9808362e-06"/>
<circle transform="rotate(90)" style="display:inline;opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:2.23529434;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" id="circle4299" cx="250" cy="-64" r="38"/>
<g transform="matrix(1,0,0,-1,150,499.99918)" id="g4333">
<circle style="display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1589);fill-opacity:1;stroke:none;stroke-width:2.39999986;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;enable-background:new" id="circle4301" transform="rotate(-15)" r="36" cy="219.22301" cx="-147.77438"/>
</g>
<g style="display:inline;enable-background:new" id="g3417" transform="translate(-4.7474225e-6,-3)">
<path transform="matrix(0.24993183,0,0,0.24993183,-67.725837,-48.782593)" inkscape:connector-curvature="0" d="m 527.04,1123.5 -24,48 h 48 z" style="fill:#1a1a1a;fill-opacity:0.4;fill-rule:evenodd;filter:url(#filter4520);enable-background:new" id="path1538"/>
<path inkscape:connector-curvature="0" d="m 64.000005,231 -6,12 h 12 z" style="fill:#ed333b;fill-rule:evenodd;stroke:none;stroke-width:0.24993183px;enable-background:new" id="path1540" sodipodi:nodetypes="cccc"/>
<path inkscape:connector-curvature="0" d="M 63.998369,231.00327 58.000005,243 h 5.998364 z" style="fill:#ffffff;fill-opacity:0.37344402;fill-rule:evenodd;stroke-width:0.24993183;enable-background:new" id="path1542" sodipodi:nodetypes="cccc"/>
</g>
<circle cx="64" cy="252.00002" r="12" style="display:inline;enable-background:new;fill:#000000;stroke-width:0;opacity:0.2" id="circle1867"/>
<circle id="circle1548" style="display:inline;enable-background:new;fill:url(#linearGradient1616);stroke-width:0" r="12" cy="250.00002" cx="64"/>
<circle id="circle1550" style="display:inline;enable-background:new;fill:#cccccc;stroke-width:0" r="10.999999" cy="-249" cx="64" transform="scale(1,-1)"/>
<g id="g1470" transform="matrix(1,0,0,-1,0,500.00001)" style="display:inline;enable-background:new;stroke:#f6f5f4">
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4367" d="M 64,216.00001 V 222" style="fill:none;stroke:#f6f5f4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#f6f5f4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 64,278.00001 V 284" id="path1404" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path style="fill:none;stroke:#f6f5f4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 97.99999,250 H 92" id="path1410" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1412" d="M 35.99999,250 H 30" style="fill:none;stroke:#f6f5f4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#f6f5f4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 39.958375,225.95837 4.242634,4.24264" id="path1426" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1428" d="m 83.798995,269.79899 4.242634,4.24264" style="fill:none;stroke:#f6f5f4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1430" d="m 88.041622,225.95837 -4.242634,4.24264" style="fill:none;stroke:#f6f5f4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#f6f5f4;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 44.201002,269.79899 -4.242634,4.24264" id="path1432" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
</g>
<g id="g1842" style="display:inline;enable-background:new;stroke:#ffffff;opacity:0.2">
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 57.366929,283.3467 0.780359,-3.92313" id="path1596" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1598" d="m 69.85271,220.57644 0.780359,-3.92313" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1600" d="m 97.346688,256.63308 -3.923132,-0.78036" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 34.57643,244.1473 -3.923132,-0.78036" id="path1602" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1604" d="m 35.730037,268.8894 3.325872,-2.22229" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 88.944091,233.33291 3.325872,-2.22229" id="path1606" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M 82.889378,278.26998 80.667104,274.9441" id="path1608" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1610" d="m 47.332882,225.05592 -2.222273,-3.32588" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1758" d="m 50.988763,281.41191 1.53073,-3.69551" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 75.480503,222.28362 1.530729,-3.69551" id="path1760" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 95.411891,263.01124 -3.695509,-1.53073" id="path1762" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1764" d="m 36.283601,238.5195 -3.695509,-1.53073" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 32.588097,263.01125 3.695513,-1.53074" id="path1766" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1768" d="m 91.716386,238.51951 3.695512,-1.53074" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1770" d="m 77.011225,281.41191 -1.530726,-3.69552" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 52.519484,222.28363 -1.530727,-3.69552" id="path1772" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 45.110611,278.26997 2.222276,-3.32587" id="path1776" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1778" d="m 80.667106,225.05591 2.222276,-3.32587" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1780" d="m 92.269952,268.88939 -3.32587,-2.22227" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 39.055897,233.3329 -3.32587,-2.22228" id="path1782" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1784" d="m 30.653299,256.63308 3.923137,-0.78036" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 93.423555,244.14731 3.923137,-0.78037" id="path1786" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 70.633058,283.34671 -0.780354,-3.92314" id="path1788" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path1790" d="m 58.147275,220.57645 -0.780354,-3.92314" style="fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
</g>
<path style="display:inline;enable-background:new;opacity:1;fill:none;fill-opacity:1;stroke:url(#radialGradient1856);stroke-width:7.99999952;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" d="m 40,204 a 24.000001,24.000001 0 0 1 24.000001,-24 24.000001,24.000001 0 0 1 24,24" id="path1844" inkscape:connector-curvature="0"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 44 KiB

11
data/icons/meson.build Normal file
View file

@ -0,0 +1,11 @@
install_data(
'com.belmoussaoui.Authenticator.svg',
install_dir: iconsdir / 'hicolor' / 'scalable' / 'apps',
rename: '@0@.svg'.format(application_id)
)
install_data(
'com.belmoussaoui.Authenticator-symbolic.svg',
install_dir: iconsdir / 'hicolor' / 'symbolic' / 'apps',
rename: '@0@-symbolic.svg'.format(application_id)
)

122
data/meson.build Normal file
View file

@ -0,0 +1,122 @@
ui_config = configuration_data()
ui_config.set('app-id', application_id)
ui_config.set('version', meson.project_version() + version_suffix)
ui_preconfigured_files = files(
'resources/ui/about_dialog.ui.in',
'resources/ui/settings.ui.in',
'resources/ui/window.ui.in',
)
ui_dependencies = []
foreach ui_file: ui_preconfigured_files
ui_dependencies += configure_file(
input: ui_file,
output: '@BASENAME@',
configuration: ui_config
)
endforeach
resources = gnome.compile_resources(
application_id,
'com.belmoussaoui.Authenticator.gresource.xml',
gresource_bundle: true,
dependencies: ui_dependencies
)
# GSchema
gschema_conf = configuration_data()
gschema_conf.set('app-id', application_id)
gschema_conf.set('gettext-package', gettext_package)
configure_file(
input: 'com.belmoussaoui.Authenticator.gschema.xml.in',
output: '@0@.gschema.xml'.format(application_id),
configuration: gschema_conf,
install: true,
install_dir: datadir / 'glib-2.0' / 'schemas'
)
# Validata GSchema
if glib_compile_schemas.found()
test(
'validate-gschema', glib_compile_schemas,
args: [
'--strict', '--dry-run', meson.current_source_dir()
]
)
endif
# GNOME Shell Search Provider Service
search_service_provider_conf = configuration_data()
search_service_provider_conf.set('app-id', application_id)
configure_file(
configuration: search_service_provider_conf,
input: 'com.belmoussaoui.Authenticator.SearchProvider.service.in',
install_dir: get_option('datadir') / 'gnome-shell' / 'search-providers',
output: '@0@.SearchProvider.service'.format(application_id)
)
# GNOME Shell Search Provider
search_provider_conf = configuration_data()
search_provider_conf.set('app-id', application_id)
search_provider_conf.set('profile', profile)
configure_file(
configuration: search_provider_conf,
input: 'com.belmoussaoui.Authenticator.SearchProvider.ini.in',
install_dir: join_paths(get_option('datadir'), 'gnome-shell', 'search-providers'),
output: '@0@.SearchProvider.ini'.format(application_id)
)
# FreeDesktop Desktop File
desktop_conf = configuration_data()
desktop_conf.set('icon', application_id)
desktop_file = i18n.merge_file(
'desktop',
input: configure_file(
input: 'com.belmoussaoui.Authenticator.desktop.in.in',
output: '@BASENAME@',
configuration: desktop_conf
),
output: '@0@.desktop'.format(application_id),
po_dir: podir,
type: 'desktop',
install: true,
install_dir: get_option('datadir') / 'applications'
)
# Validate Desktop File
desktop_file_validate = find_program('desktop-file-validate', required: false)
if desktop_file_validate.found()
test (
'Validate desktop file',
desktop_file_validate,
args: desktop_file.full_path()
)
endif
# Freedesktop AppData File
appdata_conf = configuration_data()
appdata_conf.set('app-id', application_id)
appdata_conf.set('gettext-package', gettext_package)
appdata_file = i18n.merge_file(
'appdata',
input: configure_file(
input: 'com.belmoussaoui.Authenticator.appdata.xml.in.in',
output: '@BASENAME@',
configuration: appdata_conf
),
output: '@0@.appdata.xml'.format(application_id),
po_dir: podir,
install: true,
install_dir: get_option('datadir') / 'metainfo'
)
# Validate AppData File
appstream_util = find_program('appstream-util', required: false)
if appstream_util.found()
test (
'Validate appdata file',
appstream_util,
args: ['validate', '--nonet', appdata_file.full_path()]
)
endif
subdir('icons')

View file

@ -0,0 +1,337 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="16"
viewBox="0 0 4.2333332 4.2333335"
version="1.1"
id="svg8"
inkscape:version="0.92.0 unknown"
sodipodi:docname="qrscanner-symbolic.svg"
inkscape:export-filename="/home/phee/Pictures/design-projects/qr/qrscanner-symbolic.svg.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="16"
inkscape:cx="15.58832"
inkscape:cy="13.865165"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:showpageshadow="false"
borderlayer="false"
inkscape:window-width="1631"
inkscape:window-height="1026"
inkscape:window-x="1099"
inkscape:window-y="182"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4565"
empspacing="4" />
</sodipodi:namedview>
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-292.76665)">
<path
id="path4574"
d="M -3.3333334e-8,295.41248 0,296.99998 l 1.5875001,0 0,-1.58749 z M 0.2645833,295.67706 l 1.0583334,1e-5 0,1.05833 -1.05833337,0 z"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4576"
width="0.52916664"
height="0.52916664"
x="0.52916664"
y="295.94165" />
<path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M -3.3333335e-8,292.76664 0,294.35414 h 1.5875001 v -1.58749 z M 0.2645833,293.03122 l 1.0583334,10e-6 v 1.05833 H 0.26458333 Z"
id="path4578" />
<rect
y="293.29581"
x="0.52916664"
height="0.52916664"
width="0.52916664"
id="rect4580"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path4582"
d="m 2.6458333,292.76664 0,1.5875 h 1.5875001 v -1.58749 z m 0.2645833,0.26458 1.0583334,10e-6 v 1.05833 H 2.9104166 Z"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4584"
width="0.52916664"
height="0.52916664"
x="3.175"
y="293.29581" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4626"
width="0.52916664"
height="0.26458332"
x="296.20624"
y="-4.2333331"
transform="rotate(90)" />
<rect
y="296.73541"
x="3.4395833"
height="0.26459593"
width="0.52916664"
id="rect4628"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
y="-2.9104166"
x="-296.47083"
height="0.26458332"
width="0.26458371"
id="rect4634"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4636"
width="0.52916664"
height="0.26458332"
x="-2.6458333"
y="296.73538"
transform="scale(-1,1)" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4640"
width="0.26458353"
height="0.26458332"
x="-3.7041667"
y="296.20624"
transform="scale(-1,1)" />
<rect
transform="scale(-1)"
y="-294.88333"
x="-0.79374999"
height="0.26458332"
width="0.52916664"
id="rect4646"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="scale(-1)"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4648"
width="0.52916664"
height="0.26458332"
x="-1.3229166"
y="-295.14792" />
<rect
transform="scale(-1)"
y="-294.88333"
x="-1.8520833"
height="0.26458332"
width="0.52916664"
id="rect4650"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="rotate(-90)"
y="1.8520833"
x="-295.67706"
height="0.26458332"
width="0.52916664"
id="rect4652"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4654"
width="0.52916664"
height="0.26458332"
x="-293.56039"
y="-2.1166668"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
y="-2.3812499"
x="-294.08957"
height="0.26458332"
width="0.52916664"
id="rect4656"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4658"
width="0.52916664"
height="0.26458332"
x="-294.61874"
y="-2.1166668"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4660"
width="0.52916664"
height="0.26458332"
x="-295.41251"
y="-4.2333331"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
transform="matrix(0,-1,-1,0,0,0)"
y="-3.175"
x="-296.99997"
height="0.26458332"
width="0.26456663"
id="rect4668"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="matrix(0,-1,-1,0,0,0)"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4670"
width="0.52916664"
height="0.26458332"
x="-297"
y="-2.3812499" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4699"
width="0.52916664"
height="0.26458332"
x="-4.2333331"
y="294.8833"
transform="scale(-1,1)" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4707"
width="0.52916664"
height="0.26458332"
x="-2.9104166"
y="-294.88333"
transform="scale(-1)" />
<rect
transform="matrix(0,-1,-1,0,0,0)"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4709"
width="0.26458371"
height="0.26458332"
x="-295.94165"
y="-3.175" />
<rect
y="-3.7041667"
x="-295.67706"
height="0.26458332"
width="0.26458371"
id="rect4711"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
transform="matrix(0,-1,-1,0,0,0)"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4713"
width="0.52915239"
height="0.26458332"
x="-295.14789"
y="-3.4395833" />
<rect
y="-2.3812501"
x="-296.20624"
height="0.52916676"
width="0.26458371"
id="rect4715"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
y="-3.175"
x="-296.20624"
height="0.26458332"
width="0.26458371"
id="rect4717"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
transform="matrix(0,-1,-1,0,0,0)"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4719"
width="0.26458371"
height="0.26458332"
x="-295.94165"
y="-3.4395833" />
<rect
y="-3.7041667"
x="-295.94165"
height="0.26458332"
width="0.26458371"
id="rect4721"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(0,-1,-1,0,0,0)" />
<rect
transform="matrix(0,-1,-1,0,0,0)"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4723"
width="0.26458371"
height="0.26458332"
x="-296.47083"
y="-3.175" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4725"
width="0.52916664"
height="0.26458332"
x="-295.67706"
y="2.3812501"
transform="rotate(-90)" />
<rect
y="295.14789"
x="2.3812499"
height="0.26458332"
width="0.52916664"
id="rect4727"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="scale(-1,1)"
y="295.67706"
x="-4.2333331"
height="0.26458332"
width="0.26458353"
id="rect4729"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<rect
transform="scale(-1,1)"
y="296.73538"
x="-4.2333331"
height="0.26458332"
width="0.26458353"
id="rect4731"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

56
data/resources/style.css Normal file
View file

@ -0,0 +1,56 @@
/* Empty View */
.empty-logo{
-gtk-icon-shadow:0 2px 12px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.5);
}
/* Common */
label.head-title{
font-size: 26px;
font-weight: bolder;
color: @theme_fg_color;
}
.insert-image-box{
border: 1px solid mix(@theme_fg_color, @theme_bg_color, 0.7);
}
.account-name{
font-weight: bold;
}
/* Common */
.progress-bar trough progress {
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
.progress-bar trough {
border-radius: 0px
}
/* Accounts Widget */
.provider-name{
margin: 6px;
font-weight: bold;
font-size: 18px;
}
/* Accounts List */
.accounts-list {
margin-left:6px;
margin-right:6px;
}
/* Account Row */
.account-row{
padding: 6px;
}
.account-name{
font-size: 16px;
}
.account-pin {
font-size: 14px;
}

View file

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<object class="GtkAboutDialog" id="about_dialog">
<property name="can_focus">False</property>
<property name="type_hint">dialog</property>
<property name="program_name">Authenticator</property>
<property name="version">@version@</property>
<property name="comments" translatable="yes">A Two-Factor Authentication application</property>
<property name="website">https://gitlab.gnome.org/World/Authenticator</property>
<property name="authors">Bilal Elmoussaoui</property>
<property name="translator_credits" translatable="yes">translator-credits</property>
<property name="artists">Alexandros Felekidis
Tobias Bernard</property>
<property name="logo_icon_name">@app-id@</property>
<property name="license_type">gpl-3-0</property>
<child type="titlebar">
<placeholder/>
</child>
<child internal-child="vbox">
<object class="GtkBox">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<template class="AccountConfig" parent="GtkOverlay">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<packing>
<property name="index">-1</property>
</packing>
</child>
</template>
</interface>

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<template class="EditAccountWindow" parent="GtkWindow">
<property name="can_focus">False</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<child type="titlebar">
<object class="GtkHeaderBar" id="headerbar">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkButton" id="back_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="close_btn_clicked" swapped="no"/>
<child>
<object class="GtkImage" id="return_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">go-previous-symbolic</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton" id="save_btn">
<property name="label" translatable="yes">Save</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<signal name="clicked" handler="save_btn_clicked" swapped="no"/>
<style>
<class name="suggested-action"/>
</style>
</object>
<packing>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<child>
<placeholder/>
</child>
</template>
</interface>

View file

@ -0,0 +1,180 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<object class="GtkPopoverMenu" id="more_actions_popover">
<property name="can_focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkModelButton" id="edit_btn">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
<property name="margin_top">6</property>
<property name="margin_bottom">6</property>
<property name="text" translatable="yes">Edit</property>
<signal name="clicked" handler="edit_btn_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkModelButton" id="delete_btn">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
<property name="margin_top">6</property>
<property name="margin_bottom">6</property>
<property name="text" translatable="yes">Delete</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="submenu">main</property>
<property name="position">1</property>
</packing>
</child>
</object>
<object class="GtkListBoxRow" id="account_row">
<property name="name">account_row</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="selectable">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuButton" id="more_actions_btn">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
<property name="valign">center</property>
<property name="popover">more_actions_popover</property>
<child>
<object class="GtkImage" id="more_actions_img">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">view-more-symbolic</property>
</object>
</child>
<style>
<class name="image-button"/>
<class name="flat"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">3</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="copy_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Copy PIN to clipboard</property>
<property name="valign">center</property>
<property name="relief">none</property>
<signal name="clicked" handler="copy_btn_clicked" swapped="no"/>
<child>
<object class="GtkStack" id="copy_btn_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<child>
<object class="GtkImage" id="copy_img">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">edit-copy-symbolic</property>
</object>
<packing>
<property name="name">copy_image</property>
</packing>
</child>
<child>
<object class="GtkImage" id="ok_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">emblem-ok-symbolic</property>
</object>
<packing>
<property name="name">ok_image</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
<style>
<class name="flat"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="pin_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<style>
<class name="account-pin"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">3</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="username_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="ellipsize">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">3</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
<style>
<class name="account-row"/>
</style>
</object>
</interface>

View file

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkBox" id="accounts_list">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixel_size">96</property>
<property name="icon_name">image-missing-symbolic</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="provider_name">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Some random provider</property>
<style>
<class name="provider-name"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkListBox" id="listbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="selection_mode">none</property>
<style>
<class name="frame"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</interface>

View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<requires lib="libhandy" version="0.0"/>
<object class="GtkBox" id="providers_list">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="HdyColumn">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="maximum_width">600</property>
<property name="linear_growth_width">600</property>
<child>
<object class="GtkBox" id="providers_container">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="accounts-widget"/>
</style>
</object>
</interface>

View file

@ -0,0 +1,272 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<requires lib="libhandy" version="0.0"/>
<object class="GtkListStore" id="providers_store">
<columns>
<!-- column-name id -->
<column type="guint"/>
<!-- column-name name -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkEntryCompletion" id="provider_completion">
<property name="model">providers_store</property>
<property name="text_column">1</property>
<property name="inline_selection">True</property>
<child>
<object class="GtkCellRendererText" id="epithet_completion_renderer"/>
<attributes>
<attribute name="text">1</attribute>
</attributes>
</child>
</object>
<object class="GtkWindow" id="add_dialog">
<property name="width_request">360</property>
<property name="height_request">600</property>
<property name="can_focus">False</property>
<property name="modal">True</property>
<property name="default_width">360</property>
<property name="default_height">600</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="title" translatable="yes">Add a new account</property>
<child>
<object class="GtkButton" id="back_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">add.back</property>
<signal name="clicked" handler="close_btn_clicked" swapped="no"/>
<child>
<object class="GtkImage" id="return_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">go-previous-symbolic</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkButton" id="add_btn">
<property name="label" translatable="yes">Add</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">add.save</property>
<signal name="clicked" handler="add_btn_clicked" swapped="no"/>
<style>
<class name="suggested-action"/>
</style>
</object>
<packing>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="scan_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Scan QR Code</property>
<property name="action_name">add.scan-qr</property>
<signal name="clicked" handler="scan_btn_clicked" swapped="no"/>
<child>
<object class="GtkImage" id="scan_img">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">qrscanner-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child>
<object class="GtkOverlay">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="HdyColumn" id="column">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="maximum_width">600</property>
<property name="linear_growth_width">600</property>
<child>
<object class="GtkBox" id="main_container">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="margin_top">42</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">baseline</property>
<property name="margin_top">24</property>
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<property name="column_homogeneous">True</property>
<child>
<object class="GtkEntry" id="username_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="placeholder_text" translatable="yes">Account Name</property>
<property name="enable_emoji_completion">True</property>
<signal name="changed" handler="account_edited" swapped="no"/>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="provider_combobox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="model">providers_store</property>
<property name="has_entry">True</property>
<property name="entry_text_column">1</property>
<property name="id_column">0</property>
<signal name="changed" handler="provider_changed" swapped="no"/>
<child internal-child="entry">
<object class="GtkEntry" id="provider_entry">
<property name="can_focus">True</property>
<property name="placeholder_text" translatable="yes">Provider</property>
<property name="completion">provider_completion</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="token_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="visibility">False</property>
<property name="secondary_icon_name">dialog-information-symbolic</property>
<property name="secondary_icon_tooltip_text" translatable="yes">Enable 2FA for this account</property>
<property name="secondary_icon_tooltip_markup" translatable="yes">Enable 2FA for this account</property>
<property name="placeholder_text" translatable="yes">2FA Token</property>
<property name="input_purpose">pin</property>
<signal name="changed" handler="account_edited" swapped="no"/>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="provider_website_entry">
<property name="can_focus">True</property>
<property name="no_show_all">True</property>
<property name="hexpand">True</property>
<property name="placeholder_text" translatable="yes">Provider Website</property>
<property name="input_purpose">url</property>
<property name="enable_emoji_completion">True</property>
<signal name="key-release-event" handler="on_provider_website_changed" swapped="no"/>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="pass_through">True</property>
<property name="index">-1</property>
</packing>
</child>
<child type="overlay">
<object class="GtkRevealer" id="notification">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="notification_msg">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">end</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">window-close-symbolic</property>
</object>
</child>
<style>
<class name="flat"/>
</style>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="app-notification"/>
</style>
</object>
</child>
<style>
<class name="frame"/>
</style>
</object>
</child>
</object>
</child>
</object>
</interface>

View file

@ -0,0 +1,238 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<template class="PasswordWidget" parent="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="hexpand">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox" id="current_password_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Current Password:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="current_password_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">end</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="visibility">False</property>
<property name="input_purpose">password</property>
<signal name="changed" handler="password_entry_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">New Password:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="password_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">end</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="visibility">False</property>
<property name="input_purpose">password</property>
<signal name="changed" handler="password_entry_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes">Confirm New Password:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="confirm_password_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">end</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="visibility">False</property>
<property name="input_purpose">password</property>
<signal name="changed" handler="password_entry_changed" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">18</property>
<child>
<object class="GtkButton" id="change_password_btn">
<property name="label" translatable="yes">Change Password</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">end</property>
<signal name="clicked" handler="update_password_clicked" swapped="no"/>
<style>
<class name="suggested-action"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="delete_password_btn">
<property name="label" translatable="yes">Delete Password</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">start</property>
<signal name="clicked" handler="reset_password_clicked" swapped="no"/>
<style>
<class name="destructive-action"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">1</property>
</packing>
</child>
</template>
</interface>

View file

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<template class="ProviderImage" parent="GtkStack">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">start</property>
<property name="valign">center</property>
<child>
<object class="GtkSpinner" id="provider_spinner">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="name">provider_loading</property>
</packing>
</child>
<child>
<object class="GtkEventBox" id="image_eventbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<signal name="button-press-event" handler="select_image_clicked" swapped="no"/>
<child>
<object class="GtkOverlay">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImage" id="provider_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixel_size">128</property>
<property name="icon_size">6</property>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
<child type="overlay">
<object class="GtkImage" id="insert_image">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="icon_name">insert-image-symbolic</property>
<property name="icon_size">5</property>
<style>
<class name="insert-image"/>
</style>
</object>
<packing>
<property name="pass_through">True</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="name">provider_image</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="not_found_box">
<property name="width_request">48</property>
<property name="height_request">48</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkEventBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<signal name="button-press-event" handler="select_image_clicked" swapped="no"/>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="icon_name">insert-image-symbolic</property>
<property name="icon_size">5</property>
<style>
<class name="insert-image"/>
</style>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<style>
<class name="insert-image-box"/>
</style>
</object>
<packing>
<property name="name">provider_not_found</property>
<property name="position">2</property>
</packing>
</child>
</template>
</interface>

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<requires lib="libhandy" version="0.0"/>
<object class="GtkBox" id="providers_list">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkScrolledWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<child>
<object class="GtkViewport">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="HdyColumn">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="maximum_width">600</property>
<property name="linear_growth_width">600</property>
<child>
<object class="GtkBox" id="providers_container">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="accounts-widget"/>
</style>
</object>
</interface>

View file

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<object class="GtkAdjustment" id="auto_lock_adjustment">
<property name="lower">0</property>
<property name="upper">60</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<requires lib="libhandy" version="0.0"/>
<template class="SettingsWindow" parent="HdyPreferencesWindow">
<property name="default_height">400</property>
<property name="default_width">600</property>
<property name="height-request">300</property>
<child>
<object class="HdyPreferencesPage">
<property name="icon_name">emblem-system-symbolic</property>
<property name="title">General</property>
<property name="visible">True</property>
<child>
<object class="HdyPreferencesGroup">
<property name="title" translatable="yes">Appearance</property>
<property name="visible">True</property>
<child>
<object class="HdyActionRow">
<property name="title" translatable="yes">Dark Theme</property>
<property name="subtitle" translatable="yes">Whether the application should use a dark theme.</property>
<property name="visible">true</property>
<child type="action">
<object class="GtkSwitch" id="dark_theme_switch">
<property name="can_focus">True</property>
<property name="visible">True</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
<child>
<object class="HdyActionRow">
<property name="title" translatable="yes">Night Light</property>
<property name="subtitle" translatable="yes">Automatically enable dark mode at night.</property>
<property name="visible">true</property>
<child type="action">
<object class="GtkSwitch" id="night_light_switch">
<property name="can_focus">True</property>
<property name="visible">True</property>
<property name="valign">center</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="HdyPreferencesPage">
<property name="icon_name">security-low-symbolic</property>
<property name="title">Security</property>
<property name="visible">True</property>
<child>
<object class="HdyPreferencesGroup">
<property name="title" translatable="yes"></property>
<property name="visible">True</property>
<child>
<object class="HdyExpanderRow" id="lock_row">
<property name="title" translatable="yes">Lock the application</property>
<property name="subtitle" translatable="yes">Whether the application should use a dark theme.</property>
<property name="visible">true</property>
</object>
</child>
<child>
<object class="HdyActionRow" id="lock_timeout_row">
<property name="title" translatable="yes">Auto lock timeout</property>
<property name="subtitle" translatable="yes">Automatically enable dark mode at night.</property>
<property name="visible">true</property>
<child type="action">
<object class="GtkSpinButton" id="lock_timeout_spinbtn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="input_purpose">digits</property>
<property name="valign">center</property>
<property name="halign">center</property>
<property name="adjustment">auto_lock_adjustment</property>
<property name="climb_rate">1</property>
<property name="numeric">True</property>
<property name="update_policy">if-valid</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</template>
</interface>

View file

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkShortcutsWindow" id="shortcuts">
<property name="modal">True</property>
<child>
<object class="GtkShortcutsSection">
<property name="visible">True</property>
<property name="section-name">shortcuts</property>
<property name="max-height">10</property>
<child>
<object class="GtkShortcutsGroup">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">General</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Show Shortcuts</property>
<property name="accelerator">&lt;Primary&gt;question</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Preferences</property>
<property name="accelerator">&lt;Primary&gt;comma</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Quit</property>
<property name="accelerator">&lt;Primary&gt;Q</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkShortcutsGroup">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Accounts</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Add</property>
<property name="accelerator">&lt;Primary&gt;N</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="visible">True</property>
<property name="title" translatable="yes" context="shortcut window">Search</property>
<property name="accelerator">&lt;Primary&gt;F</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

View file

@ -0,0 +1,772 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.22"/>
<object class="GtkPopoverMenu" id="popover">
<property name="can_focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="margin_top">10</property>
<property name="margin_bottom">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkStack" id="menu_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="vhomogeneous">False</property>
<property name="transition_type">slide-left-right</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="margin_top">10</property>
<property name="margin_bottom">10</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkButton" id="zoom_out_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="action_name">reader.zoom-out</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">zoom-out-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="zoom_reset_btn">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="action_name">reader.zoom-reset</property>
<child>
<object class="GtkLabel" id="zoom_level">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label">100%</property>
<property name="width_chars">5</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkButton" id="zoom_in_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="action_name">reader.zoom-in</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">zoom-in-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<style>
<class name="linked"/>
</style>
</object>
<packing>
<property name="name">reader</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="orientation">vertical</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkBox">
<property name="width_request">146</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="valign">start</property>
<property name="action_name">library.sort-ascending</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">view-sort-ascending-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="valign">start</property>
<property name="action_name">library.sort-descending</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">view-sort-descending-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="linked"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkRadioButton" id="sort_name_radio">
<property name="label" translatable="yes">Name</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="action_name">library.sort-by</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="sort_date_radio">
<property name="label" translatable="yes">Date</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="action_name">library.sort-by</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">sort_name_radio</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="linked"/>
</style>
</object>
<packing>
<property name="name">library</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkSeparator">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
<property name="action_name">win.show-help-overlay</property>
<property name="text" translatable="yes">_Keyboard Shortcuts</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="GtkModelButton">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
<property name="action_name">app.about</property>
<property name="text" translatable="yes">_About Authenticator</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">5</property>
</packing>
</child>
</object>
<packing>
<property name="submenu">main</property>
<property name="position">1</property>
</packing>
</child>
</object>
<object class="GtkApplicationWindow" id="window">
<property name="width_request">350</property>
<property name="height_request">500</property>
<property name="can_focus">False</property>
<property name="default_width">360</property>
<property name="default_height">550</property>
<property name="icon_name">@app-id@</property>
<child type="titlebar">
<object class="GtkHeaderBar">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_close_button">True</property>
<child type="title">
<object class="GtkStack" id="headerbar_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="transition_type">slide-left-right</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<child>
<object class="GtkButton" id="add_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">win.add-account</property>
<signal name="clicked" handler="add_btn_clicked" swapped="no"/>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">list-add-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="search_btn">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<child>
<object class="GtkImage" id="search_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">system-search-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="name">main_headerbar</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<child>
<object class="GtkButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="action_name">win.add-account</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">list-add-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="name">empty_headerbar</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="hexpand">True</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="name">locked_headerbar</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<child>
<object class="GtkMenuButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="popover">popover</property>
<child>
<object class="GtkImage" id="primary_menu_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">open-menu-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="pack_type">end</property>
</packing>
</child>
</object>
</child>
<child>
<object class="GtkStack" id="main_stack">
<property name="width_request">350</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="transition_type">slide-left-right</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border_width">12</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="pixel_size">192</property>
<property name="icon_name">@app-id@</property>
<property name="icon_size">6</property>
<style>
<class name="empty-logo"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">10</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="margin_top">12</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label" translatable="yes">There are no accounts yet…</property>
<property name="wrap">True</property>
<property name="ellipsize">end</property>
<style>
<class name="head-title"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="margin_top">24</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row_spacing">12</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Add a new account from the menu</property>
<property name="wrap">True</property>
<property name="ellipsize">end</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Scan a QR Code</property>
<property name="wrap">True</property>
<property name="ellipsize">end</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage" id="add_image_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">list-add-symbolic</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkImage" id="qr_scanner_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="icon_name">qrscanner-symbolic</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">empty_state</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkSearchBar" id="search_bar">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkStack" id="accounts_stack">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="transition_duration">300</property>
<property name="transition_type">slide-left-right</property>
<child>
<object class="GtkBox" id="providers_container">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="name">results</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border_width">36</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="pixel_size">128</property>
<property name="icon_name">system-search-symbolic</property>
<property name="icon_size">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">10</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="margin_top">12</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="label" translatable="yes">No results found</property>
<property name="ellipsize">end</property>
<style>
<class name="head-title"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="name">empty_results</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">normal_state</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="LoginWidget">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">center</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border_width">36</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="hexpand">True</property>
<property name="resource">/com/github/bilelmoussaoui/Authenticator/authenticator.svg</property>
<property name="icon_size">6</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">10</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="margin_top">12</property>
<property name="label" translatable="yes">Authenticator is locked</property>
<style>
<class name="head-title"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
<property name="valign">start</property>
<property name="margin_top">24</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkEntry" id="password_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">center</property>
<property name="visibility">False</property>
<property name="input_purpose">password</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="unlock_btn">
<property name="label" translatable="yes">Unlock</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">center</property>
<signal name="clicked" handler="unlock_btn_clicked" swapped="no"/>
<style>
<class name="suggested-action"/>
</style>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">6</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">locked_state</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
<style>
<class name="theme"/>
</style>
</object>
</interface>

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

5
diesel.toml Normal file
View file

@ -0,0 +1,5 @@
# For documentation on how to configure this file,
# see diesel.rs/guides/configuring-diesel-cli
[print_schema]
file = "src/schema.rs"

76
meson.build Normal file
View file

@ -0,0 +1,76 @@
project('authenticator', 'rust',
version: '3.32.2',
meson_version: '>= 0.50',
license: 'GPL+-3.0'
)
dependency('glib-2.0', version: '>= 2.56')
dependency('gio-2.0', version: '>= 2.56')
dependency('gdk-pixbuf-2.0')
dependency('gtk+-3.0', version: '>= 3.24.7')
dependency('libhandy-0.0', version: '>= 0.0.11')
cargo = find_program('cargo', required: false)
glib_compile_schemas = find_program('glib-compile-schemas', required: true)
glib_compile_resources = find_program('glib-compile-resources', required: true)
cargo_script = find_program('build-aux/cargo.sh')
version = meson.project_version()
version_array = version.split('.')
major_version = version_array[0].to_int()
minor_version = version_array[1].to_int()
version_micro = version_array[2].to_int()
prefix = get_option('prefix')
bindir = prefix / get_option('bindir')
localedir = prefix / get_option('localedir')
datadir = prefix / get_option('datadir')
pkgdatadir = datadir / meson.project_name()
iconsdir = datadir / 'icons'
podir = meson.source_root () / 'po'
gettext_package = meson.project_name()
if get_option('profile') == 'development'
profile = 'Devel'
name_prefix = '(Development) '
vcs_tag = run_command('git', 'rev-parse', '--short', 'HEAD').stdout().strip()
if vcs_tag == ''
version_suffix = '-devel'
else
version_suffix = '-@0@'.format (vcs_tag)
endif
else
profile = ''
name_suffix = ''
version_suffix = ''
name_prefix = ''
endif
application_id = 'com.belmoussaoui.Authenticator@0@'.format(profile)
i18n = import('i18n')
gnome = import('gnome')
subdir('po')
subdir('data')
subdir('src')
meson.add_dist_script(
'build-aux/dist-vendor.sh',
meson.build_root() / 'meson-dist' / meson.project_name() + '-' + version,
meson.source_root()
)
if get_option('profile') == 'development'
# Setup pre-commit hook for ensuring coding style is always consistent
message('Setting up git pre-commit hook..')
run_command('cp', '-f', 'hooks/pre-commit.hook', '.git/hooks/pre-commit')
endif
meson.add_install_script('build-aux/meson_post_install.py')

11
meson_options.txt Normal file
View file

@ -0,0 +1,11 @@
option (
'profile',
type: 'combo',
choices: [
'default',
'development'
],
value: 'default',
description: 'The build profile for Authenticator. One of "default" or "development".'
)

View file

@ -0,0 +1,2 @@
-- This file should undo anything in `up.sql`
DROP TABLE `accounts`

View file

@ -0,0 +1,6 @@
-- Your SQL goes here
CREATE TABLE "accounts" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,
"username" VARCHAR NOT NULL,
"token_id" VARCHAR NOT NULL,
"provider" INTEGER NOT NULL)

View file

@ -0,0 +1,2 @@
-- This file should undo anything in `up.sql`
DROP TABLE `providers`;

View file

@ -0,0 +1,8 @@
-- Your SQL goes here
CREATE TABLE "providers" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,
"name" VARCHAR NOT NULL,
"website" VARCHAR NULL,
"help_url" VARCHAR NULL,
"image_uri" VARCHAR NULL
);

View file

@ -0,0 +1,606 @@
DELETE FROM providers WHERE name="FastMail"
DELETE FROM providers WHERE name="Gmail"
DELETE FROM providers WHERE name="GMX.net"
DELETE FROM providers WHERE name="Hushmail"
DELETE FROM providers WHERE name="mail.de"
DELETE FROM providers WHERE name="Mail.Ru"
DELETE FROM providers WHERE name="mailbox.org"
DELETE FROM providers WHERE name="Mailfence"
DELETE FROM providers WHERE name="Migadu"
DELETE FROM providers WHERE name="Mimecast"
DELETE FROM providers WHERE name="MXroute"
DELETE FROM providers WHERE name="Outlook.com"
DELETE FROM providers WHERE name="Pobox"
DELETE FROM providers WHERE name="Posteo"
DELETE FROM providers WHERE name="ProtonMail"
DELETE FROM providers WHERE name="Runbox"
DELETE FROM providers WHERE name="Seznam.cz"
DELETE FROM providers WHERE name="StartMail"
DELETE FROM providers WHERE name="Thexyz"
DELETE FROM providers WHERE name="Tutanota"
DELETE FROM providers WHERE name="Yahoo Japan Mail"
DELETE FROM providers WHERE name="Yandex.Mail"
DELETE FROM providers WHERE name="Zimbra"
DELETE FROM providers WHERE name="Zoho Mail"
DELETE FROM providers WHERE name="Adobe ID"
DELETE FROM providers WHERE name="Airtable"
DELETE FROM providers WHERE name="AngelList"
DELETE FROM providers WHERE name="Autodesk"
DELETE FROM providers WHERE name="Automater"
DELETE FROM providers WHERE name="AwardWallet"
DELETE FROM providers WHERE name="Chartbeat"
DELETE FROM providers WHERE name="Cisco Meraki"
DELETE FROM providers WHERE name="CloudConvert"
DELETE FROM providers WHERE name="Cloudinary"
DELETE FROM providers WHERE name="DirectAdmin"
DELETE FROM providers WHERE name="Envato"
DELETE FROM providers WHERE name="Everlaw"
DELETE FROM providers WHERE name="Figma"
DELETE FROM providers WHERE name="Findmyshift"
DELETE FROM providers WHERE name="Firefox"
DELETE FROM providers WHERE name="Formstack"
DELETE FROM providers WHERE name="GrowingIO"
DELETE FROM providers WHERE name="Help Scout"
DELETE FROM providers WHERE name="IFTTT"
DELETE FROM providers WHERE name="ImmobilienScout24"
DELETE FROM providers WHERE name="Jitbit Helpdesk"
DELETE FROM providers WHERE name="Kayako"
DELETE FROM providers WHERE name="Kickstarter"
DELETE FROM providers WHERE name="MathWorks"
DELETE FROM providers WHERE name="Mixpanel"
DELETE FROM providers WHERE name="No Starch Press"
DELETE FROM providers WHERE name="Office 365"
DELETE FROM providers WHERE name="Onshape"
DELETE FROM providers WHERE name="Patreon"
DELETE FROM providers WHERE name="PhraseApp"
DELETE FROM providers WHERE name="Repairshopr"
DELETE FROM providers WHERE name="Ripe NCC"
DELETE FROM providers WHERE name="SaneBox"
DELETE FROM providers WHERE name="SmartSimple"
DELETE FROM providers WHERE name="Ubiquiti Networks"
DELETE FROM providers WHERE name="Usabilla"
DELETE FROM providers WHERE name="Watchman Monitoring"
DELETE FROM providers WHERE name="Weclapp"
DELETE FROM providers WHERE name="Wikipedia"
DELETE FROM providers WHERE name="Yclas"
DELETE FROM providers WHERE name="YourAcclaim"
DELETE FROM providers WHERE name="Zendesk"
DELETE FROM providers WHERE name="Google Play"
DELETE FROM providers WHERE name="Mixer"
DELETE FROM providers WHERE name="Niconico"
DELETE FROM providers WHERE name="smashcast"
DELETE FROM providers WHERE name="Twitch"
DELETE FROM providers WHERE name="YouTube"
DELETE FROM providers WHERE name="Amazon Pay"
DELETE FROM providers WHERE name="Braintree"
DELETE FROM providers WHERE name="Buycraft"
DELETE FROM providers WHERE name="Dwolla"
DELETE FROM providers WHERE name="Google Wallet"
DELETE FROM providers WHERE name="Klarna"
DELETE FROM providers WHERE name="NETELLER"
DELETE FROM providers WHERE name="PAYEER"
DELETE FROM providers WHERE name="PayPal"
DELETE FROM providers WHERE name="Paysafecard"
DELETE FROM providers WHERE name="Payza"
DELETE FROM providers WHERE name="Privacy"
DELETE FROM providers WHERE name="Ravelin"
DELETE FROM providers WHERE name="Recurly"
DELETE FROM providers WHERE name="Skrill"
DELETE FROM providers WHERE name="Square"
DELETE FROM providers WHERE name="Stripe"
DELETE FROM providers WHERE name="Yandex.Money"
DELETE FROM providers WHERE name="AltoIRA"
DELETE FROM providers WHERE name="BGL Corporate Solutions"
DELETE FROM providers WHERE name="Bitbond"
DELETE FROM providers WHERE name="Carta"
DELETE FROM providers WHERE name="DEGIRO"
DELETE FROM providers WHERE name="Exact Online"
DELETE FROM providers WHERE name="FreeAgent"
DELETE FROM providers WHERE name="FreeTaxUSA"
DELETE FROM providers WHERE name="Intuit TurboTax"
DELETE FROM providers WHERE name="Invoiced"
DELETE FROM providers WHERE name="Justworks"
DELETE FROM providers WHERE name="Metorik"
DELETE FROM providers WHERE name="Mint"
DELETE FROM providers WHERE name="Moneybird"
DELETE FROM providers WHERE name="Paycor"
DELETE FROM providers WHERE name="Pocketsmith"
DELETE FROM providers WHERE name="Quickbooks Online"
DELETE FROM providers WHERE name="QuickFile"
DELETE FROM providers WHERE name="SimpleTax"
DELETE FROM providers WHERE name="TransferWise"
DELETE FROM providers WHERE name="Xero"
DELETE FROM providers WHERE name="Action Network"
DELETE FROM providers WHERE name="Capsule"
DELETE FROM providers WHERE name="Cloze"
DELETE FROM providers WHERE name="Customer.io"
DELETE FROM providers WHERE name="Direct Mail"
DELETE FROM providers WHERE name="Discord"
DELETE FROM providers WHERE name="Front App"
DELETE FROM providers WHERE name="Grape"
DELETE FROM providers WHERE name="Hangouts"
DELETE FROM providers WHERE name="HubSpot"
DELETE FROM providers WHERE name="MailChimp"
DELETE FROM providers WHERE name="Mailgun"
DELETE FROM providers WHERE name="Peerio"
DELETE FROM providers WHERE name="Salesforce"
DELETE FROM providers WHERE name="SendGrid"
DELETE FROM providers WHERE name="Sendloop"
DELETE FROM providers WHERE name="Skype"
DELETE FROM providers WHERE name="Slack"
DELETE FROM providers WHERE name="SocketLabs"
DELETE FROM providers WHERE name="SparkPost"
DELETE FROM providers WHERE name="Stackfield"
DELETE FROM providers WHERE name="Betterment"
DELETE FROM providers WHERE name="Charles Schwab"
DELETE FROM providers WHERE name="E*Trade"
DELETE FROM providers WHERE name="Fidelity Investments"
DELETE FROM providers WHERE name="Interactive Brokers"
DELETE FROM providers WHERE name="Nutmeg"
DELETE FROM providers WHERE name="Robinhood"
DELETE FROM providers WHERE name="Wealthfront"
DELETE FROM providers WHERE name="Wealthsimple"
DELETE FROM providers WHERE name="Adafruit"
DELETE FROM providers WHERE name="Allegro"
DELETE FROM providers WHERE name="Amazon"
DELETE FROM providers WHERE name="Apple"
DELETE FROM providers WHERE name="Digitec"
DELETE FROM providers WHERE name="eBay"
DELETE FROM providers WHERE name="Etsy"
DELETE FROM providers WHERE name="Mercado Libre"
DELETE FROM providers WHERE name="Newegg"
DELETE FROM providers WHERE name="Purse"
DELETE FROM providers WHERE name="Shopify"
DELETE FROM providers WHERE name="Tokopedia"
DELETE FROM providers WHERE name="(ISC)2"
DELETE FROM providers WHERE name="Boston University"
DELETE FROM providers WHERE name="California Institute of Technology (CalTech)"
DELETE FROM providers WHERE name="Carnegie Mellon University"
DELETE FROM providers WHERE name="Clemson University"
DELETE FROM providers WHERE name="Clever"
DELETE FROM providers WHERE name="CSN"
DELETE FROM providers WHERE name="Duke University"
DELETE FROM providers WHERE name="East Carolina University"
DELETE FROM providers WHERE name="Eastern Michigan University"
DELETE FROM providers WHERE name="Georgia Institute of Technology"
DELETE FROM providers WHERE name="Harvard University"
DELETE FROM providers WHERE name="KnowBe4"
DELETE FROM providers WHERE name="Massachusetts Institute of Technology"
DELETE FROM providers WHERE name="Miami University"
DELETE FROM providers WHERE name="Pennsylvania State University"
DELETE FROM providers WHERE name="Purdue University"
DELETE FROM providers WHERE name="Ryerson University"
DELETE FROM providers WHERE name="Stanford University"
DELETE FROM providers WHERE name="Temple University"
DELETE FROM providers WHERE name="University of Idaho"
DELETE FROM providers WHERE name="University of Michigan"
DELETE FROM providers WHERE name="University of Washington"
DELETE FROM providers WHERE name="Virginia Commonwealth University"
DELETE FROM providers WHERE name="Virginia Tech"
DELETE FROM providers WHERE name="Amazon Web Services"
DELETE FROM providers WHERE name="Cloud 66"
DELETE FROM providers WHERE name="cloud.ca"
DELETE FROM providers WHERE name="DigitalOcean"
DELETE FROM providers WHERE name="EngineYard"
DELETE FROM providers WHERE name="fortrabbit"
DELETE FROM providers WHERE name="Google Cloud Platform"
DELETE FROM providers WHERE name="Heroku"
DELETE FROM providers WHERE name="Hostiso"
DELETE FROM providers WHERE name="Joyent"
DELETE FROM providers WHERE name="Laravel Forge"
DELETE FROM providers WHERE name="Leaseweb"
DELETE FROM providers WHERE name="Linode"
DELETE FROM providers WHERE name="MacStadium"
DELETE FROM providers WHERE name="Microsoft Azure"
DELETE FROM providers WHERE name="mLab"
DELETE FROM providers WHERE name="Packet"
DELETE FROM providers WHERE name="ProfitBricks"
DELETE FROM providers WHERE name="Rackspace"
DELETE FROM providers WHERE name="Scaleway"
DELETE FROM providers WHERE name="Scalr"
DELETE FROM providers WHERE name="SingleHop"
DELETE FROM providers WHERE name="Tilaa"
DELETE FROM providers WHERE name="UpCloud"
DELETE FROM providers WHERE name="Userify"
DELETE FROM providers WHERE name="Vultr"
DELETE FROM providers WHERE name="Aha!"
DELETE FROM providers WHERE name="Airbrake"
DELETE FROM providers WHERE name="Algolia"
DELETE FROM providers WHERE name="AppSignal"
DELETE FROM providers WHERE name="AppVeyor"
DELETE FROM providers WHERE name="aTech Media"
DELETE FROM providers WHERE name="Atlassian Cloud"
DELETE FROM providers WHERE name="Bitbucket"
DELETE FROM providers WHERE name="Buddy"
DELETE FROM providers WHERE name="Bugsnag"
DELETE FROM providers WHERE name="Bugzilla@Mozilla"
DELETE FROM providers WHERE name="Buildkite"
DELETE FROM providers WHERE name="BuiltWith"
DELETE FROM providers WHERE name="CM Telecom"
DELETE FROM providers WHERE name="Code Climate"
DELETE FROM providers WHERE name="Codeanywhere"
DELETE FROM providers WHERE name="Codeship"
DELETE FROM providers WHERE name="Compose.io"
DELETE FROM providers WHERE name="Crowdin"
DELETE FROM providers WHERE name="DeployHQ"
DELETE FROM providers WHERE name="Domino Data Lab"
DELETE FROM providers WHERE name="Drupal.org"
DELETE FROM providers WHERE name="Esri"
DELETE FROM providers WHERE name="FogBugz & Kiln"
DELETE FROM providers WHERE name="GitHub"
DELETE FROM providers WHERE name="GitLab"
DELETE FROM providers WHERE name="HashiCorp Terraform Enterprise"
DELETE FROM providers WHERE name="HashiCorp Vagrant Cloud"
DELETE FROM providers WHERE name="IT Glue"
DELETE FROM providers WHERE name="Koding"
DELETE FROM providers WHERE name="Launchpad"
DELETE FROM providers WHERE name="Looker"
DELETE FROM providers WHERE name="Mapbox"
DELETE FROM providers WHERE name="Metrological"
DELETE FROM providers WHERE name="MongoDB Cloud Manager"
DELETE FROM providers WHERE name="npm"
DELETE FROM providers WHERE name="Panic Sync"
DELETE FROM providers WHERE name="Phacility"
DELETE FROM providers WHERE name="Pushover"
DELETE FROM providers WHERE name="PyPI"
DELETE FROM providers WHERE name="PythonAnywhere"
DELETE FROM providers WHERE name="Raygun"
DELETE FROM providers WHERE name="RBCommons"
DELETE FROM providers WHERE name="Report URI"
DELETE FROM providers WHERE name="Rollbar"
DELETE FROM providers WHERE name="RubyGems.org"
DELETE FROM providers WHERE name="Semaphore"
DELETE FROM providers WHERE name="Sentry"
DELETE FROM providers WHERE name="SourceForge"
DELETE FROM providers WHERE name="StatusCake"
DELETE FROM providers WHERE name="Sumo Logic"
DELETE FROM providers WHERE name="Unfuddle"
DELETE FROM providers WHERE name="Unity"
DELETE FROM providers WHERE name="Visual Studio Online"
DELETE FROM providers WHERE name="Zapier"
DELETE FROM providers WHERE name="34SP.com"
DELETE FROM providers WHERE name="A2 Hosting"
DELETE FROM providers WHERE name="Acquia"
DELETE FROM providers WHERE name="Binary Lane"
DELETE FROM providers WHERE name="Binero"
DELETE FROM providers WHERE name="Blacknight"
DELETE FROM providers WHERE name="Bluehost"
DELETE FROM providers WHERE name="CDN77"
DELETE FROM providers WHERE name="CDNsun"
DELETE FROM providers WHERE name="ChunkHost"
DELETE FROM providers WHERE name="Cloudways"
DELETE FROM providers WHERE name="cyon"
DELETE FROM providers WHERE name="Dreamhost"
DELETE FROM providers WHERE name="Easy"
DELETE FROM providers WHERE name="Fastly"
DELETE FROM providers WHERE name="Flywheel"
DELETE FROM providers WHERE name="Glesys"
DELETE FROM providers WHERE name="Greenhost"
DELETE FROM providers WHERE name="Hetzner Online"
DELETE FROM providers WHERE name="Hostens"
DELETE FROM providers WHERE name="HostHatch"
DELETE FROM providers WHERE name="Hostnet"
DELETE FROM providers WHERE name="HostUS"
DELETE FROM providers WHERE name="ICDSoft"
DELETE FROM providers WHERE name="ICUK"
DELETE FROM providers WHERE name="Infomaniak"
DELETE FROM providers WHERE name="INIZ"
DELETE FROM providers WHERE name="IO Zoom"
DELETE FROM providers WHERE name="Kinsta"
DELETE FROM providers WHERE name="KnownHost"
DELETE FROM providers WHERE name="Liquid Web"
DELETE FROM providers WHERE name="Mammoth Networks"
DELETE FROM providers WHERE name="MaxCDN"
DELETE FROM providers WHERE name="Miss Hosting"
DELETE FROM providers WHERE name="NearlyFreeSpeech.NET"
DELETE FROM providers WHERE name="Netcup"
DELETE FROM providers WHERE name="Nitrado"
DELETE FROM providers WHERE name="Noez"
DELETE FROM providers WHERE name="Oderland"
DELETE FROM providers WHERE name="Online"
DELETE FROM providers WHERE name="OVH"
DELETE FROM providers WHERE name="PlanetHoster"
DELETE FROM providers WHERE name="RamNode"
DELETE FROM providers WHERE name="RunCloud"
DELETE FROM providers WHERE name="section.io"
DELETE FROM providers WHERE name="SiteGround"
DELETE FROM providers WHERE name="SpeedIT Solutions"
DELETE FROM providers WHERE name="Squarespace"
DELETE FROM providers WHERE name="Time4VPS"
DELETE FROM providers WHERE name="TransIP"
DELETE FROM providers WHERE name="UKFast"
DELETE FROM providers WHERE name="Ukraine"
DELETE FROM providers WHERE name="UpCloud"
DELETE FROM providers WHERE name="VentraIP"
DELETE FROM providers WHERE name="Versio"
DELETE FROM providers WHERE name="VPS Server"
DELETE FROM providers WHERE name="WebFaction"
DELETE FROM providers WHERE name="Wedos"
DELETE FROM providers WHERE name="WP Engine"
DELETE FROM providers WHERE name="drchrono"
DELETE FROM providers WHERE name="FollowMyHealth"
DELETE FROM providers WHERE name="Google Fit"
DELETE FROM providers WHERE name="HealthVault (w/Microsoft Account)"
DELETE FROM providers WHERE name="RunSignUp"
DELETE FROM providers WHERE name="500px"
DELETE FROM providers WHERE name="Buffer"
DELETE FROM providers WHERE name="Facebook"
DELETE FROM providers WHERE name="HootSuite"
DELETE FROM providers WHERE name="Instagram"
DELETE FROM providers WHERE name="LinkedIn"
DELETE FROM providers WHERE name="Lobsters"
DELETE FROM providers WHERE name="Pinterest"
DELETE FROM providers WHERE name="Plurk"
DELETE FROM providers WHERE name="Reddit"
DELETE FROM providers WHERE name="Snapchat"
DELETE FROM providers WHERE name="Tumblr"
DELETE FROM providers WHERE name="Twitter"
DELETE FROM providers WHERE name="VK"
DELETE FROM providers WHERE name="WordPress.com"
DELETE FROM providers WHERE name="Wykop"
DELETE FROM providers WHERE name="XING"
DELETE FROM providers WHERE name="Private Internet Access"
DELETE FROM providers WHERE name="ProtonVPN"
DELETE FROM providers WHERE name="Amazon AWS WorkSpaces"
DELETE FROM providers WHERE name="ConnectWise Control (ScreenConnect)"
DELETE FROM providers WHERE name="join.me (w/ LogMeIn account)"
DELETE FROM providers WHERE name="LogMeIn"
DELETE FROM providers WHERE name="MB Connect Line"
DELETE FROM providers WHERE name="O&O Syspectr"
DELETE FROM providers WHERE name="RealVNC"
DELETE FROM providers WHERE name="Remote Desktop Manager"
DELETE FROM providers WHERE name="TeamViewer"
DELETE FROM providers WHERE name="Datové schránky"
DELETE FROM providers WHERE name="DigiD"
DELETE FROM providers WHERE name="HMRC"
DELETE FROM providers WHERE name="login.gov"
DELETE FROM providers WHERE name="myGov"
DELETE FROM providers WHERE name="RealMe"
DELETE FROM providers WHERE name="Skatteverket"
DELETE FROM providers WHERE name="US Internal Revenue Service"
DELETE FROM providers WHERE name="US Veteran Affairs"
DELETE FROM providers WHERE name="Andrews & Arnold"
DELETE FROM providers WHERE name="Comcast"
DELETE FROM providers WHERE name="Con Edison"
DELETE FROM providers WHERE name="Google Fi"
DELETE FROM providers WHERE name="Google Fiber"
DELETE FROM providers WHERE name="Halebop"
DELETE FROM providers WHERE name="Republic Wireless"
DELETE FROM providers WHERE name="Sonic"
DELETE FROM providers WHERE name="Telia (Sweden)"
DELETE FROM providers WHERE name="Telzio"
DELETE FROM providers WHERE name="Ting"
DELETE FROM providers WHERE name="Ankama"
DELETE FROM providers WHERE name="Ashes of Creation"
DELETE FROM providers WHERE name="Aternos"
DELETE FROM providers WHERE name="Black Desert Online"
DELETE FROM providers WHERE name="Blade & Soul"
DELETE FROM providers WHERE name="Blizzard"
DELETE FROM providers WHERE name="Bohemia Interactive"
DELETE FROM providers WHERE name="Electronic Arts (Origin)"
DELETE FROM providers WHERE name="Enjin"
DELETE FROM providers WHERE name="Epic Games"
DELETE FROM providers WHERE name="EVE Online"
DELETE FROM providers WHERE name="FaceIT"
DELETE FROM providers WHERE name="Gaijin Entertainment"
DELETE FROM providers WHERE name="Garena Online"
DELETE FROM providers WHERE name="GREE"
DELETE FROM providers WHERE name="Guild Wars 2"
DELETE FROM providers WHERE name="Humble Bundle"
DELETE FROM providers WHERE name="itch.io"
DELETE FROM providers WHERE name="lichess.org"
DELETE FROM providers WHERE name="Nintendo Account"
DELETE FROM providers WHERE name="Roberts Space Industries"
DELETE FROM providers WHERE name="Rockstar Games Social Club"
DELETE FROM providers WHERE name="RuneScape"
DELETE FROM providers WHERE name="Scryfall"
DELETE FROM providers WHERE name="Square Enix"
DELETE FROM providers WHERE name="Star Wars: The Old Republic"
DELETE FROM providers WHERE name="Steam"
DELETE FROM providers WHERE name="Tibia"
DELETE FROM providers WHERE name="Toontown Rewritten"
DELETE FROM providers WHERE name="Trion Worlds"
DELETE FROM providers WHERE name="Ubisoft/Uplay"
DELETE FROM providers WHERE name="Wargaming"
DELETE FROM providers WHERE name="Xbox Live"
DELETE FROM providers WHERE name="YoYo Games"
DELETE FROM providers WHERE name="Apple iCloud"
DELETE FROM providers WHERE name="Backblaze"
DELETE FROM providers WHERE name="Dropbox"
DELETE FROM providers WHERE name="Evernote"
DELETE FROM providers WHERE name="Google Drive"
DELETE FROM providers WHERE name="Koofr"
DELETE FROM providers WHERE name="Mega"
DELETE FROM providers WHERE name="Nimbox"
DELETE FROM providers WHERE name="OneDrive"
DELETE FROM providers WHERE name="PCloud"
DELETE FROM providers WHERE name="QNAP"
DELETE FROM providers WHERE name="SmartBox"
DELETE FROM providers WHERE name="Sync"
DELETE FROM providers WHERE name="Synology"
DELETE FROM providers WHERE name="ThisData"
DELETE FROM providers WHERE name="Tresorit"
DELETE FROM providers WHERE name="Wasabi"
DELETE FROM providers WHERE name="Yandex.Disk"
DELETE FROM providers WHERE name="Zetta.net"
DELETE FROM providers WHERE name="Zoolz"
DELETE FROM providers WHERE name="1Password"
DELETE FROM providers WHERE name="Bitium"
DELETE FROM providers WHERE name="bitwarden"
DELETE FROM providers WHERE name="Centrify"
DELETE FROM providers WHERE name="Dashlane"
DELETE FROM providers WHERE name="ID.me"
DELETE FROM providers WHERE name="Keeper"
DELETE FROM providers WHERE name="LastPass"
DELETE FROM providers WHERE name="MyDigipass.com"
DELETE FROM providers WHERE name="Okta"
DELETE FROM providers WHERE name="PassHub"
DELETE FROM providers WHERE name="RoboForm"
DELETE FROM providers WHERE name="SAASPASS"
DELETE FROM providers WHERE name="SailPoint"
DELETE FROM providers WHERE name="True Key"
DELETE FROM providers WHERE name="Addiko Bank"
DELETE FROM providers WHERE name="AirBank"
DELETE FROM providers WHERE name="Avanza"
DELETE FROM providers WHERE name="Barclays UK"
DELETE FROM providers WHERE name="Capital One"
DELETE FROM providers WHERE name="Ceska Sporitelna"
DELETE FROM providers WHERE name="DNB"
DELETE FROM providers WHERE name="Erste Bank Hrvatska"
DELETE FROM providers WHERE name="First Direct"
DELETE FROM providers WHERE name="First Tech Federal Credit Union"
DELETE FROM providers WHERE name="Handelsbanken"
DELETE FROM providers WHERE name="HSBC"
DELETE FROM providers WHERE name="Länsförsäkringar"
DELETE FROM providers WHERE name="Navy Federal Credit Union"
DELETE FROM providers WHERE name="Nordea Sverige"
DELETE FROM providers WHERE name="Nordnet Sverige"
DELETE FROM providers WHERE name="Podravska banka"
DELETE FROM providers WHERE name="Santander PL"
DELETE FROM providers WHERE name="SEB"
DELETE FROM providers WHERE name="SoFi"
DELETE FROM providers WHERE name="State Bank of India"
DELETE FROM providers WHERE name="Swedbank"
DELETE FROM providers WHERE name="TBC Bank"
DELETE FROM providers WHERE name="USAA"
DELETE FROM providers WHERE name="UW Credit Union"
DELETE FROM providers WHERE name="Zagrebačka banka"
DELETE FROM providers WHERE name="Zurich Cantonal Bank (ZKB)"
DELETE FROM providers WHERE name="Clio"
DELETE FROM providers WHERE name="Docusign"
DELETE FROM providers WHERE name="HelloSign"
DELETE FROM providers WHERE name="Finnair"
DELETE FROM providers WHERE name="Uber"
DELETE FROM providers WHERE name="007Names"
DELETE FROM providers WHERE name="1&1 IONOS"
DELETE FROM providers WHERE name="101domain"
DELETE FROM providers WHERE name="20i"
DELETE FROM providers WHERE name="Above.com"
DELETE FROM providers WHERE name="ClouDNS"
DELETE FROM providers WHERE name="Directnic"
DELETE FROM providers WHERE name="DNS Made Easy"
DELETE FROM providers WHERE name="DNSimple"
DELETE FROM providers WHERE name="Domeneshop"
DELETE FROM providers WHERE name="Domeny.tv"
DELETE FROM providers WHERE name="Dyn"
DELETE FROM providers WHERE name="Dynadot"
DELETE FROM providers WHERE name="Dynu"
DELETE FROM providers WHERE name="easyDNS"
DELETE FROM providers WHERE name="eNom"
DELETE FROM providers WHERE name="EuroDNS"
DELETE FROM providers WHERE name="Fabulous"
DELETE FROM providers WHERE name="Gandi"
DELETE FROM providers WHERE name="GoDaddy"
DELETE FROM providers WHERE name="Google Domains"
DELETE FROM providers WHERE name="Hexonet"
DELETE FROM providers WHERE name="Hover.com"
DELETE FROM providers WHERE name="Hurricane Electric"
DELETE FROM providers WHERE name="Incapsula"
DELETE FROM providers WHERE name="Internet.bs"
DELETE FROM providers WHERE name="INWX"
DELETE FROM providers WHERE name="iWantMyName"
DELETE FROM providers WHERE name="Joker.com"
DELETE FROM providers WHERE name="Loopia"
DELETE FROM providers WHERE name="MarkMonitor"
DELETE FROM providers WHERE name="Moniker"
DELETE FROM providers WHERE name="Name.com"
DELETE FROM providers WHERE name="Namecheap"
DELETE FROM providers WHERE name="NameSilo.com"
DELETE FROM providers WHERE name="NearlyFreeSpeech.net"
DELETE FROM providers WHERE name="Nominet"
DELETE FROM providers WHERE name="NS1"
DELETE FROM providers WHERE name="OpenDNS"
DELETE FROM providers WHERE name="Openprovider"
DELETE FROM providers WHERE name="OpenSRS"
DELETE FROM providers WHERE name="pair Domains"
DELETE FROM providers WHERE name="Porkbun"
DELETE FROM providers WHERE name="Rebrandly"
DELETE FROM providers WHERE name="Register4Less"
DELETE FROM providers WHERE name="Registro.br"
DELETE FROM providers WHERE name="UK2"
DELETE FROM providers WHERE name="Uniregistry"
DELETE FROM providers WHERE name="United Domains USA"
DELETE FROM providers WHERE name="united-domains Reselling"
DELETE FROM providers WHERE name="united-domains.de"
DELETE FROM providers WHERE name="VentraIP"
DELETE FROM providers WHERE name="ANXPRO Bitcoin Exchange"
DELETE FROM providers WHERE name="AnycoinDirect"
DELETE FROM providers WHERE name="Binance"
DELETE FROM providers WHERE name="BitBay"
DELETE FROM providers WHERE name="Bitcoin.de"
DELETE FROM providers WHERE name="Bitcoins Norway"
DELETE FROM providers WHERE name="BitcoinTrade"
DELETE FROM providers WHERE name="Bitfinex"
DELETE FROM providers WHERE name="Bitflyer"
DELETE FROM providers WHERE name="BitGo"
DELETE FROM providers WHERE name="Bithumb"
DELETE FROM providers WHERE name="Bitlish"
DELETE FROM providers WHERE name="Bitpay"
DELETE FROM providers WHERE name="Bitstamp"
DELETE FROM providers WHERE name="Bittrex"
DELETE FROM providers WHERE name="Blockchain"
DELETE FROM providers WHERE name="Braziliex"
DELETE FROM providers WHERE name="BTC BOX"
DELETE FROM providers WHERE name="BTC Markets"
DELETE FROM providers WHERE name="BTCPOP"
DELETE FROM providers WHERE name="BX Thailand"
DELETE FROM providers WHERE name="CEX.IO"
DELETE FROM providers WHERE name="Changelly"
DELETE FROM providers WHERE name="Circle"
DELETE FROM providers WHERE name="COBINHOOD"
DELETE FROM providers WHERE name="Coin Cafe"
DELETE FROM providers WHERE name="Coinapult"
DELETE FROM providers WHERE name="Coinbase"
DELETE FROM providers WHERE name="CoinDeal"
DELETE FROM providers WHERE name="CoinFalcon"
DELETE FROM providers WHERE name="Coinfloor"
DELETE FROM providers WHERE name="CoinGate"
DELETE FROM providers WHERE name="Coinify (Merchants)"
DELETE FROM providers WHERE name="Coinjar"
DELETE FROM providers WHERE name="CoinOne"
DELETE FROM providers WHERE name="Coins.ph"
DELETE FROM providers WHERE name="Coinspot"
DELETE FROM providers WHERE name="CoinTracking"
DELETE FROM providers WHERE name="Coinut"
DELETE FROM providers WHERE name="Cryptopia"
DELETE FROM providers WHERE name="DSX"
DELETE FROM providers WHERE name="Gatehub"
DELETE FROM providers WHERE name="Gemini"
DELETE FROM providers WHERE name="HitBTC"
DELETE FROM providers WHERE name="Korbit"
DELETE FROM providers WHERE name="Kraken"
DELETE FROM providers WHERE name="LiteBit"
DELETE FROM providers WHERE name="LocalBitcoins"
DELETE FROM providers WHERE name="localethereum"
DELETE FROM providers WHERE name="Luno"
DELETE FROM providers WHERE name="Mercado Bitcoin"
DELETE FROM providers WHERE name="Poloniex"
DELETE FROM providers WHERE name="SatoshiTango"
DELETE FROM providers WHERE name="Uphold"
DELETE FROM providers WHERE name="Wirex"
DELETE FROM providers WHERE name="Xapo"
DELETE FROM providers WHERE name="Microsoft To-Do"
DELETE FROM providers WHERE name="Planio"
DELETE FROM providers WHERE name="Toodledo"
DELETE FROM providers WHERE name="Trello"
DELETE FROM providers WHERE name="AdGuard"
DELETE FROM providers WHERE name="Blur"
DELETE FROM providers WHERE name="Boxcryptor"
DELETE FROM providers WHERE name="bugcrowd"
DELETE FROM providers WHERE name="Cloudflare"
DELETE FROM providers WHERE name="Cobalt"
DELETE FROM providers WHERE name="DigiCert"
DELETE FROM providers WHERE name="dmarcian"
DELETE FROM providers WHERE name="Dome9 Security"
DELETE FROM providers WHERE name="Entrust"
DELETE FROM providers WHERE name="HackerOne"
DELETE FROM providers WHERE name="Norton"
DELETE FROM providers WHERE name="Prey"
DELETE FROM providers WHERE name="Pwnie Express Pwn Pulse"
DELETE FROM providers WHERE name="RBLTracker"
DELETE FROM providers WHERE name="Sophos Central"
DELETE FROM providers WHERE name="SSLTrust"
DELETE FROM providers WHERE name="ThreatConnect"
DELETE FROM providers WHERE name="ThreatX"
DELETE FROM providers WHERE name="Tinfoil Security"
DELETE FROM providers WHERE name="TorGuard"

View file

@ -0,0 +1,606 @@
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FastMail", "https://www.fastmail.com/", "https://www.fastmail.com/help/account/2fa.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gmail", "https://mail.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GMX.net", "https://www.gmx.net/", "https://hilfe.gmx.net/sicherheit/2fa/einrichten.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hushmail", "https://www.hushmail.com", "https://help.hushmail.com/hc/en-us/articles/213268943", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("mail.de", "https://mail.de/", "https://mail.de/hilfe/u2f-authenticator", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mail.Ru", "https://mail.ru/", "https://help.mail.ru/mail-help/2auth", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("mailbox.org", "https://mailbox.org/", "https://kb.mailbox.org/x/5AcS", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mailfence", "https://mailfence.com/", "https://mailfence.com/c/mailfence/more/totp.jsp", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Migadu", "https://www.migadu.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mimecast", "https://www.mimecast.com/", "https://community.mimecast.com/docs/DOC-1915", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MXroute", "https://mxroute.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Outlook.com", "https://outlook.com", "https://support.microsoft.com/en-us/help/12408/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pobox", "https://www.pobox.com/", "https://pobox.com/helpspot/index.php?pg=kb.chapter&id=65", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Posteo", "https://posteo.de/", "https://posteo.de/en/help/what-is-two-factor-authentication-and-how-do-i-set-it-up", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ProtonMail", "https://protonmail.com/", "https://protonmail.com/support/knowledge-base/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Runbox", "https://runbox.com", "https://help.runbox.com/account-security/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Seznam.cz", "https://seznam.cz", "https://blog.seznam.cz/2018/04/seznam-cz-ma-nove-dvoufazove-overeni-u-vsech-svych-sluzeb-zvysi-zabezpeci-prihlasovani-napriklad-do-emailu/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("StartMail", "https://www.startmail.com", "https://support.startmail.com/index.php?/Knowledgebase/Article/View/704", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Thexyz", "https://www.thexyz.com/", "https://www.thexyz.com/account/knowledgebase/15/Enabling-two-factor-authentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tutanota", "https://tutanota.com/", "https://tutanota.uservoice.com/knowledgebase/articles/1201942", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yahoo Japan Mail", "https://mail.yahoo.co.jp/", "https://id.yahoo.co.jp/security/otp.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yandex.Mail", "https://mail.yandex.com/", "https://yandex.com/support/passport/authorization/twofa.xml", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zimbra", "https://www.zimbra.com/", "https://blog.zimbra.com/2016/02/zimbra-collaboration-8-7-two-factor-authentication-2fa-technical-preview/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zoho Mail", "https://www.zoho.com/mail/", "https://adminconsole.wiki.zoho.com/mail/Two-Factor-Authentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Adobe ID", "https://accounts.adobe.com/", "https://helpx.adobe.com/manage-account/using/secure-your-adobe-account.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Airtable", "https://airtable.com", "https://support.airtable.com/hc/en-us/articles/219409917", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AngelList", "https://angel.co", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Autodesk", "https://www.autodesk.com", "https://knowledge.autodesk.com/customer-service/account-management/account-profile/account-security/two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Automater", "https://automater.pl/en/", "https://www.youtube.com/watch?v=5OLcvjVhhuI", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AwardWallet", "https://awardwallet.com", "https://awardwallet.com/faqs#44", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Chartbeat", "https://chartbeat.com/", "https://chartbeat.zendesk.com/hc/en-us/articles/209531888", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cisco Meraki", "https://meraki.cisco.com/", "https://documentation.meraki.com/zGeneral_Administration/Managing_Dashboard_Access/Using_Google_Authenticator_for_Two-factor_Authentication_in_Dashboard", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CloudConvert", "https://cloudconvert.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloudinary", "https://cloudinary.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DirectAdmin", "https://www.directadmin.com", "https://directadmin.com/features.php?id=1754", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Envato", "https://envato.com", "https://help.market.envato.com/hc/en-us/articles/115005592963", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Everlaw", "https://everlaw.com", "https://support.everlaw.com/hc/en-us/articles/206312165", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Figma", "https://www.figma.com/", "https://help.figma.com/article/208--", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Findmyshift", "https://www.findmyshift.com/", "https://www.findmyshift.com/help/what-is-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Firefox", "https://accounts.firefox.com", "https://support.mozilla.org/en-US/kb/secure-firefox-account-two-step-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Formstack", "https://www.formstack.com/", "https://help.formstack.com/hc/en-us/articles/360019517891", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GrowingIO", "https://www.growingio.com/", "https://docs.growingio.com/docs/configuration/account-management#22-kai-qi-er-ci-ren-zheng", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Help Scout", "https://helpscout.com", "https://docs.helpscout.com/article/907--", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("IFTTT", "https://ifttt.com", "https://ifttt.com/settings#two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ImmobilienScout24", "https://www.immobilienscout24.de", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Jitbit Helpdesk", "https://www.jitbit.com/hosted-helpdesk/", "https://support.jitbit.com/helpdesk/KB/View/11048235", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Kayako", "https://www.kayako.com", "https://support.kayako.com/article/1198-securing-your-user-account-with-two-factor-authentication-2fa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Kickstarter", "https://www.kickstarter.com", "https://help.kickstarter.com/hc/en-us/articles/115005127094", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MathWorks", "https://www.mathworks.com/", "https://www.mathworks.com/mw_account/two_step_verification/frequently-asked-questions.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mixpanel", "https://mixpanel.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("No Starch Press", "https://nostarch.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Office 365", "https://office.microsoft.com/en-us/business/", "https://support.office.com/en-US/article/Set-up-multi-factor-authentication-for-Office-365-8f0454b2-f51a-4d9c-bcde-2c48e41621c6", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Onshape", "https://www.onshape.com/", "https://cad.onshape.com/help/Content/twofactorauthentication.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Patreon", "https://www.patreon.com/", "https://support.patreon.com/hc/en-us/articles/206538086", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PhraseApp", "https://phraseapp.com", "https://phraseapp.com/blog/posts/multi-factor-how-to-secure-your-account-using-multi-factor/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Repairshopr", "https://www.repairshopr.com/", "https://feedback.repairshopr.com/knowledgebase/articles/928266", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ripe NCC", "https://www.ripe.net/", "https://www.ripe.net/participate/member-support/ripe-ncc-access/two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SaneBox", "https://www.sanebox.com/", "https://www.sanebox.com/help/127", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SmartSimple", "https://www.smartsimple.com", "https://wiki.smartsimple.com/wiki/Two-Factor_Authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ubiquiti Networks", "https://www.ubnt.com", "https://help.ubnt.com/hc/en-us/articles/115012986607", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Usabilla", "https://usabilla.com", "https://support.usabilla.com/hc/en-us/articles/115003081611", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Watchman Monitoring", "https://www.watchmanmonitoring.com", "https://www.watchmanmonitoring.com/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Weclapp", "https://weclapp.com/", "https://doc.weclapp.com/knowledgebase/zwei-wege-authentifizierung-2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wikipedia", "https://www.wikipedia.org/", "https://meta.wikimedia.org/wiki/Help:Two-factor_authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yclas", "https://yclas.com/", "https://docs.yclas.com/2-step-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("YourAcclaim", "https://youracclaim.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zendesk", "https://www.zendesk.com", "https://support.zendesk.com/hc/en-us/articles/203824246", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Play", "https://play.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mixer", "https://mixer.com/", "https://watchbeam.zendesk.com/hc/en-us/articles/115000997646", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Niconico", "https://www.nicovideo.jp/", "https://qa.nicovideo.jp/faq/show/4500", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("smashcast", "https://www.smashcast.tv/", "https://help.smashcast.tv/customer/en/portal/articles/2779887", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Twitch", "https://www.twitch.tv/", "https://help.twitch.tv/s/article/two-factor-authentication-with-authy", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("YouTube", "https://www.youtube.com/", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Amazon Pay", "https://pay.amazon.com", "https://www.amazon.com/gp/help/customer/display.html?nodeId=201962420", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Braintree", "https://www.braintreepayments.com/", "https://articles.braintreepayments.com/reference/security/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Buycraft", "https://buycraft.net", "https://help.buycraft.net/article/83-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dwolla", "https://www.dwolla.com", "https://support.dwolla.com/customer/portal/articles/2079147", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Wallet", "https://www.google.se/wallet/", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Klarna", "https://www.klarna.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NETELLER", "https://www.neteller.com/", "https://support.neteller.com/ACCOUNT/Two-Factor-Authentication/85238429/What-is-two-step-authentication.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PAYEER", "https://payeer.com/en/", "https://payeer.com/en/faq/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PayPal", "https://www.paypal.com/", "https://www.paypal.com/us/smarthelp/article/faq4057", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Paysafecard", "https://www.paysafecard.com/", "https://www.paysafecard.com/en-au/lp-products/2-step-login/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Payza", "https://www.payza.eu/", "https://docs.payza.eu/docs/personal-manual-advanced-security#section-how-do-i-set-up-2-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Privacy", "https://privacy.com/", "https://privacy.com/faq", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ravelin", "https://www.ravelin.com/", "https://ravelin.zendesk.com/hc/en-us/articles/115001071665", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Recurly", "https://www.recurly.com/", "https://docs.recurly.com/docs/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Skrill", "https://skrill.com/", "https://www.skrill.com/en/support#/path/ACCOUNT/Two-Factor-Authentication/905761532/Two-Factor-Authentication-2FA.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Square", "https://squareup.com", "https://squareup.com/help/us/en/article/5593", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Stripe", "https://www.stripe.com/", "https://support.stripe.com/questions/how-do-i-enable-two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yandex.Money", "https://money.yandex.ru", "https://money.yandex.ru/doc.xml?id=524852", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AltoIRA", "https://www.altoira.com", "https://help.altoira.com/hc/en-us/articles/360007374654", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BGL Corporate Solutions", "https://www.bglcorp.com/", "https://sf360.zendesk.com/hc/en-au/articles/360020963051", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitbond", "https://www.bitbond.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Carta", "https://carta.com/", "https://support.carta.com/s/article/2-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DEGIRO", "https://www.degiro.nl", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Exact Online", "https://exact.com/", "https://support.exactonline.com/community/s/knowledge-base#All-All-HNO-Concept-general-security-gen-auth-totpc", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FreeAgent", "https://www.freeagent.com", "https://www.freeagent.com/support/kb/getting-started/two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FreeTaxUSA", "https://www.freetaxusa.com/", "https://www.freetaxusa.com/safe.jsp", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Intuit TurboTax", "https://turbotax.intuit.com/", "https://ttlc.intuit.com/questions/2902682-what-is-two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Invoiced", "https://invoiced.com/", "https://support.invoiced.com/knowledge_base/topics/setting-up-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Justworks", "https://justworks.com/", "https://help.justworks.com/hc/en-us/articles/360004477492", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Metorik", "https://www.metorik.com", "https://help.metorik.com/article/22-how-can-i-enable-2fa-on-my-account", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mint", "https://www.mint.com", "https://help.mint.com/Security/908045661", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Moneybird", "https://www.moneybird.com/", "https://www.moneybird.nl/blog/twee-staps-verificatie/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Paycor", "https://www.paycor.com", "https://www.paycor.com/security/how-to-keep-your-account-safe", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pocketsmith", "https://www.pocketsmith.com", "https://learn.pocketsmith.com/article/167--", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Quickbooks Online", "https://www.quickbooks.com", "https://accounts-help.lc.intuit.com/questions/1590157", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("QuickFile", "https://www.quickfile.co.uk", "https://community.quickfile.co.uk/t/2-factor-authentication/8892", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SimpleTax", "https://simpletax.ca/", "https://help.simpletax.ca/questions/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TransferWise", "https://transferwise.com", "https://transferwise.com/help/12/managing-your-profile/2932125", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Xero", "https://www.xero.com/", "https://help.xero.com/nz/MyXero_Two-Step_About", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Action Network", "https://actionnetwork.org/", "https://help.actionnetwork.org/hc/en-us/articles/217206826", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Capsule", "https://capsulecrm.com/", "https://capsulecrm.com/support/user-preferences/#enabling-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloze", "https://www.cloze.com/", "https://help.cloze.com/knowledge_base/topics/how-do-i-enable-2-step-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Customer.io", "https://customer.io", "https://customer.io/docs/two-factor-auth.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Direct Mail", "https://directmailmac.com", "https://directmailmac.com/support/article/507", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Discord", "https://discordapp.com/", "https://support.discordapp.com/hc/en-us/articles/219576828", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Front App", "https://frontapp.com", "https://community.frontapp.com/t/q56jf8/activating-two-factor-authentication-2fa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Grape", "https://chatgrape.com/", "https://chatgrape.com/doc/deployment/2fa.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hangouts", "https://hangouts.google.com/", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HubSpot", "https://www.hubspot.com/", "https://knowledge.hubspot.com/articles/kcs_article/account/how-can-i-set-up-two-factor-authentication-for-my-hubspot-login", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MailChimp", "https://mailchimp.com/", "https://kb.mailchimp.com/accounts/login/set-up-a-two-factor-authentication-app-at-login", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mailgun", "https://www.mailgun.com", "https://help.mailgun.com/hc/en-us/articles/360011664433", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Peerio", "https://peerio.com", "https://support.peerio.com/hc/en-us/articles/203665635", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Salesforce", "https://www.salesforce.com", "https://developer.salesforce.com/docs/atlas.en-us.securityImplGuide.meta/securityImplGuide/add_time-based_token.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SendGrid", "https://sendgrid.com/", "https://sendgrid.com/docs/ui/account-and-settings/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sendloop", "https://app.sendloop.com", "https://help.sendloop.com/docs/securing-your-account", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Skype", "https://www.skype.com", "https://support.microsoft.com/en-us/help/12408/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Slack", "https://slack.com/", "https://get.slack.help/hc/en-us/articles/204509068", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SocketLabs", "https://socketlabs.com/", "https://help.socketlabs.com/docs/two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SparkPost", "https://sparkpost.com/", "https://www.sparkpost.com/docs/my-account-and-profile/enabling-two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Stackfield", "https://www.stackfield.com/", "https://en.stackfield.help/article/92-activating-deactivating-the-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Betterment", "https://www.betterment.com/", "https://help.betterment.com/hc/en-us/articles/115004260006", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Charles Schwab", "https://www.schwab.com/", "/notes/schwab/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("E*Trade", "https://www.etrade.com/", "https://us.etrade.com/landing/secureid_enter", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Fidelity Investments", "https://www.fidelity.com", "/notes/fidelity/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Interactive Brokers", "https://www.interactivebrokers.com", "https://www.interactivebrokers.com/en/index.php?f=ibgStrength&p=log", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nutmeg", "https://www.nutmeg.com/", "https://support.nutmeg.com/hc/en-us/articles/115000495111", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Robinhood", "https://www.robinhood.com/", "https://support.robinhood.com/hc/en-us/articles/360001213783", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wealthfront", "https://www.wealthfront.com/", "https://support.wealthfront.com/hc/en-us/articles/211004563", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wealthsimple", "https://www.wealthsimple.com", "https://help.wealthsimple.com/hc/en-ca/articles/360005175373", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Adafruit", "https://www.adafruit.com", "https://learn.adafruit.com/how-to-set-up-2-factor-authentication-on-adafruit", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Allegro", "https://allegro.pl", "https://allegro.pl/pomoc/faq/dwustopniowe-logowanie-faq-oGgdkGDqXCq", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Amazon", "https://www.amazon.com", "https://www.amazon.com/gp/help/customer/display.html?nodeId=201596330", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Apple", "https://appleid.apple.com", "https://support.apple.com/en-us/HT204915", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Digitec", "https://www.digitec.ch", "https://www.digitec.ch/en/page/new-two-factor-authentication-for-your-user-account-6589", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("eBay", "https://www.ebay.com", "https://community.ebay.com/t5/Announcements/eBay-launches-a-new-2-step-verification-method-to-increase/ba-p/29818464", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Etsy", "https://www.etsy.com/", "https://help.etsy.com/hc/en-us/articles/115015569567", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mercado Libre", "https://www.mercadolibre.com", "https://ayuda.mercadolibre.com.ar/ayuda/Consejos-para-fortalecer-la-se_961", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Newegg", "https://www.newegg.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Purse", "https://purse.io/", "https://support.purse.io/account/2-factor-authentication-2fa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Shopify", "https://shopify.com/", "https://help.shopify.com/manual/your-account/account-security/two-step-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tokopedia", "https://www.tokopedia.com/", "https://www.tokopedia.com/panduan-keamanan/fitur-keamanan-tambahan/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("(ISC)2", "https://www.isc2.org", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Boston University", "https://www.bu.edu", "https://www.bu.edu/tech/support/duo/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("California Institute of Technology (CalTech)", "https://www.caltech.edu", "https://imss.caltech.edu/node/1408", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Carnegie Mellon University", "https://www.cmu.edu/", "https://www.cmu.edu/computing/services/security/identity-access/authentication/how-to/use2fa-weblogin.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Clemson University", "https://www.clemson.edu/", "https://2fa.app.clemson.edu/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Clever", "https://clever.com", "https://support.clever.com/hc/en-us/articles/202062333", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CSN", "https://www.csn.se", "https://tjanster.csn.se/bas/vanligaFragor.do", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Duke University", "https://www.duke.edu", "https://idms-mfa.oit.duke.edu/mfa/help", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("East Carolina University", "https://www.ecu.edu", "https://itcs.ecu.edu/services/accounts-passwords/multi-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Eastern Michigan University", "https://www.emich.edu", "https://www.emich.edu/it/security/esp/duo.php", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Georgia Institute of Technology", "https://www.gatech.edu", "https://twofactor.oit.gatech.edu", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Harvard University", "https://www.harvard.edu", "https://huit.harvard.edu/twostep", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("KnowBe4", "https://www.knowbe4.com/", "https://support.knowbe4.com/hc/en-us/articles/225681448", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Massachusetts Institute of Technology", "https://web.mit.edu/", "https://kb.mit.edu/confluence/display/istcontrib/Duo+Authentication+Landing+Page", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Miami University", "https://miamioh.edu/", "https://miamioh.edu/it-services/initiatives-and-projects/info-security/duo/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pennsylvania State University", "https://www.psu.edu/", "https://www.identity.psu.edu/services/authentication-services/two-factor/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Purdue University", "https://www.purdue.edu/", "https://www.purdue.edu/securepurdue/iamoServices/BoilerKey.php", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ryerson University", "https://www.ryerson.ca", "https://www.ryerson.ca/ccs/services/ITSecurity/protecting-your-identity/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Stanford University", "https://www.stanford.edu/", "https://uit.stanford.edu/service/webauth/twostep", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Temple University", "https://www.temple.edu/", "https://computerservices.temple.edu/two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("University of Idaho", "https://www.uidaho.edu", "https://support.uidaho.edu/TDClient/KB/ArticleDet?ID=109", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("University of Michigan", "https://www.umich.edu", "https://www.safecomputing.umich.edu/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("University of Washington", "https://www.washington.edu/", "https://itconnect.uw.edu/security/uw-netids/2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Virginia Commonwealth University", "https://www.vcu.edu", "https://ts.vcu.edu/askit/essential-computing/information-security/2factor/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Virginia Tech", "https://www.vt.edu/", "https://www.tech.it.vt.edu/2factor/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Amazon Web Services", "https://aws.amazon.com", "https://aws.amazon.com/iam/details/mfa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloud 66", "https://www.cloud66.com", "https://blog.cloud66.com/two-factor-authentication-for-your-accounts/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("cloud.ca", "https://cloud.ca", "https://cloud.ca/two-factor-authentication-is-now-available-on-cloud-ca/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DigitalOcean", "https://www.digitalocean.com/", "https://www.digitalocean.com/docs/accounts/security/2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("EngineYard", "https://www.engineyard.com", "https://blog.engineyard.com/2015/engine-yards-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("fortrabbit", "https://www.fortrabbit.com/", "https://help.fortrabbit.com/account#toc-setting-up-2fa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Cloud Platform", "https://cloud.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Heroku", "https://www.heroku.com/", "https://devcenter.heroku.com/articles/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hostiso", "https://hostiso.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Joyent", "https://www.joyent.com/", "https://docs.joyent.com/public-cloud/getting-started/2fa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Laravel Forge", "https://forge.laravel.com/", "https://forge.laravel.com/user/profile#/authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Leaseweb", "https://www.leaseweb.com/", "https://kb.leaseweb.com/users-and-accounts/managing-your-profile/setup-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Linode", "https://www.linode.com/", "https://www.linode.com/docs/security/linode-manager-security-controls", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MacStadium", "https://www.macstadium.com/", "https://help.macstadium.com/articles/macstadium-two-factor-authentication-guide", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Microsoft Azure", "https://azure.microsoft.com/", "https://azure.microsoft.com/en-us/documentation/articles/multi-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("mLab", "https://mlab.com/", "https://docs.mlab.com/security/#two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Packet", "https://www.packet.com/", "https://support.packet.com/kb/articles/portal", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ProfitBricks", "https://www.profitbricks.de", "https://www.profitbricks.com/help/2-Factor_Authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Rackspace", "https://www.rackspace.com/", "https://support.rackspace.com/how-to/multi-factor-authentication-from-the-cloud-control-panel/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Scaleway", "https://www.scaleway.com", "https://blog.online.net/2017/06/13/introducing-two-factor-authentication-on-scaleway/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Scalr", "https://www.scalr.com", "https://scalr-wiki.atlassian.net/wiki/display/docs/Two-Factor+Authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SingleHop", "https://www.singlehop.com", "http://library.singlehop.com/assets_project_development/Two_Factor_Instructions.pdf", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tilaa", "https://www.tilaa.com", "https://blog.tilaa.com/post/128110588046", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UpCloud", "https://www.upcloud.com", "https://www.upcloud.com/support/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Userify", "https://userify.com", "https://userify.com/docs/multifactor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Vultr", "https://www.vultr.com", "https://www.vultr.com/docs/using-two-factor-authentication-to-login-to-vultr-control-panel", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Aha!", "https://www.aha.io/", "https://support.aha.io/hc/en-us/articles/202000957", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Airbrake", "https://airbrake.io", "https://airbrake.io/docs/features/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Algolia", "https://algolia.com", "https://www.algolia.com/doc/security/best-security-practices/#two-factor-authentication-2fa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AppSignal", "https://appsignal.com", "https://docs.appsignal.com/user-account/two-factor-authentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AppVeyor", "https://www.appveyor.com", "https://www.appveyor.com/blog/2018/11/07/2FA-implementation/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("aTech Media", "https://atechmedia.com", "https://atechmedia.com/blog/general/launches/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Atlassian Cloud", "https://id.atlassian.com", "https://confluence.atlassian.com/cloud/secure-your-account-with-two-step-verification-939505063.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitbucket", "https://bitbucket.org", "https://confluence.atlassian.com/x/425QLg", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Buddy", "https://buddy.works", "https://buddy.works/blog/introducing-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bugsnag", "https://bugsnag.com", "https://docs.bugsnag.com/product/account-and-security/#security", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bugzilla@Mozilla", "https://bugzilla.mozilla.org", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Buildkite", "https://buildkite.com", "https://buildkite.com/changelog/31-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BuiltWith", "https://builtwith.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CM Telecom", "https://www.cmtelecom.com/", "https://help.onlinesmsgateway.com/en/accounts-and-payments/how-do-i-enable-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Code Climate", "https://codeclimate.com", "https://docs.codeclimate.com/docs/enabling-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Codeanywhere", "https://codeanywhere.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Codeship", "https://codeship.com/", "https://documentation.codeship.com/general/about/2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Compose.io", "https://www.compose.io/", "https://docs.compose.io/security/compose-two-factor-authentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Crowdin", "https://crowdin.com/", "https://support.crowdin.com/account-settings/#two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DeployHQ", "https://www.deployhq.com/", "https://www.deployhq.com/support/managing-your-account/personal-profile/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Domino Data Lab", "https://www.dominodatalab.com/", "https://support.dominodatalab.com/hc/en-us/articles/115000998406", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Drupal.org", "https://www.drupal.org/", "https://www.drupal.org/drupalorg/docs/user-accounts/setting-up-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Esri", "https://www.esri.com", "https://doc.arcgis.com/en/arcgis-online/reference/multifactor.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FogBugz & Kiln", "https://www.fogbugz.com/", "https://help.manuscript.com/10892", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GitHub", "https://github.com", "https://help.github.com/articles/about-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GitLab", "https://gitlab.com", "https://docs.gitlab.com/ee/user/profile/account/two_factor_authentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HashiCorp Terraform Enterprise", "https://app.terraform.io/", "https://www.terraform.io/docs/enterprise/users-teams-organizations/2fa.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HashiCorp Vagrant Cloud", "https://app.vagrantup.com/", "https://www.vagrantup.com/docs/vagrant-cloud/users/authentication.html#two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("IT Glue", "https://www.itglue.com/", "https://kb.itglue.com/hc/en-us/articles/213293197", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Koding", "https://koding.com", "https://www.koding.com/blog/2015/06/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Launchpad", "https://launchpad.net", "https://help.ubuntu.com/community/SSO/FAQs/2FA", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Looker", "https://looker.com/", "https://www.looker.com/docs/admin/security/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mapbox", "https://www.mapbox.com", "https://www.mapbox.com/help/two-step-verification/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Metrological", "https://www.metrological.com/", "https://github.com/2factorauth/twofactorauth/pull/2273#issuecomment-271876292", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MongoDB Cloud Manager", "https://cloud.mongodb.com", "https://docs.cloudmanager.mongodb.com/core/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("npm", "https://www.npmjs.com/", "https://docs.npmjs.com/getting-started/using-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Panic Sync", "https://panic.com/", "https://library.panic.com/general/sync-2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Phacility", "https://phacility.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pushover", "https://pushover.net/", "https://pushover.net/faq#security-2fa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PyPI", "https://pypi.org/", "https://pypi.org/help/#twofa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PythonAnywhere", "https://www.pythonanywhere.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Raygun", "https://raygun.com", "https://raygun.com/docs/workflow/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RBCommons", "https://rbcommons.com", "https://beanbag.freshdesk.com/support/solutions/articles/3000006998", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Report URI", "https://report-uri.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Rollbar", "https://rollbar.com/", "https://rollbar.com/docs/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RubyGems.org", "https://rubygems.org", "https://guides.rubygems.org/setting-up-multifactor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Semaphore", "https://semaphoreci.com", "https://semaphoreci.com/docs/two-step-verification.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sentry", "https://sentry.io", "https://blog.sentry.io/2016/06/22/introducing-2fa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SourceForge", "https://sourceforge.net/", "https://sourceforge.net/blog/introducing-multifactor-authentication-on-sourceforge/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("StatusCake", "https://statuscake.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sumo Logic", "https://www.sumologic.com", "https://help.sumologic.com/Manage/Security/About_2-Step_Verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Unfuddle", "https://unfuddle.com/", "https://unfuddle.com/blog/2014/07/140721-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Unity", "https://unity3d.com/", "https://support.unity3d.com/hc/en-us/articles/208764976", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Visual Studio Online", "https://www.visualstudio.com/", "https://support.microsoft.com/en-us/help/12408/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zapier", "https://zapier.com", "https://zapier.com/help/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("34SP.com", "https://www.34SP.com", "https://www.34sp.com/kb/142/how-to-enable-two-factor-authentication-on-your-account", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("A2 Hosting", "https://www.a2hosting.com", "https://www.a2hosting.com/kb/a2-hosting-customer-portal/account-management/enabling-two-factor-authentication-for-your-a2-hosting-account", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Acquia", "https://www.acquia.com", "https://docs.acquia.com/acquia-cloud/access/signin/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Binary Lane", "https://www.binarylane.com.au/", "https://www.binarylane.com.au/support/solutions/articles/1000199372", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Binero", "https://www.binero.se", "https://blogg.binero.se/2017/10/tvafaktorsautentisering/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blacknight", "https://blacknight.com", "https://help.blacknight.com/hc/en-us/articles/360001358517", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bluehost", "https://www.bluehost.com/", "https://my.bluehost.com/cgi/help/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CDN77", "https://www.cdn77.com", "https://client.cdn77.com/support/knowledgebase/billing/cdn77-two-step-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CDNsun", "https://cdnsun.com", "https://cdnsun.com/knowledgebase/billing/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ChunkHost", "https://chunkhost.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloudways", "https://www.cloudways.com/", "https://support.cloudways.com/enabling-two-factor-authentication-for-your-cloudways-account/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("cyon", "https://www.cyon.ch", "https://www.cyon.ch/support/a/225/wie-aktiviere-ich-die-zwei-schritt-verifizierung", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dreamhost", "https://dreamhost.com", "https://help.dreamhost.com/hc/en-us/articles/216013897", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Easy", "https://easy.gr/", "https://easy.gr/el/faq", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Fastly", "https://www.fastly.com", "https://docs.fastly.com/guides/account-management-and-security/enabling-and-disabling-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Flywheel", "https://getflywheel.com", "https://getflywheel.com/wordpress-support/how-to-enable-two-factor-authentication-on-flywheel", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Glesys", "https://glesys.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Greenhost", "https://greenhost.net", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hetzner Online", "https://www.hetzner.de/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hostens", "https://www.hostens.com/", "https://www.hostens.com/knowledgebase/how-to-enhance-account-security/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HostHatch", "https://hosthatch.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hostnet", "https://www.hostnet.nl/", "https://www.hostnet.nl/veelgestelde-vragen/tweestaps-authenticatie", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HostUS", "https://hostus.us", "https://my.hostus.us/knowledgebase/106/How-do-I-secure-my-account-with-Two-Factor-Authentication-or-TOTP.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ICDSoft", "https://www.icdsoft.com", "https://tickets.suresupport.com/faq/article-1700", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ICUK", "https://www.icuk.net", "https://www.icuk.net/reseller/security.asp", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Infomaniak", "https://www.infomaniak.com/", "https://www.infomaniak.ch/en/support/faq/1940", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("INIZ", "https://iniz.com", "https://my.iniz.com/knowledgebase/24/Securing-Your-Account-2FA.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("IO Zoom", "https://www.iozoom.com", "https://www.iozoom.com/client/announcements.php?id=6", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Kinsta", "https://kinsta.com", "https://kinsta.com/blog/wordpress-two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("KnownHost", "https://www.knownhost.com", "https://www.knownhost.com/wiki/my-knownhost/two-factor", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Liquid Web", "https://www.liquidweb.com", "https://www.liquidweb.com/kb/how-to-enable-two-factor-authentication-2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mammoth Networks", "https://www.mammoth.net.au/", "https://www.mammoth.net.au/news/2012/10/22/two-factor-authentication-now-available", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MaxCDN", "https://www.maxcdn.com", "https://www.maxcdn.com/one/tutorial/enable-two-step-verification/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Miss Hosting", "https://misshosting.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NearlyFreeSpeech.NET", "https://www.nearlyfreespeech.net/", "https://blog.nearlyfreespeech.net/2014/02/28/price-cuts-more-security-and-recovery-options/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Netcup", "https://netcup.eu/", "https://www.netcup-wiki.de/wiki/Stammdaten_CCP#Zwei-Faktor-Authentifizierung_.282FA.29", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nitrado", "https://server.nitrado.net/", "https://server.nitrado.net/deu/news2/view/nitrado-bietet-zweifaktorauthentifizierung/?f=index/mode:0/page:2", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Noez", "https://noez.de/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Oderland", "https://www.oderland.se/", "https://www.oderland.se/support/en/artikel/how-is-my-personal-information-handled/#how-do-i-encrypt-personal-information", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Online", "https://www.online.net/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("OVH", "https://www.ovh.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PlanetHoster", "https://www.planethoster.com/", "https://blog.planethoster.com/securite-espace-client-planethoster/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RamNode", "https://www.ramnode.com", "https://clientarea.ramnode.com/knowledgebase.php?action=displayarticle&id=70", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RunCloud", "https://www.runcloud.io", "https://runcloud.io/docs/account/authentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("section.io", "https://www.section.io", "https://www.section.io/docs/how-to/user-management/enable-two-factor-authentication-on-your-account/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SiteGround", "https://www.siteground.com", "https://www.siteground.com/tutorials/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SpeedIT Solutions", "https://www.speedit.org/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Squarespace", "https://squarespace.com/", "https://support.squarespace.com/hc/en-us/articles/360000044827", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Time4VPS", "https://www.time4vps.eu/", "https://billing.time4vps.eu/knowledgebase/article/100/2-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TransIP", "https://www.transip.nl/", "https://www.transip.nl/vragen/574-hoe-stel-two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UKFast", "https://www.ukfast.co.uk/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ukraine", "https://www.ukraine.com.ua/", "https://www.ukraine.com.ua/faq/rekomendatsii-po-zashchite-ot-vzloma-uchetnoj-zapisi.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UpCloud", "https://www.upcloud.com", "https://www.upcloud.com/support/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("VentraIP", "https://ventraip.com.au", "https://ventraip.com.au/faq/article/two-factor-authentication-faq-vipcontrol/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Versio", "https://www.versio.nl", "https://www.versio.nl/nieuws/twofactor-authenticatie-nu-beschikbaar-voor-uw-klantenaccount-205", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("VPS Server", "https://www.vpsserver.com/", "https://github.com/2factorauth/twofactorauth/pull/2311#issuecomment-273424695", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("WebFaction", "https://www.webfaction.com", "https://docs.webfaction.com/user-guide/control_panel.html#two-step-login", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wedos", "https://hosting.wedos.com", "https://kb.wedos.com/cs/zakaznik/otp.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("WP Engine", "https://wpengine.com/", "https://wpengine.com/support/2-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("drchrono", "https://www.drchrono.com", "https://www.drchrono.com/blog/two-factor-authentication-extra-security-for-your-health-records/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FollowMyHealth", "https://www.followmyhealth.com/", "http://support.followmyhealth.com/customer/portal/articles/1309938", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Fit", "https://fit.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HealthVault (w/Microsoft Account)", "https://www.healthvault.com", "https://support.microsoft.com/en-us/help/12408/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RunSignUp", "https://runsignup.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("500px", "https://500px.com/", "https://support.500px.com/hc/en-us/articles/205115877", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Buffer", "https://bufferapp.com", "https://blog.bufferapp.com/introducing-the-safest-social-media-publishing-on-the-web", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Facebook", "https://facebook.com", "https://www.facebook.com/help/148233965247823", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HootSuite", "https://hootsuite.com", "https://help.hootsuite.com/hc/en-us/articles/204595950", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Instagram", "https://www.instagram.com", "https://help.instagram.com/566810106808145", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LinkedIn", "https://linkedin.com", "https://www.linkedin.com/help/linkedin/answer/531", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Lobsters", "https://lobste.rs/", "https://lobste.rs/s/1cyltz/two_factor_authentication_now_available", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pinterest", "https://pinterest.com", "https://help.pinterest.com/en/articles/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Plurk", "https://plurk.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Reddit", "https://www.reddit.com/", "https://www.reddithelp.com/en/categories/using-reddit/your-reddit-account/how-set-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Snapchat", "https://www.snapchat.com/", "https://support.snapchat.com/en-US/article/enable-login-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tumblr", "https://www.tumblr.com/", "https://www.tumblr.com/docs/en/two_factor_auth", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Twitter", "https://twitter.com", "https://support.twitter.com/articles/20170388", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("VK", "https://vk.com", "https://vk.com/page-59800369_47885415", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("WordPress.com", "https://wordpress.com", "https://en.support.wordpress.com/security/two-step-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wykop", "https://www.wykop.pl", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("XING", "https://www.xing.com", "https://faq.xing.com/en/settings-security/two-factor-login-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Private Internet Access", "https://www.privateinternetaccess.com", "https://www.privateinternetaccess.com/helpdesk/kb/articles/how-do-i-use-the-2fa-system", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ProtonVPN", "https://protonvpn.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Amazon AWS WorkSpaces", "https://aws.amazon.com/workspaces/", "https://aws.amazon.com/blogs/aws/multi-factor-auth-for-workspaces/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ConnectWise Control (ScreenConnect)", "https://www.connectwise.com/software/control", "https://docs.connectwise.com/ConnectWise_Control_Documentation/Get_started/Administration_page/Security_page/Enable_two-factor_authentication_for_host_accounts", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("join.me (w/ LogMeIn account)", "https://join.me/", "https://secure.logmein.com/welcome/webhelp/EN/Pro/LogMeIn/c_common_Security_TwoStep.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LogMeIn", "https://secure.logmein.com/", "https://secure.logmein.com/welcome/webhelp/EN/Pro/LogMeIn/c_Common_Account_Security.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MB Connect Line", "https://www.mbconnectline.com", "http://www.cc-onlinehelp.com/en/#index/administrati/users/authenticati/authenticati.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("O&O Syspectr", "https://www.syspectr.com", "https://www.syspectr.com/en/faq/how-do-i-activate-deactivate-two-factor-authentication-for-my-account", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RealVNC", "https://www.realvnc.com", "https://www.realvnc.com/en/connect/docs/multi-factor-auth.html#protecting-your-realvnc-account", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Remote Desktop Manager", "https://www.remotedesktopmanager.com", "https://help.remotedesktopmanager.com/howto_googleauthenticator.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TeamViewer", "https://www.teamviewer.com", "https://www.teamviewer.com/en/help/402-How-do-I-activate-deactivate-two-factor-authentication-for-my-TeamViewer-account.aspx", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Datové schránky", "https://www.mojedatovaschranka.cz", "https://www.mojedatovaschranka.cz/static/ISDS/help/page10.html#10_5_2", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DigiD", "https://www.digid.nl/", "https://www.digid.nl/nl/vraag-en-antwoord/hoe-kan-ik-de-sms-controle-toevoegen/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HMRC", "https://hmrc.gov.uk", "https://www.gov.uk/government/publications/genuine-hmrc-contact-and-recognising-phishing-emails/genuine-hmrc-contact-and-recognising-phishing-emails#hmrc-short-message-service-text-messages", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("login.gov", "https://login.gov/", "https://www.login.gov/help/changing-settings/how-do-I-set-up-an-authentication-app/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("myGov", "https://my.gov.au", "https://my.gov.au/mygov/content/html/help.html#securityCode", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RealMe", "https://www.realme.govt.nz/", "https://www.realme.govt.nz/help/#second-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Skatteverket", "https://www.skatteverket.se", "https://www.skatteverket.se/privat/sjalvservice/allaetjanster/omelegitimation.4.18e1b10334ebe8bc80004811.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("US Internal Revenue Service", "https://www.irs.gov/Individuals/Get-Transcript", "https://www.irs.gov/individuals/secure-access-how-to-register-for-certain-online-self-help-tools", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("US Veteran Affairs", "https://www.va.gov", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Andrews & Arnold", "https://aa.net.uk", "https://aa.net.uk/kb-broadband-2fa.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Comcast", "https://www.xfinity.com/", "https://www.xfinity.com/support/account/enroll-2-step-verification/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Con Edison", "https://www.coned.com/", "https://www.coned.com/en/accounts-billing/new-my-account-faqs", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Fi", "https://fi.google.com/", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Fiber", "https://fiber.google.com/", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Halebop", "https://www.halebop.se/", "https://github.com/2factorauth/twofactorauth/pull/2304#issue-200730083", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Republic Wireless", "https://republicwireless.com/", "https://help.republicwireless.com/hc/en-us/articles/360008803994", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sonic", "https://www.sonic.com/", "https://help.sonic.com/hc/en-us/articles/236079387", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Telia (Sweden)", "https://www.telia.se/", "https://www.telia.se/privat/support/info/logga-in-med-bankid-och-eleg-pa-mitt-telia", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Telzio", "https://www.telzio.com/", "https://telzio.com/support/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ting", "https://ting.com/", "https://help.ting.com/hc/en-us/articles/209351258", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ankama", "https://www.ankama.com", "https://support.ankama.com/hc/en-us/categories/200093427-DOFUS-Security", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ashes of Creation", "https://ashesofcreation.com", "https://ashesofcreation.zendesk.com/hc/en-us/articles/360022983234", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Aternos", "https://aternos.org/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Black Desert Online", "https://www.blackdesertonline.com/", "https://blackdesert.zendesk.com/hc/en-us/articles/360000535909", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blade & Soul", "https://www.bladeandsoul.com/", "https://support.bladeandsoul.com/hc/en-us/articles/207578553", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blizzard", "https://blizzard.com", "https://us.battle.net/support/en/article/Blizzard-Authenticator", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bohemia Interactive", "https://www.bohemia.net/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Electronic Arts (Origin)", "https://www.ea.com/", "https://help.ea.com/en-us/help/account/origin-login-verification-information/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Enjin", "https://www.enjin.com/", "https://support.enjin.com/hc/en-us/articles/201090770", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Epic Games", "https://www.epicgames.com/", "https://epicgames.helpshift.com/a/epic-accounts/?s=epic-accounts&f=what-is-two-factor-authentication-2fa-and-how-do-i-opt-in", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("EVE Online", "https://www.eveonline.com/", "https://support.eveonline.com/hc/en-us/articles/203465601", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("FaceIT", "https://www.faceit.com", "https://support.faceit.com/hc/en-us/articles/115000254670", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gaijin Entertainment", "https://gaijin.net", "https://support.gaijin.net/hc/en-us/articles/203623622", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Garena Online", "https://www.garena.sg/", "https://account.garena.com/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GREE", "https://product.gree.net/", "/notes/gree/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Guild Wars 2", "https://www.guildwars2.com", "https://help.guildwars2.com/hc/en-us/articles/230672927", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Humble Bundle", "https://www.humblebundle.com/", "https://support.humblebundle.com/hc/en-us/articles/202421374", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("itch.io", "https://itch.io/", "https://itch.io/docs/advanced/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("lichess.org", "https://lichess.org", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nintendo Account", "https://accounts.nintendo.com/", "https://en-americas-support.nintendo.com/app/answers/detail/a_id/27496", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Roberts Space Industries", "https://robertsspaceindustries.com/", "https://robertsspaceindustries.com/faq/two-step-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Rockstar Games Social Club", "https://socialclub.rockstargames.com", "https://support.rockstargames.com/articles/360000031747", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RuneScape", "https://www.runescape.com/", "https://support.runescape.com/hc/en-gb/articles/206811835", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Scryfall", "https://www.scryfall.com/", "https://scryfall.com/docs/privacy#scryfall-accounts", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Square Enix", "https://na.square-enix.com/", "http://www.square-enix.com/na/account/otp/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Star Wars: The Old Republic", "https://www.swtor.com/", "https://www.swtor.com/info/security-key", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Steam", "https://store.steampowered.com/", "https://support.steampowered.com/kb_article.php?ref=8625-WRAH-9030", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tibia", "https://www.tibia.com/", "https://www.tibia.com/support/?subtopic=gethelp&topicid=21", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Toontown Rewritten", "https://www.toontownrewritten.com/", "https://www.toontownrewritten.com/help/faq/accounts--login#twostep", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Trion Worlds", "https://www.trionworlds.com/en/", "https://support.trionworlds.com/hc/en-us/articles/204183357", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ubisoft/Uplay", "https://uplay.ubi.com/", "https://support.ubi.com/en-GB/Faqs/000039953", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wargaming", "https://wargaming.net/", "https://wargaming.net/support/kb/articles/792", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Xbox Live", "https://www.xbox.com/live", "https://support.microsoft.com/en-us/help/12408/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("YoYo Games", "https://www.yoyogames.com/", "https://help.yoyogames.com/hc/en-us/articles/216757288-Creating-a-YoYo-Account", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Apple iCloud", "https://www.icloud.com", "https://support.apple.com/en-us/HT204915", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Backblaze", "https://www.backblaze.com", "https://help.backblaze.com/hc/en-us/articles/217666588", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dropbox", "https://www.dropbox.com", "https://help.dropbox.com/security/enable-two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Evernote", "https://evernote.com", "https://help.evernote.com/hc/en-us/articles/208314238", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Drive", "https://drive.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Koofr", "https://koofr.eu", "https://koofr.eu/help/other/how-do-i-enable-2-step-verification/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mega", "https://mega.nz/", "https://mega.nz/help/client/webclient/security-and-privacy/5bb5436cf1b70966038b456b", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nimbox", "https://www.nimbox.co.uk/", "https://www.nimbox.co.uk/help-centre/two-step-two-factor-authentication-2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("OneDrive", "https://onedrive.live.com", "https://support.microsoft.com/en-us/help/12408/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PCloud", "https://www.pcloud.com", "https://www.pcloud.com/help/general-help-center/67-how-can-i-set-up-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("QNAP", "https://www.qnap.com", "https://www.qnap.com/en-us/how-to/tutorial/article/how-to-enhance-account-security-using-2-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SmartBox", "https://www.panterranetworks.com/products/smartbox.php", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sync", "https://www.sync.com", "https://www.sync.com/help/how-do-i-setup-two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Synology", "https://www.synology.com/", "https://originwww.synology.com/en-us/knowledgebase/tutorials/615#t5", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ThisData", "https://thisdata.com", "http://help.thisdata.com/docs/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tresorit", "https://tresorit.com/", "https://support.tresorit.com/hc/en-us/articles/216114527", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wasabi", "https://wasabi.com/", "https://wasabi.com/wp-content/themes/wasabi/docs/User_Guide/index.html#t=topics%2FCONSOLE_ACCESS_for_the_Root_User.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Yandex.Disk", "https://disk.yandex.com", "https://yandex.com/support/passport/authorization/twofa.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zetta.net", "https://www.zetta.net/", "https://www.zetta.net/about/blog/how-set-zetta-two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zoolz", "https://intelli.zoolz.com/", "https://wiki.zoolz.com/how-do-i-enable-two-factor-authentication-on-my-zoolz-intelligent-account/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("1Password", "https://1password.com/", "https://support.1password.com/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitium", "https://www.bitium.com", "https://support.bitium.com/administration/multi-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("bitwarden", "https://bitwarden.com", "https://help.bitwarden.com/article/setup-two-step-login/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Centrify", "https://www.centrify.com", "https://www.centrify.com/solutions/why-multi-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dashlane", "https://www.dashlane.com", "https://support.dashlane.com/hc/en-us/articles/202625042", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ID.me", "https://www.id.me/", "https://help.id.me/hc/en-us/categories/360001435974", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Keeper", "https://keepersecurity.com/", "https://www.keepersecurity.com/security#twoFactor", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LastPass", "https://lastpass.com/", "https://helpdesk.lastpass.com/multifactor-authentication-options/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MyDigipass.com", "https://mydigipass.com/", "https://www.mydigipass.com/en/fp/signup", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Okta", "https://www.okta.com/", "https://help.okta.com/en/prod/Content/Topics/Security/MFA.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("PassHub", "https://passhub.net/", "https://passhub.net/security.php", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RoboForm", "https://www.roboform.com/", "https://help.roboform.com/hc/en-us/articles/115002729512", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SAASPASS", "https://saaspass.com", "https://saaspass.com/faq/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SailPoint", "https://www.sailpoint.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("True Key", "https://www.truekey.com", "https://help.truekey.com/hc/en-us/articles/218580447-How-can-I-add-additional-factors-", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Addiko Bank", "https://www.addiko.hr/", "https://www.addiko.hr/static/uploads/mtoken-uputa-za-koristenje.pdf", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AirBank", "https://www.airbank.cz", "https://www.airbank.cz/co-vas-nejvic-zajima/jake-bezpecnostni-prvky-u-nas-mame", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Avanza", "https://www.avanza.se/", "https://www.avanza.se/kundservice.html/1335/tvafaktorsinloggning/d264248e-bea3-48a0-bf2d-157309734649", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Barclays UK", "https://www.barclays.co.uk/", "https://www.barclays.co.uk/Helpsupport/UpgradetoPINsentry/P1242559314766", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Capital One", "https://www.capitalone.com/", "https://www.capitalone.com/identity-protection/swiftid/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Ceska Sporitelna", "https://www.csas.cz/en/", "https://www.csas.cz/cs/mobilni-aplikace/george-klic", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DNB", "https://www.dnb.no/", "https://www.dnb.no/privat/kundeservice/innlogging-nettbank.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Erste Bank Hrvatska", "https://www.erstebank.hr/", "https://www.erstebank.hr/content/dam/hr/ebc/www_erstebank_hr/gradani/downloads/e-bankarstvo/Upute%20za%20prijavu.pdf", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("First Direct", "https://www1.firstdirect.com/", "https://www1.firstdirect.com/help/secure-key/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("First Tech Federal Credit Union", "https://www.firsttechfed.com/", "https://www.firsttechfed.com/Tools-and-Resources/Tools-and-Resources/What-You-Can-Do-To-Protect-Your-Privacy#3", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Handelsbanken", "https://www.handelsbanken.se/", "https://www.handelsbanken.se/shb/INeT/ICentSv.nsf/Default/qAE99695C4C1D033DC12579120036EB43?Opendocument", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HSBC", "https://www.hsbc.com/", "https://www.hsbc.co.uk/1/2/customer-support/online-banking-security/secure-key", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Länsförsäkringar", "https://www.lansforsakringar.se/", "https://www.lansforsakringar.se/privat/att-vara-kund/digitala-tjanster-telefonbank/internetbanken/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Navy Federal Credit Union", "https://www.navyfederal.org/", "https://nfcucloud.custhelp.com/app/answers/list/c/543", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nordea Sverige", "https://www.nordea.se/", "https://www.nordea.se/privat/vardagstjanster/internet-mobil-telefon/bank-id.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nordnet Sverige", "https://www.nordnet.se/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Podravska banka", "https://www.poba.hr/", "https://www.poba.hr/get_file.php?d=pobaklik__upute_gradani.pdf", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Santander PL", "https://santander.pl", "https://santander.pl/firmy/bankowosc-elektroniczna/bzwbk24-mini-firma/metody-autoryzacji/metody-autoryzacji.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SEB", "https://seb.se/", "https://seb.se/privat/digitala-tjanster", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SoFi", "https://www.sofi.com/", "https://www.sofi.com/blog/introducing-two-step-verification-sofi-next-level-account-protection/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("State Bank of India", "https://www.onlinesbi.com/", "https://www.onlinesbi.com/sbijava/mobile/sbsecure_otp_app_faq.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Swedbank", "https://www.swedbank.se/", "https://hjalp.swedbank.se/logga-in/index.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TBC Bank", "https://www.tbcbank.ge", "https://www.tbcbank.ge/web/en/web/guest/tbc-digipass", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("USAA", "https://www.usaa.com/", "https://www.usaa.com/inet/pages/security_token_logon_options", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UW Credit Union", "https://www.uwcu.org/", "https://www.uwcu.org/OnlineBanking/OnlineSecurity/VerifyU.aspx", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zagrebačka banka", "https://www.zaba.hr/", "https://www.zaba.hr/home/token#pan3", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Zurich Cantonal Bank (ZKB)", "https://www.zkb.ch/", "https://www.zkb.ch/de/pr/pk/efinance/ebanking/login-verfahren.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Clio", "https://www.clio.com", "https://support.clio.com/hc/en-us/articles/203184210", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Docusign", "https://www.docusign.com", "https://support.docusign.com/en/guides/ndse-user-guide-two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HelloSign", "https://www.hellosign.com/", "https://faq.hellosign.com/hc/en-us/articles/360025164091", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Finnair", "https://www.finnair.com/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Uber", "https://www.uber.com/", "https://help.uber.com/h/b8bb9152-8c91-4f49-83c4-35cf2e1dcf72", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("007Names", "https://www.007names.com", "https://www.007names.com/info/two-step.xhtml", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("1&1 IONOS", "https://www.ionos.com/", "https://www.ionos.com/help/index.php?id=3269", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("101domain", "https://101domain.com", "https://www.101domain.com/vip_security_card.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("20i", "https://www.20i.com", "https://www.20i.com/support/my-services/two-factor-authentication-my20i", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Above.com", "https://www.above.com", "https://www.above.com/manual/my-account-manual-two-step-auth.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ClouDNS", "https://www.cloudns.net/", "https://www.cloudns.net/wiki/article/201/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Directnic", "https://directnic.com", "https://directnic.com/knowledge/article/137:how+do+i+set+up+two-factor+authentication%3F", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DNS Made Easy", "https://www.dnsmadeeasy.com", "https://help.dnsmadeeasy.com/administrative/enable-two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DNSimple", "https://dnsimple.com/", "https://support.dnsimple.com/articles/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Domeneshop", "https://domeneshop.no/", "https://domeneshop.no/faq?id=344", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Domeny.tv", "https://www.domeny.tv/en", "https://www.domeny.tv/en/two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dyn", "https://dyn.com/", "https://help.dyn.com/2-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dynadot", "https://dynadot.com/", "https://dynadot.com/domain/security.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dynu", "https://www.dynu.com/", "https://www.dynu.com/en-US/Blog/Article?Article=It-is-time-to-enable-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("easyDNS", "https://easydns.com", "https://kb.easydns.com/knowledge/account-security/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("eNom", "https://www.enom.com/", "https://www.enom.com/kb/kb/kb_1687-setup-2-factor.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("EuroDNS", "https://www.eurodns.com", "https://help.eurodns.com/customer/en/portal/articles/1633106", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Fabulous", "https://fabulous.com", "https://fabulous.com/knowledge/article/137", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gandi", "https://gandi.net", "https://docs.gandi.net/en/account_management/security/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("GoDaddy", "https://www.godaddy.com/", "https://www.godaddy.com/help/enable-two-step-verification-7502", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Google Domains", "https://domains.google.com", "https://www.google.com/intl/en-US/landing/2step/features.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hexonet", "https://www.hexonet.net/", "https://www.hexonet.net/assets/pdf/2FA.pdf", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hover.com", "https://www.hover.com/", "https://help.hover.com/hc/en-us/articles/217282267", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Hurricane Electric", "https://www.he.net/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Incapsula", "https://www.incapsula.com/", "https://docs.incapsula.com/Content/management-console-and-settings/account-settings.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Internet.bs", "https://www.internet.bs", "/notes/internetbs/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("INWX", "https://www.inwx.com/en/", "https://www.inwx.com/en/offer/mobiletan", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("iWantMyName", "https://iwantmyname.com/", "https://help.iwantmyname.com/customer/portal/articles/1139898", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Joker.com", "https://joker.com", "https://joker.com/faq/content/52/480/en/what-is-two_factor_authentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Loopia", "https://www.loopia.se/", "https://blogg.loopia.se/2015/03/16/nu-kan-du-logga-in-med-tvafaktorsautentiering-hos-loopia-genom-bankid/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("MarkMonitor", "https://www.markmonitor.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Moniker", "https://www.moniker.com/", "https://faq.moniker.com/login-into-moniker", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Name.com", "https://www.name.com/", "https://www.name.com/services/two-step-verification", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Namecheap", "https://www.namecheap.com/", "https://www.namecheap.com/support/knowledgebase/article.aspx/9253/45", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NameSilo.com", "https://www.namesilo.com/", "https://www.namesilo.com/Support/2~Factor-Authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NearlyFreeSpeech.net", "https://www.nearlyfreespeech.net/", "https://blog.nearlyfreespeech.net/2014/02/28/price-cuts-more-security-and-recovery-options/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Nominet", "https://www.nominet.uk/", "https://registrars.nominet.org.uk/sites/default/files/two_factor_authentication_userguide.pdf", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("NS1", "https://ns1.com/", "https://ns1.com/articles/enabling-2-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("OpenDNS", "https://www.opendns.com/", "https://engineering.opendns.com/2014/05/22/launching-two-step-verification/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Openprovider", "https://www.openprovider.co.uk", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("OpenSRS", "https://opensrs.com", "https://help.opensrs.com/hc/en-us/articles/209618017", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("pair Domains", "https://www.pairdomains.com/", "https://www.pairdomains.com/kb/posts/345", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Porkbun", "https://porkbun.com", "https://kb.porkbun.com/category/20--", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Rebrandly", "https://rebrandly.com", "https://support.rebrandly.com/hc/en-us/articles/360007220373", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Register4Less", "https://register4less.com/", "https://blog.register4less.com/two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Registro.br", "https://registro.br", "https://registro.br/ajuda.html?secao=GerenciamentoConta&item=310", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("UK2", "https://www.uk2.net/", "https://www.uk2.net/knowledgebase/display/UK2/Two+Factor+Authentication+Security+-+2FA", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Uniregistry", "https://uniregistry.com/", "https://uniregistry.help/my-account-en/what-is-two-step-verification/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("United Domains USA", "https://www.uniteddomains.com/", "https://help.uniteddomains.com/hc/en-us/articles/115001458813", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("united-domains Reselling", "https://www.ud-reselling.com/en/", "https://www.ud-reselling.com/en/security/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("united-domains.de", "https://www.united-domains.de/", "https://help.united-domains.de/faq-article/wie-aktiviere-ich-die-zweistufige-verifizierung-und-mache-mein-portfolio-login-sicherer", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("VentraIP", "https://ventraip.com.au/", "https://ventraip.com.au/faq/article/two-factor-authentication-faq-vipcontrol/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ANXPRO Bitcoin Exchange", "https://anxpro.com/", "https://anxpro.com/pages/security", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AnycoinDirect", "https://anycoindirect.eu", "https://support.anycoindirect.eu/hc/en-gb/articles/115001423191", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Binance", "https://www.binance.com/", "https://support.binance.com/hc/en-us/articles/115002439332", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BitBay", "https://bitbay.net/", "https://bitbay.net/en/safety", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitcoin.de", "https://bitcoin.de", "https://www.bitcoin.de/de/faq/was-ist-die-2-step-verification-2-faktor-authentifizierung/46.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitcoins Norway", "https://bitcoinsnorway.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BitcoinTrade", "https://bitcointrade.com.br/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitfinex", "https://www.bitfinex.com", "https://support.bitfinex.com/hc/en-us/sections/203192029", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitflyer", "https://bitflyer.com", "https://bitflyer.com/en-jp/faq/2-10", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BitGo", "https://www.bitgo.com", "https://bitgo.freshdesk.com/support/solutions/articles/27000037397", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bithumb", "https://www.bithumb.com/", "https://bithumb.cafe/archives/7286", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitlish", "https://bitlish.com", "https://bitlish.com/how#mfa", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitpay", "https://bitpay.com", "https://support.bitpay.com/hc/en-us/articles/360006612692", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bitstamp", "https://bitstamp.net", "https://www.bitstamp.net/s/documents/bitstamp_2_factor_authentication_guide.pdf", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Bittrex", "https://bittrex.com", "https://bittrex.zendesk.com/hc/en-us/articles/115000198612", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blockchain", "https://blockchain.info/", "https://support.blockchain.com/hc/en-us/articles/211164103", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Braziliex", "https://braziliex.com/", "https://braziliex.com/faq/index.php?id=288", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BTC BOX", "https://www.btcbox.co.jp/", "https://www.btcbox.co.jp/help/ga", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BTC Markets", "https://www.btcmarkets.net/", "https://www.btcmarkets.net/faq#q27", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BTCPOP", "https://btcpop.co/", "https://blog.btcpop.co/2017/04/27/signing-security-btcpop-co-account/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("BX Thailand", "https://bx.in.th/", "https://bx.in.th/info/faq/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CEX.IO", "https://cex.io/", "https://cex.io/guide#4", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Changelly", "https://changelly.com/", "https://changelly.com/faq#what-is-2fa-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Circle", "https://circle.com", "https://support.circle.com/hc/en-us/articles/213560483", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("COBINHOOD", "https://cobinhood.com", "https://cobinhood.zendesk.com/hc/en-us/articles/115003476871", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coin Cafe", "https://coincafe.com", "https://blog.coincafe.com/2016/01/08/2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinapult", "https://coinapult.com", "https://coinapult.com/faq", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinbase", "https://www.coinbase.com/", "https://support.coinbase.com/customer/en/portal/articles/1658338", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinDeal", "https://coindeal.com", "https://coindeal.com/security", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinFalcon", "https://coinfalcon.com/", "https://support.coinfalcon.com/en-us/article/how-to-setup-two-factor-authentication-2fa-nkjppd/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinfloor", "https://www.coinfloor.co.uk/", "https://www.coinfloor.co.uk/security", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinGate", "https://coingate.com", "https://support.coingate.com/en/65/how-do-i-set-up-2-factor-authentication-2fa-on-my-account", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinify (Merchants)", "https://coinify.com/merchants", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinjar", "https://coinjar.com", "https://support.coinjar.com/hc/en-us/articles/202910075", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinOne", "https://coinone.co.kr/", "https://coinone.co.kr/static/download/coinone_guide.pdf", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coins.ph", "https://coins.ph/", "https://support.coins.ph/hc/en-us/articles/202604924", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinspot", "https://www.coinspot.com.au/", "https://coinspot.zendesk.com/hc/en-us/sections/115000049254", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("CoinTracking", "https://cointracking.info/", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Coinut", "https://coinut.com/", "https://help.coinut.com/hc/en-us/articles/360005061354", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cryptopia", "https://www.cryptopia.co.nz", "https://support.cryptopia.co.nz/csm?id=kb_article&sys_id=a8c51421dbed1f009990f6fcbf96194a", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DSX", "https://dsx.uk/", "https://docs.dsx.uk/dsx/getting-started-with-dsx/your-security-is-our-priority/enable-two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gatehub", "https://gatehub.net", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Gemini", "https://gemini.com/", "https://gemini.com/blog/better-two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HitBTC", "https://www.hitbtc.com/", "https://support.hitbtc.com/hc/en-us/articles/360000719229", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Korbit", "https://www.korbit.co.kr", "https://support.korbit.co.kr/customer/en/portal/articles/1717692", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Kraken", "https://www.kraken.com/", "https://support.kraken.com/hc/en-us/articles/360000426923", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LiteBit", "https://www.litebit.eu/", "https://support.litebit.eu/hc/en-us/articles/115000953504", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("LocalBitcoins", "https://localbitcoins.com/", "https://localbitcoins.blogspot.com.au/2013/05/using-two-factor-authentication-on.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("localethereum", "https://localethereum.com", "", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Luno", "https://www.luno.com/", "https://www.luno.com/help/en/articles/1000203420", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Mercado Bitcoin", "https://www.mercadobitcoin.com.br/", "https://suporte.mercadobitcoin.com.br/hc/pt-br/articles/360000385152", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Poloniex", "https://poloniex.com/", "https://support.poloniex.circle.com/hc/en-us/articles/360025399352", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SatoshiTango", "https://satoshitango.com/", "https://github.com/2factorauth/twofactorauth/pull/2321#issuecomment-273971890", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Uphold", "https://uphold.com/", "https://support.uphold.com/hc/en-us/articles/360024042471", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Wirex", "https://wirexapp.com/", "https://wirexapp.com/hc/articles/207160259", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Xapo", "https://xapo.com", "https://support.xapo.com/articles/123/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Microsoft To-Do", "https://todo.microsoft.com/", "https://support.microsoft.com/en-us/help/12408/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Planio", "https://plan.io", "https://support.plan.io/news/133", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Toodledo", "https://www.toodledo.com", "https://www.toodledo.com/info/help.php#168", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Trello", "https://trello.com", "https://help.trello.com/article/993--", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("AdGuard", "https://adguard.com", "https://adguard.com/en/blog/adguard-2fa.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Blur", "https://www.abine.com/", "https://dnt.abine.com/#help/faq/faq-enabletwoFactor", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Boxcryptor", "https://www.boxcryptor.com", "https://www.boxcryptor.com/help/boxcryptor-account/#two-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("bugcrowd", "https://bugcrowd.com", "https://docs.bugcrowd.com/v1.0/docs/two-factor-authentication-1", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cloudflare", "https://cloudflare.com", "https://support.cloudflare.com/hc/en-us/articles/200167866", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Cobalt", "https://cobalt.io/", "https://cobalt.io/blog/new-feature-two-factor-auth/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("DigiCert", "https://www.digicert.com/", "https://www.digicert.com/two-factor-authentication.htm", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("dmarcian", "https://dmarcian.com/", "https://dmarcian.com/secure-dmarcian-2fa/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Dome9 Security", "https://dome9.com/", "https://dome9.com/overview/strong-2-factor-authentication", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Entrust", "https://www.entrust.net", "https://www.entrust.com/multi-factor-authentication-tools/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("HackerOne", "https://hackerone.com", "https://docs.hackerone.com/hackers/two-factor-authentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Norton", "https://us.norton.com", "https://support.norton.com/sp/en/us/home/current/solutions/v100023155_NortonM_Retail_1_en_us", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Prey", "https://www.preyproject.com", "https://help.preyproject.com/article/248--", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Pwnie Express Pwn Pulse", "https://www.pwnieexpress.com/products/pulse-device-detection", "http://support.pwnieexpress.com/customer/en/portal/articles/2858909", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("RBLTracker", "https://rbltracker.com/", "https://rbltracker.com/docs/setting-up-two-factor-authentication/", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Sophos Central", "https://www.sophos.com", "https://docs.sophos.com/central/Customer/help/en-us/central/Customer/concepts/ep_MultiFactorAuthentication.html", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("SSLTrust", "https://www.ssltrust.com.au/", "https://www.ssltrust.com.au/help/account-management/enable-2factor", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ThreatConnect", "https://threatconnect.com/", "https://kb.threatconnect.com/customer/en/portal/articles/2214975", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("ThreatX", "https://www.threatx.com/", "https://support.threatx.com/hc/en-us/articles/360022157591", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("Tinfoil Security", "https://www.tinfoilsecurity.com", "https://support.tinfoilsecurity.com/article/43-do-you-support-two-factor-authentication-how-do-i-set-it-up", "");
INSERT INTO providers (name, website, help_url, image_uri) VALUES ("TorGuard", "https://torguard.net", "", "");

23
po/LINGUAS Normal file
View file

@ -0,0 +1,23 @@
ar
ca
da
de
en_GB
es
fi
fr
hu
id
it
ko
nb
nl
pl
pt
pt_BR
ru
sr
sr@latin
sv
tr
zh_TW

22
po/POTFILES.in Normal file
View file

@ -0,0 +1,22 @@
data/com.bilelmoussaoui.Authenticator.appdata.xml.in.in
data/com.bilelmoussaoui.Authenticator.desktop.in.in
data/com.bilelmoussaoui.Authenticator.gschema.xml.in
data/resources/ui/about_dialog.ui.in
data/resources/ui/account_add.ui
data/resources/ui/account_config.ui
data/resources/ui/account_edit.ui
data/resources/ui/account_row.ui
data/resources/ui/password_widget.ui
data/resources/ui/provider_image.ui
data/resources/ui/settings.ui.in
data/resources/ui/shortcuts.ui
data/resources/ui/window.ui.in
src/authenticator.py.in
src/Authenticator/application.py.in
src/Authenticator/models/account.py
src/Authenticator/widgets/accounts/add.py
src/Authenticator/widgets/accounts/list.py
src/Authenticator/widgets/accounts/row.py
src/Authenticator/widgets/notification.py
src/Authenticator/widgets/settings.py
src/Authenticator/widgets/utils.py

665
po/ar.po Normal file
View file

@ -0,0 +1,665 @@
# Arabic translations for Authenticator package.
# Copyright (C) 2018 THE Authenticator'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# Automatically generated, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2018-11-15 08:07+0000\n"
"Last-Translator: alaazghoul <a.z9@live.com>\n"
"Language-Team: Arabic <https://hosted.weblate.org/projects/authenticator/"
"translation/ar/>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 3.3-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "الموثق"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#, fuzzy
msgid "Two-factor authentication code generator"
msgstr "كود توليد التوثيق الثنائي."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr "تطبيق بسيط يولد كود توثيق ثنائي، صمم لنظام Gnome"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "اضافات:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "ماسح كود QR"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "واجهة مستخدم جميلة"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "امكانية غلق التطبيق باستخدام رقم سري"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
#, fuzzy
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr "من OpenPGP مشفر ملف JSON"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
#, fuzzy
msgid "Rename project to Authenticator"
msgstr "عن الموثق"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
#, fuzzy
msgid "Cleaner code base"
msgstr "تنظيف قاعدة البيانات"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "التوثيق الثنائي"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome; GTK; توثيق;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
#, fuzzy
msgid "Default window position"
msgstr "وضع النافذة الافتراضي"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "الوضع المعتم"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "سواء أكان التطبيق يمكن اغلاقه أو لا"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "السلوك الأقصى للنافذة الافتراضية"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "كود توليد التوثيق الثنائي."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "فضل-المترجم"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "اضافة حساب جديد"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "اغلاق"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "اضافة"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "امسح كود QR"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "اسم الحساب"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "المزود"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "احفظ"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "تحرير"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "حذف"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "اعادة الرقم السري"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "الرقم السري"
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "الرقم السري"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "اعادة الرقم السري"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr ""
#: data/ui/settings.ui.in:95
#, fuzzy
msgid "Behaviour"
msgstr "السلوك"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr ""
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr ""
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr ""
#: data/ui/shortcuts.ui:31
#, fuzzy
msgctxt "shortcut window"
msgid "Quit"
msgstr "خروج"
#: data/ui/shortcuts.ui:40
#, fuzzy
msgctxt "shortcut window"
msgid "Accounts"
msgstr "اسم الحساب"
#: data/ui/shortcuts.ui:44
#, fuzzy
msgctxt "shortcut window"
msgid "Add"
msgstr "اضافة"
#: data/ui/shortcuts.ui:51
#, fuzzy
msgctxt "shortcut window"
msgid "Search"
msgstr "بحث"
#: data/ui/window.ui.in:182
#, fuzzy
msgid "There are no accounts yet…"
msgstr "ليس هناك حساب بعد …"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "اضافة حساب جديد"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "امسح كود QR"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "الموثق"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr ""
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "البدء في وضع التصحيح"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "رقم نسخة الموثق"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "اقفل التطبيق"
#: src/Authenticator/application.py.in:100
#, fuzzy
msgid "from a plain-text JSON file"
msgstr "من ملف نص عادي Json"
#: src/Authenticator/application.py.in:101
#, fuzzy
msgid "in a plain-text JSON file"
msgstr "في نص عادي ملف JSON"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "استرجاع"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "نسخة احتياطية"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr ""
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr ""
#: src/Authenticator/application.py.in:115
#, fuzzy
msgid "About Authenticator"
msgstr "الموثق"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "الافتراضي"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "رمز QR خاطئ"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "رقم سري المرة الواحدة سينتهي في {} ثانية"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "لم يتكمن من توليد المفتاح السري"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "اقفل التطبيق"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "تراجع"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "امكانية غلق التطبيق باستخدام رقم سري"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "رقم سر الموثق"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "رقم سر الموثق"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "رقم سر الموثق"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "الرقم السري"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "ملف JSON"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "قاعدة بيانات ضخمة مكونة من (أكثر من ٢٩٠) موقع/تطبيق"
#, fuzzy
#~ msgid "Night mode"
#~ msgstr "الوضع الليلي"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "تفعيل/تعطيل الوضع الليلي في التطبيق"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "استخدم الوضع المعتم، ان امكن."
#~ msgid "Settings"
#~ msgstr "الاعدادات"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "رقم سر الموثق"
#~ msgid "Edit {} - {}"
#~ msgstr "تحرير {} - {}"
#~ msgid "Open"
#~ msgstr "فتح"
#~ msgid "Cancel"
#~ msgstr "الغاء"
#~ msgid "Select"
#~ msgstr "اختيار"
#, fuzzy
#~ msgid "Secret token"
#~ msgstr "الرمز السري"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr "مكتبة zbar غير موجودة. سيتم تعطيل ماسح كود QR"
#~ msgid "Copy"
#~ msgstr "نسخ"
#~ msgid "Search"
#~ msgstr "بحث"
#~ msgid "Selection mode"
#~ msgstr "وضع الاختيار"
#~ msgid "Click on items to select them"
#~ msgstr "اضغط على العناصر ليتم اختيارهم"
#~ msgid "Old Password"
#~ msgstr "الرقم السري القديم"
#~ msgid "Appearance"
#~ msgstr "المظهر"
#~ msgid "Erase existing accounts"
#~ msgstr "مسح حسابات موجودة"
#~ msgid "Set up application authentication password"
#~ msgstr "تثبيت رقم سري تطبيق الموثق"
#~ msgid "The application needs to be restarted first."
#~ msgstr "يحتاج التطبيق لإعادة التشغيل أولاً."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "الحسابات الحالية ستحذف في ٥ ثوان"
#~ msgid "An account or more were removed."
#~ msgstr "حساب أو أكثر تم ازالتهم."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "سواء أكان التطبيق مغلق برقم سري أو لا"
#, fuzzy
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "اختيار"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "الموثق"
#~ msgid "in an OpenPGP-encrypted JSON file"
#~ msgstr "في OpenPGP مشفر ملف JSON"
#~ msgid "About"
#~ msgstr "عن"
#~ msgid "GPG paraphrase"
#~ msgstr "جملة سر GPG"
#~ msgid "Import"
#~ msgstr "استيراد"
#~ msgid "Paraphrase"
#~ msgstr "جملة سر"
#~ msgid "There was an error during the import of the encrypted file."
#~ msgstr "هناك خطأ خلال استيراد الملف المشفر."
#~ msgid "GPG fingerprint"
#~ msgstr "بصمة اصبع GPG"
#~ msgid "Public keys"
#~ msgstr "المفاتيح العلنية"
#~ msgid "Private keys"
#~ msgstr "المفاتيح السرية"
#~ msgid "GPG keys location"
#~ msgstr "موقع مفاتيح GPG"
#~ msgid "Encrypted GPG files"
#~ msgstr "ملفات GPG مشفرة"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#~ msgid "Next"
#~ msgstr "التالي"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "كود توليد التوثيق الثنائي"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "كود توليد التوثيق الثنائي"

673
po/ca.po Normal file
View file

@ -0,0 +1,673 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-02-21 19:17+0000\n"
"Last-Translator: Adolfo Jayme Barrientos <fitojb@ubuntu.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/authenticator/"
"translation/ca/>\n"
"Language: ca\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.5-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Generador de codis dautenticació amb dos components"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Aplicació senzilla que genera codis dautenticació amb dos components, "
"creada per al GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Funcionalitats:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "Escàner de codis QR"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Una interfície bonica"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Bloca laplicació mitjançant una contrasenya"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
"Com que vaig moure laplicació al grup «World» del GitLab del GNOME, hi ha "
"disponible una compilació nova per cada entrega de codi nova al lloc web de "
"laplicació."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr "Còpia de seguretat i restauració des de fitxers JSON bàsics"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
"Còpia de seguretat i restauració des de fitxers JSON xifrats amb el GPG"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
"Compatibilitat amb landOTP (aplicació lliure i oberta dautenticació amb "
"dos components per a lAndroid)"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
"Nova finestra de configuració amb tres seccions: Aparença, Comportament i "
"Còpia de seguretat"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
"Sha corregit la compilació Flatpak amb lentorn dexecució GNOME més recent"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr "Sha traslladat el projecte al grup «World» del Gitlab del GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr "Proveïdor de cerques del GNOME Shell"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr "Els codis expiren alhora #91"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
"Sha redissenyat la finestra principal per a una conformitat més estesa amb "
"les HIG del GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
"Sha redissenyat la finestra Afegeix un compte nou per a més facilitat dús"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
"És possible afegir comptes de proveïdors que no figuren a la base de dades "
"inclosa"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr "És possible editar comptes"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr "La contrasenya dun sol ús ara és visible per defecte"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr "Sha substituït el python-dbus pel GDBus"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "Sha reparat lescàner de QR al GNOME Shell"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr "Sha afegit una entrada nova per al nom dusuari del compte"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "Sha actualitzat la base de dades de comptes compatibles"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
"Correcció provisional per a lerror dinici de laplicació en entorns "
"diferents al GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr "Canvi de nom del projecte a Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr "Base de codi més neta"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr "Inici més veloç"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr "Supressió de funcions no necessàries"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr "Sha canviat del pyzbar al zbarlight"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr "Paquet Flatpak"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "Autenticació amb dos components"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Verificació;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Posició per defecte de la finestra"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Tema fosc"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "Si laplicació es pot blocar o no"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "Comportament per defecte de la finestra maximitzada"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Generador de codis dautenticació amb dos components."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2018-2019"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Afegeix un compte nou"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Tanca"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Afegeix"
#: data/ui/account_add.ui:54
msgid "Scan QR Code"
msgstr "Escaneja un codi QR"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Nom del compte"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Proveïdor"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Desa"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Edita"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Suprimeix"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Copia el PIN al porta-retalls"
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Repetiu la contrasenya"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Contrasenya"
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Contrasenya"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Repetiu la contrasenya"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Preferències"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Comportament"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "General"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Mostra les dreceres"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferències"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Surt"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Comptes"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Afegeix"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Cerca"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Encara no hi ha cap compte…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Afegeix un compte nou"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Escaneja un codi QR"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
msgid "Authenticator is locked"
msgstr "LAuthenticator està blocat"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Desbloca"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Inicia en mode de depuració"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Número de versió de lAuthenticator"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Bloca laplicació"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "des dun fitxer JSON de text sense format"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "en un fitxer JSON de text sense format"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Restaura"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Còpia de seguretat"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Fes un donatiu"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "Dreceres de teclat"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "Quant a lAuthenticator"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Per defecte"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "El codi QR no és vàlid"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "La contrasenya dun sol ús caducarà en {} segons"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "No sha pogut generar el codi secret"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Bloca laplicació"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Desfés"
#: src/Authenticator/widgets/settings.py:93
msgid "Lock the application with a password"
msgstr "Bloca laplicació mitjançant una contrasenya"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Contrasenya dautenticació"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Contrasenya dautenticació"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Contrasenya dautenticació"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Contrasenya"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "Fitxers JSON"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Una immensa base de dades de més de 290 llocs web i aplicacions"
#~ msgid "Night mode"
#~ msgstr "Mode nocturn"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Activa/desactiva el mode nocturn dins de laplicació"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Utilitza un tema fosc si és possible"
#~ msgid "Keep your accounts safer "
#~ msgstr "Garantiu la seguretat dels vostres comptes "
#~ msgid "Settings"
#~ msgstr "Paràmetres"
#~ msgid "Authenticator Password"
#~ msgstr "Contrasenya de lAuthenticator"
#~ msgid "Edit {} - {}"
#~ msgstr "Edita {} - {}"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr ""
#~ "Sha desconfigurat la contrasenya dautenticació. Torneu a iniciar "
#~ "laplicació"
#~ msgid ""
#~ "Authentication password is now enabled. Please restart the application."
#~ msgstr ""
#~ "Ara està activada la contrasenya dautenticació. Torneu a iniciar "
#~ "laplicació."
#~ msgid "Open"
#~ msgstr "Obre"
#~ msgid "Cancel"
#~ msgstr "Cancel·la"
#~ msgid "Select"
#~ msgstr "Selecciona"
#~ msgid "Secret token"
#~ msgstr "Testimoni secret"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr ""
#~ "No sha trobat la biblioteca zbar. Sinhabilitarà lescàner de codis QR"
#~ msgid "Copy"
#~ msgstr "Copia"
#~ msgid "Search"
#~ msgstr "Cerca"
#~ msgid "Selection mode"
#~ msgstr "Mode de selecció"
#~ msgid "Click on items to select them"
#~ msgstr "Feu clic als elements per a seleccionar-los"
#~ msgid "Old Password"
#~ msgstr "Contrasenya anterior"
#~ msgid "Appearance"
#~ msgstr "Aparença"
#~ msgid "Erase existing accounts"
#~ msgstr "Esborra els comptes existents"
#~ msgid "Set up application authentication password"
#~ msgstr "Configura la contrasenya dautenticació de laplicació"
#~ msgid "The application needs to be restarted first."
#~ msgstr "Heu de reiniciar laplicació primer."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "Els comptes existents sesborraran en 5 segons"
#~ msgid "An account or more were removed."
#~ msgstr "Sha suprimit almenys un compte."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Si sha blocat laplicació mitjançant una contrasenya o no"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Selecciona"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Authenticator"
#~ msgid "from an OpenPGP-encrypted JSON file"
#~ msgstr "des dun fitxer JSON xifrat amb lOpenPGP"
#~ msgid "in an OpenPGP-encrypted JSON file"
#~ msgstr "en un fitxer JSON xifrat amb lOpenPGP"
#~ msgid "About"
#~ msgstr "Quant a"
#~ msgid "GPG paraphrase"
#~ msgstr "Contrasenya del GPG"
#~ msgid "Import"
#~ msgstr "Importa"
#~ msgid "Paraphrase"
#~ msgstr "Contrasenya"
#~ msgid "There was an error during the import of the encrypted file."
#~ msgstr "Sha produït un error en importar el fitxer xifrat."
#~ msgid "GPG fingerprint"
#~ msgstr "Empremta del GPG"
#~ msgid "Public keys"
#~ msgstr "Claus públiques"
#~ msgid "Private keys"
#~ msgstr "Claus privades"
#~ msgid "GPG keys location"
#~ msgstr "Ubicació de les claus GPG"
#~ msgid "Encrypted GPG files"
#~ msgstr "Fitxers GPG xifrats"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#~ msgid "Backup Password"
#~ msgstr "Fes una còpia de seguretat de la contrasenya"

637
po/da.po Normal file
View file

@ -0,0 +1,637 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2018-11-03 21:23+0000\n"
"Last-Translator: Jack Fredericksen <jack.a.fredericksen@gmail.com>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/authenticator/"
"translation/da/>\n"
"Language: da\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.3-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "TofaktorAutentifikation"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#, fuzzy
msgid "Two-factor authentication code generator"
msgstr "TofaktorAutentifikation kodegenerator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
#, fuzzy
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Enkel applikation som genererer to-faktor autentifikationskode, lavet til "
"Gnome"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Lås applikationen"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
#, fuzzy
msgid "Rename project to Authenticator"
msgstr "Om Gnome TofaktorAutentifikation"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
#, fuzzy
msgid "Remove unneeded features"
msgstr "Fjern valgte konti"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
#, fuzzy
msgid "Two-factor authentication"
msgstr "TofaktorAutentifikation"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
msgid "Dark Theme"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
msgid "Whether the application should use a dark theme."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr ""
#: data/ui/about_dialog.ui.in:10
#, fuzzy
msgid "Two-factor authentication code generator."
msgstr "TofaktorAutentifikation kodegenerator"
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr ""
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Tilføj en ny konto"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr ""
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Tilføj"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Indskan en QR-kode"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Kontonavn"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr ""
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr ""
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr ""
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr ""
#: data/ui/account_row.ui:97
#, fuzzy
msgid "Copy PIN to clipboard"
msgstr "Kode \"%s\" kopieret til clipboard"
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Gentag nyt password"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Nyt password"
#: data/ui/password_widget.ui:135
#, fuzzy
msgid "Confirm New Password:"
msgstr "Nyt password"
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Gammelt password"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Gentag nyt password"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr ""
#: data/ui/settings.ui.in:95
#, fuzzy
msgid "Behaviour"
msgstr "Adfærd"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr ""
#: data/ui/shortcuts.ui:17
#, fuzzy
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Genveje"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr ""
#: data/ui/shortcuts.ui:31
#, fuzzy
msgctxt "shortcut window"
msgid "Quit"
msgstr "Afslut"
#: data/ui/shortcuts.ui:40
#, fuzzy
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Konto"
#: data/ui/shortcuts.ui:44
#, fuzzy
msgctxt "shortcut window"
msgid "Add"
msgstr "Tilføj"
#: data/ui/shortcuts.ui:51
#, fuzzy
msgctxt "shortcut window"
msgid "Search"
msgstr "Søg"
#: data/ui/window.ui.in:182
#, fuzzy
msgid "There are no accounts yet…"
msgstr "Der er ingen konto i øjeblikket"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Tilføj en ny konto"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Indskan en QR-kode"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "TofaktorAutentifikation"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Lås op"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Start i debug-tilstand"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Gnome-TofaktorAutentifikation versionsnummer"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Lås applikationen"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr ""
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr ""
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr ""
#: src/Authenticator/application.py.in:114
#, fuzzy
msgid "Keyboard Shortcuts"
msgstr "Genveje"
#: src/Authenticator/application.py.in:115
#, fuzzy
msgid "About Authenticator"
msgstr "TofaktorAutentifikation"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr ""
#: src/Authenticator/widgets/accounts/add.py:58
#, fuzzy
msgid "Invalid QR code"
msgstr "Indskan en QR-kode"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Kunne ikke generere den hemmelige kode"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Skjul beskeder"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Fortryd"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "Lås applikationen"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "TofaktorAutentifikation"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "TofaktorAutentifikation"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "TofaktorAutentifikation"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Gammelt password"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr ""
#~ msgid "Settings"
#~ msgstr "Indstillinger"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "TofaktorAutentifikation"
#~ msgid "Cancel"
#~ msgstr "Afbryd"
#, fuzzy
#~ msgid "Select"
#~ msgstr "Udvælgelsesindstilling"
#, fuzzy
#~ msgid "Secret token"
#~ msgstr "Hemmelig kode"
#~ msgid "Search"
#~ msgstr "Søg"
#~ msgid "Selection mode"
#~ msgstr "Udvælgelsesindstilling"
#, fuzzy
#~ msgid "Old Password"
#~ msgstr "Gammelt password"
#, fuzzy
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Udvælgelsesindstilling"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "TofaktorAutentifikation"
#~ msgid "About"
#~ msgstr "Om"
#, fuzzy
#~ msgid "Backup Password"
#~ msgstr "Skift password"
#~ msgid "Next"
#~ msgstr "Næste"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "TofaktorAutentifikation kodegenerator"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "TofaktorAutentifikation kodegenerator"
#~ msgid "Remove the account"
#~ msgstr "Fjern kontoen"
#~ msgid "Copy the generated code"
#~ msgstr "Kopier den genererede kode"
#~ msgid "Edit the account"
#~ msgstr "Redigér kontoen"
#~ msgid "Save the new account name"
#~ msgstr "Gem det nye kontonavn"
#~ msgid "Expires in %s seconds"
#~ msgstr "Udløber om %s sekunder"
#~ msgid "Error during the generation of code"
#~ msgstr "Fejl under generering af kode"
#~ msgid "Do you really want to remove \"%s\"?"
#~ msgstr "Er du sikker på, at du vil slette \"%s\"?"
#~ msgid "\"%s\" was removed"
#~ msgstr "\"%s\" blev slettet"
#~ msgid "Selected area is not a valid QR code"
#~ msgstr "Det valgte område er ikke en valid QR-kode"
#~ msgid "Select an application"
#~ msgstr "Vælg en applikation"
#~ msgid "Apply"
#~ msgstr "Tilføj"
#~ msgid "Enter your password"
#~ msgstr "Indtast dit password"
#~ msgid "Password protection"
#~ msgstr "Passwordbeskyttelse"
#~ msgid "Auto-lock the application (m):"
#~ msgstr "Lås applikationen automatisk (m):"
#~ msgid "Show about dialog"
#~ msgstr "Vis Om dialog"

729
po/de.po Normal file
View file

@ -0,0 +1,729 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-04-30 14:34+0000\n"
"Last-Translator: Andreas Kleinert <Andy.Kleinert@gmail.com>\n"
"Language-Team: German <https://hosted.weblate.org/projects/authenticator/"
"translation/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.6.1\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Zweifaktor-Authentifizierung"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Codegenerator für Zweifaktor-Authentifizierung"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Einfache Anwendung, die Zweifaktor-Authentifizierungscode erzeugt, erstellt "
"für GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Funktionen:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "QR-Code-Scanner"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Schöne Benutzeroberfläche"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Anwendung mit einem Passwort sperren"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
"Da ich die Anwendung in die Weltgruppe von GOME Gitlab verschoben habe, "
"steht ein Flatpak-Build für jeden neuen Eintrag zum Download auf der Website "
"zur Verfügung."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr "Sichern und wiederherstellen von der grundlegenden JSON-Datei"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
"Sichern und wiederherstellen von einer OpenPGP-verschlüsselten JSON-Datei"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr "andOTP-Unterstützung hinzugefügt (freie und offene Android 2FA-App)"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
"Neue Einstellungsfenster mit 3 Abschnitten: Aussehen, Verhalten und Sicherung"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr "Flatpak-Build mit der neuesten GNOME-Runtime beheben"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr "Projekt in die Weltgruppe von GOME Gitlab verschieben"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr "GNOME Shell Suchanbieter"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr "Schlüssel verfallen gleichzeitig #91"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
"Das Hauptfenster wurde überarbeitet, um dem GNOME HIG genauer zu folgen"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
"Überarbeitet und mit einem neuen Kontofenster versehen, um die Bedienung zu "
"erleichtern"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
"Möglichkeit, ein Konto von einem Anbieter hinzuzufügen, der nicht in der "
"bereitgestellten Datenbank aufgeführt ist"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr "Möglichkeit, ein Konto zu bearbeiten"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr "Einmalpasswort jetzt standardmäßig sichtbar"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr "Fix für python-dbus, indem stattdessen GDbus verwendet wird"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "QRScanner in GNOME Shell reparieren"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr "Neuen Eintrag für den Benutzernamen des Kontos hinzufügen"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "Aktualisierte Datenbank der unterstützten Konten"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr "Fehlerbehebung: App, die nicht in DE läuft, außer GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr "Projekt in Authenticator umbenannt"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr "Datenbank bereinigen"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr "Schnellerer Start"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr "Nicht benötigte Funktionen entfernen"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr "Wechseln zu pyzbar anstelle zbarlight"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr "Flatpak-Paket"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "Zweifaktor-Authentifizierung"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Verifizierung;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Standardposition des Fensters"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Dunkler Stil"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "Ob die Anwendung gesperrt werden kann oder nicht"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "Standardverhalten beim Maximieren des Fensters"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Codegenerator für Zweifaktor-Authentifizierung."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Danksagungen an Übersetzer"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Neues Konto anlegen"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Schließen"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Hinzufügen"
#: data/ui/account_add.ui:54
msgid "Scan QR Code"
msgstr "QR-Code einlesen"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Kontoname"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Anbieter"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Speichern"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Bearbeiten"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Löschen"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "PIN in die Zwischenablage kopieren"
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Passwort wiederholen"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Neues Passwort"
#: data/ui/password_widget.ui:135
#, fuzzy
msgid "Confirm New Password:"
msgstr "Neues Passwort"
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Altes Passwort"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Passwort wiederholen"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Einstellungen"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Verhalten"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Allgemein"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Tastaturkürzel anzeigen"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Einstellungen"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Beenden"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Konten"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Hinzufügen"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Suchen"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Noch keine Konten vorhanden …"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Neues Konto anlegen"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "QR-Code einlesen"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
msgid "Authenticator is locked"
msgstr "Authenticator gesperrt"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Entsperren"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Im Fehlersuch-Modus starten"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Authenticator-Version"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Anwendung sperren"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "aus einer Reintext-JSON-Datei"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "in eine Reintext-JSON-Datei"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Wiederherstellen"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Sicherung"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Spenden"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "Tastaturkürzel"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "Über Authenticator"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Standard"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Ungültiger QR-Code"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "Die Einmalpasswörter verfallen in {} Sekunden"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Der geheime Code konnte nicht erzeugt werden"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Mitteilung verstecken"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "rückgängig machen"
#: src/Authenticator/widgets/settings.py:93
msgid "Lock the application with a password"
msgstr "Anwendung mit einem Passwort sperren"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Zweifaktor-Authentifizierung"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Zweifaktor-Authentifizierung"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Zweifaktor-Authentifizierung"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Altes Passwort"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "JSON-Dateien"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Riesige Datenbank aus (290+) Webseiten/Anwendungen"
#~ msgid "Night mode"
#~ msgstr "Nachtmodus"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Nachtmodus innerhalb der Anwendung aktivieren/deaktivieren"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Nach Möglichkeit ein dunkles Motiv verwenden"
#~ msgid "Keep your accounts safer "
#~ msgstr "Halten Sie Ihre Konten sicher "
#~ msgid "Settings"
#~ msgstr "Einstellungen"
#~ msgid "Authenticator Password"
#~ msgstr "Authenticator-Passwort"
#~ msgid "Edit {} - {}"
#~ msgstr "Bearbeiten {} - {}"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr ""
#~ "Authentifizierungspasswort wurde zurückgezogen. Bitte starten Sie die "
#~ "Anwendung neu."
#~ msgid ""
#~ "Authentication password is now enabled. Please restart the application."
#~ msgstr ""
#~ "Das Passwort für die Authentifizierung ist nun aktiviert. Bitte starten "
#~ "Sie die Anwendung neu."
#~ msgid "Open"
#~ msgstr "Öffnen"
#~ msgid "Cancel"
#~ msgstr "Abbruch"
#~ msgid "Select"
#~ msgstr "Auswählen"
#~ msgid "Secret token"
#~ msgstr "Geheimschlüssel"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr ""
#~ "zbar-Bibliothek wurde nicht gefunden. Der QRCode-Scanner wird deaktiviert"
#~ msgid "Copy"
#~ msgstr "kopieren"
#~ msgid "Search"
#~ msgstr "Suche"
#~ msgid "Selection mode"
#~ msgstr "Auswahlmodus"
#~ msgid "Click on items to select them"
#~ msgstr "Klicke auf Items, um sie auszuwählen"
#~ msgid "Old Password"
#~ msgstr "Altes Passwort"
#~ msgid "Appearance"
#~ msgstr "Erscheinungsbild"
#~ msgid "Erase existing accounts"
#~ msgstr "Lösche die existierenden Accounts"
#~ msgid "Set up application authentication password"
#~ msgstr "Passwort für die Anwendungsauthentifizierung einrichten"
#~ msgid "The application needs to be restarted first."
#~ msgstr "Die Anwendung muss zuerst neu gestartet werden."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "Der existierende Account wird in 5 Sekunden gelöscht"
#~ msgid "An account or more were removed."
#~ msgstr "Ein oder mehrere Konten wurden entfernt."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Ob die Anwendung mit einem Passwort gesperrt ist oder nicht"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Auswählen"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Zweifaktor-Authentifizierung"
#~ msgid "in an OpenPGP-encrypted JSON file"
#~ msgstr "in eine OpenPGP-verschlüsselten JSON-Datei"
#~ msgid "About"
#~ msgstr "Über"
#~ msgid "GPG paraphrase"
#~ msgstr "GPG-Umschreibung"
#~ msgid "Import"
#~ msgstr "Import"
#~ msgid "Paraphrase"
#~ msgstr "Umschreibung"
#~ msgid "There was an error during the import of the encrypted file."
#~ msgstr "Es gab einen Fehler während dem Import der verschlüsselten Datei."
#~ msgid "GPG fingerprint"
#~ msgstr "GPG-Fingerabdruck"
#~ msgid "Public keys"
#~ msgstr "Öffentliche Schlüssel"
#~ msgid "Private keys"
#~ msgstr "Private Schlüssel"
#~ msgid "GPG keys location"
#~ msgstr "Speicherort des GPG-Schlüssels"
#~ msgid "Encrypted GPG files"
#~ msgstr "Verschlüsselte GPG-Dateien"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#, fuzzy
#~ msgid "Backup Password"
#~ msgstr "Passwort ändern"
#~ msgid "Next"
#~ msgstr "weiter"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "Codegenerator für Zweifaktor-Authentifizierung"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "Zweifaktor-Authentifizierungcodegenerator"
#~ msgid "TwoFactorAuth"
#~ msgstr "ZweiFaktorAuth"
#~ msgid "Remove the account"
#~ msgstr "Konto löschen"
#~ msgid "Copy the generated code"
#~ msgstr "Kopiere den erzeugten Code"
#~ msgid "Edit the account"
#~ msgstr "Bearbeite das Konto"
#~ msgid "Save the new account name"
#~ msgstr "Speichere den neuen Kontonamen"
#~ msgid "Expires in %s seconds"
#~ msgstr "Verfällt in '%s' Sekunden"
#~ msgid "Error during the generation of code"
#~ msgstr "Fehler beim erzeugen des Codes"
#~ msgid "Do you really want to remove \"%s\"?"
#~ msgstr "Soll \"%s\" wirklich gelöscht werden ?"
#~ msgid "\"%s\" was removed"
#~ msgstr "\"%s\" wurde gelöscht"
#~ msgid "Selected area is not a valid QR code"
#~ msgstr "Die gewählte Fläche ist kein gültiger QR Code"
#~ msgid "Select an application"
#~ msgstr "Wähle eine Anwendung"
#~ msgid "Apply"
#~ msgstr "Anwenden"
#~ msgid "Enter your password"
#~ msgstr "gebe dein Passwort ein"
#~ msgid "Password protection"
#~ msgstr "Passwortschutz"
#~ msgid "Auto-lock the application (m):"
#~ msgstr "Auto-Sperren der Anwendung (m):"
#~ msgid "Gnome TwoFactorAuth"
#~ msgstr "Gnome ZweiFaktorAuth"
#~ msgid "About Gnome TwoFactorAuth"
#~ msgstr "Über Gnome ZweiFaktorAuth"
#~ msgid "Show about dialog"
#~ msgstr "Zeige den Über-Dialog"

365
po/en_GB.po Normal file
View file

@ -0,0 +1,365 @@
# British English translation for authenticator.
# Copyright (C) 2019 authenticator's COPYRIGHT HOLDER
# This file is distributed under the same license as the authenticator package.
# Zander Brown <zbrown@gnome.org>, 2019.
# Bruce Cowan <bruce@bcowan.me.uk>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: authenticator master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n"
"POT-Creation-Date: 2019-08-21 08:30+0000\n"
"PO-Revision-Date: 2019-08-24 11:21+0100\n"
"Last-Translator: Bruce Cowan <bruce@bcowan.me.uk>\n"
"Language-Team: English - United Kingdom <en@li.org>\n"
"Language: en_GB\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: Gtranslator 3.32.1\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:36
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#: data/resources/gtk/ui/about_dialog.ui.in:10
msgid "A Two-Factor Authentication application"
msgstr "A Two-Factor Authentication application"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11
msgid "Features:"
msgstr "Features:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "QR code scanner"
msgstr "QR code scanner"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Beautiful UI"
msgstr "Beautiful UI"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
msgid "Huge database of more than 560 supported services"
msgstr "Huge database of more than 560 supported services"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Keep your PIN tokens secure by locking the application with a password"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "Automatically fetch an image for services using their favicon"
msgstr "Automatically fetch an image for services using their favicon"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18
msgid "The possibility to add new services"
msgstr "The possibility to add new services"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19
msgid "Dark theme and night light"
msgstr "Dark theme and night light"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25
msgid "Main Window - empty state"
msgstr "Main Window - empty state"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29
#: data/resources/gtk/ui/account_add.ui:15
msgid "Add a new account"
msgstr "Add a new account"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33
msgid "Main Window - Accounts List"
msgstr "Main Window - Accounts List"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid "Settings Window"
msgstr "Settings Window"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:170
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor Authentication"
msgstr "Two-factor Authentication"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;"
msgstr "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Default window position"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: data/resources/gtk/ui/settings.ui.in:28
msgid "Dark Theme"
msgstr "Dark Theme"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: data/resources/gtk/ui/settings.ui.in:29
#: data/resources/gtk/ui/settings.ui.in:76
msgid "Whether the application should use a dark theme."
msgstr "Whether the application should use a dark theme."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: data/resources/gtk/ui/settings.ui.in:83
msgid "Auto lock timeout"
msgstr "Auto lock timeout"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
msgid "Lock the application on idle after X minutes"
msgstr "Lock the application on idle after X minutes"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
#: data/resources/gtk/ui/settings.ui.in:43
msgid "Night Light"
msgstr "Night Light"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22
#: data/resources/gtk/ui/settings.ui.in:44
#: data/resources/gtk/ui/settings.ui.in:84
msgid "Automatically enable dark mode at night."
msgstr "Automatically enable dark mode at night."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
msgid "Default window maximized behaviour"
msgstr "Default window maximised behaviour"
#: data/resources/gtk/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Zander Brown <zbrown@gnome.org>"
#: data/resources/gtk/ui/account_add.ui:33
msgid "Add"
msgstr "Add"
#: data/resources/gtk/ui/account_add.ui:53
msgid "Scan QR Code"
msgstr "Scan QR Code"
#: data/resources/gtk/ui/account_config.ui:56
msgid "Account Name"
msgstr "Account Name"
#: data/resources/gtk/ui/account_config.ui:78
msgid "Provider"
msgstr "Provider"
#: data/resources/gtk/ui/account_config.ui:95
#: data/resources/gtk/ui/account_config.ui:96
msgid "Enable 2FA for this account"
msgstr "Enable 2FA for this account"
#: data/resources/gtk/ui/account_config.ui:97
msgid "2FA Token"
msgstr "2FA Token"
#: data/resources/gtk/ui/account_config.ui:111
msgid "Provider Website"
msgstr "Provider Website"
#: data/resources/gtk/ui/account_edit.ui:31
msgid "Save"
msgstr "Save"
#: data/resources/gtk/ui/account_row.ui:22
msgid "Edit"
msgstr "Edit"
#: data/resources/gtk/ui/account_row.ui:40
msgid "Delete"
msgstr "Delete"
#: data/resources/gtk/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Copy PIN to clipboard"
#: data/resources/gtk/ui/password_widget.ui:46
msgid "Current Password:"
msgstr "Current Password:"
#: data/resources/gtk/ui/password_widget.ui:91
msgid "New Password:"
msgstr "New Password:"
#: data/resources/gtk/ui/password_widget.ui:136
msgid "Confirm New Password:"
msgstr "Confirm New Password:"
#: data/resources/gtk/ui/password_widget.ui:184
#: src/Authenticator/widgets/settings.py:174
msgid "Change Password"
msgstr "Change Password"
#: data/resources/gtk/ui/password_widget.ui:205
msgid "Delete Password"
msgstr "Delete Password"
#: data/resources/gtk/ui/settings.ui.in:24
msgid "Appearance"
msgstr "Appearance"
#: data/resources/gtk/ui/settings.ui.in:75
#: src/Authenticator/application.py.in:106
msgid "Lock the application"
msgstr "Lock the application"
#: data/resources/gtk/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "General"
#: data/resources/gtk/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Show Shortcuts"
#: data/resources/gtk/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferences"
#: data/resources/gtk/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Quit"
#: data/resources/gtk/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Accounts"
#: data/resources/gtk/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Add"
#: data/resources/gtk/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Search"
#: data/resources/gtk/ui/window.ui.in:189
msgid "There are no accounts yet…"
msgstr "There are no accounts yet…"
#: data/resources/gtk/ui/window.ui.in:218
msgid "Add a new account from the menu"
msgstr "Add a new account from the menu"
#: data/resources/gtk/ui/window.ui.in:234
msgid "Scan a QR Code"
msgstr "Scan a QR Code"
#: data/resources/gtk/ui/window.ui.in:366
msgid "No results found"
msgstr "No results found"
#: data/resources/gtk/ui/window.ui.in:429
msgid "Authenticator is locked"
msgstr "Authenticator is locked"
#: data/resources/gtk/ui/window.ui.in:468
msgid "Unlock"
msgstr "Unlock"
#: src/authenticator.py.in:49
msgid "Start in debug mode"
msgstr "Start in debug mode"
#: src/Authenticator/application.py.in:114
msgid "from a plain-text JSON file"
msgstr "from a plain-text JSON file"
#: src/Authenticator/application.py.in:115
msgid "in a plain-text JSON file"
msgstr "in a plain-text JSON file"
#: src/Authenticator/application.py.in:117
msgid "Restore"
msgstr "Restore"
#: src/Authenticator/application.py.in:118
msgid "Backup"
msgstr "Backup"
#. Night mode action
#: src/Authenticator/application.py.in:126
msgid "Preferences"
msgstr "Preferences"
#: src/Authenticator/application.py.in:127
msgid "Donate"
msgstr "Donate"
#: src/Authenticator/application.py.in:128
msgid "Keyboard Shortcuts"
msgstr "Keyboard Shortcuts"
#: src/Authenticator/application.py.in:129
msgid "About Authenticator"
msgstr "About Authenticator"
#: src/Authenticator/models/account.py:84
msgid "Default"
msgstr "Default"
#: src/Authenticator/widgets/accounts/add.py:247
msgid "Invalid QR code"
msgstr "Invalid QR code"
#: src/Authenticator/widgets/accounts/list.py:152
msgid "The One-Time Passwords expire in {} seconds"
msgstr "The One-Time Passwords expire in {} seconds"
#: src/Authenticator/widgets/accounts/row.py:90
msgid "Couldn't generate the secret code"
msgstr "Couldn't generate the secret code"
#: src/Authenticator/widgets/accounts/row.py:100
msgid "The PIN of {} was copied to the clipboard"
msgstr "The PIN of {} was copied to the clipboard"
#: src/Authenticator/widgets/accounts/row.py:141
msgid "The account was updated successfully"
msgstr "The account was updated successfully"
#: src/Authenticator/widgets/notification.py:53
#: src/Authenticator/widgets/notification.py:84
msgid "Undo"
msgstr "Undo"
#: src/Authenticator/widgets/notification.py:79
msgid "Close the notification"
msgstr "Close the notification"
#: src/Authenticator/widgets/settings.py:170
msgid "Save Password"
msgstr "Save Password"
#: src/Authenticator/widgets/settings.py:222
msgid "Do you want to remove the authentication password?"
msgstr "Do you want to remove the authentication password?"
#: src/Authenticator/widgets/settings.py:223
msgid "Authentication password enforces the privacy of your accounts."
msgstr "Authentication password enforces the privacy of your accounts."
#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31
msgid "JSON files"
msgstr "JSON files"

625
po/es.po Normal file
View file

@ -0,0 +1,625 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# Rodrigo Lledó <rodhos92@gmail.com>, 2019.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n"
"POT-Creation-Date: 2019-07-02 16:11+0000\n"
"PO-Revision-Date: 2019-08-21 10:30+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
"Language: es_ES\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: Gtranslator 3.32.1\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:36
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#: data/resources/gtk/ui/about_dialog.ui.in:10
#| msgid "Two-factor authentication"
msgid "A Two-Factor Authentication application"
msgstr "Una aplicación de autenticación de doble factor"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Aplicación sencilla para generar códigos de autenticación de doble factor, "
"creado para GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11
msgid "Features:"
msgstr "Prestaciones:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "QR code scanner"
msgstr "Escáner de códigos QR"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Beautiful UI"
msgstr "Excelente interfaz de usuario"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
msgid "Huge database of more than 560 supported services"
msgstr "Base de datos enorme con más de 560 dispositivos soportados"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr ""
"Mantenga sus testigos de PIN seguros bloqueando la aplicación con una "
"contraseña"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "Automatically fetch an image for services using their favicon"
msgstr "Obtener automáticamente una imagen para servicios que usan el favicon"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18
msgid "The possibility to add new services"
msgstr "La posibilidad de añadir servicios nuevos"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19
msgid "Dark theme and night light"
msgstr "Tema oscuro y luz nocturna"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25
msgid "Main Window - empty state"
msgstr "Ventana principal - estado vacío"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29
#: data/resources/gtk/ui/account_add.ui:15
msgid "Add a new account"
msgstr "Añadir una cuenta nueva"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33
msgid "Main Window - Accounts List"
msgstr "Ventana principal - Lista de cuentas"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid "Settings Window"
msgstr "Ventana de configuración"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
#| msgid "Two-factor authentication"
msgid "Two-factor Authentication"
msgstr "Autenticación de doble factor"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;"
msgstr "Gnome;GTK;Autenticación;Verificación;2FA;Factores;Pasos;"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Posición predeterminada de la ventana"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: data/resources/gtk/ui/settings.ui.in:28
msgid "Dark Theme"
msgstr "Tema oscuro"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: data/resources/gtk/ui/settings.ui.in:29
#: data/resources/gtk/ui/settings.ui.in:76
msgid "Whether the application should use a dark theme."
msgstr "Indica si la aplicación usa un tema oscuro."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: data/resources/gtk/ui/settings.ui.in:83
msgid "Auto lock timeout"
msgstr "Tiempo de espera del bloqueo automático"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
msgid "Lock the application on idle after X minutes"
msgstr "Bloquear la aplicación tras X minutos de inactividad"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
#: data/resources/gtk/ui/settings.ui.in:43
msgid "Night Light"
msgstr "Luz nocturna"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22
#: data/resources/gtk/ui/settings.ui.in:44
#: data/resources/gtk/ui/settings.ui.in:84
msgid "Automatically enable dark mode at night."
msgstr "Activar el modo oscuro automáticamente durante la noche."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
msgid "Default window maximized behaviour"
msgstr "Comportamiento predeterminado al maximizar la ventana"
#: data/resources/gtk/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr ""
"Rodrigo Lledó, <rodhos92@gmail.com>\n"
"advocatux <advocatux@airpost.net>, 2018\n"
"Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2018"
#: data/resources/gtk/ui/account_add.ui:33
msgid "Add"
msgstr "Añadir"
#: data/resources/gtk/ui/account_add.ui:53
msgid "Scan QR Code"
msgstr "Escanear código QR"
#: data/resources/gtk/ui/account_config.ui:56
msgid "Account Name"
msgstr "Nombre de la cuenta"
#: data/resources/gtk/ui/account_config.ui:78
msgid "Provider"
msgstr "Proveedor"
#: data/resources/gtk/ui/account_config.ui:95
#: data/resources/gtk/ui/account_config.ui:96
msgid "Enable 2FA for this account"
msgstr "Activar 2FA en esta cuenta"
#: data/resources/gtk/ui/account_config.ui:97
msgid "2FA Token"
msgstr "Testigo 2FA"
#: data/resources/gtk/ui/account_config.ui:111
msgid "Provider Website"
msgstr "Página web del proveedor"
#: data/resources/gtk/ui/account_edit.ui:31
msgid "Save"
msgstr "Guardar"
#: data/resources/gtk/ui/account_row.ui:22
msgid "Edit"
msgstr "Editar"
#: data/resources/gtk/ui/account_row.ui:40
msgid "Delete"
msgstr "Eliminar"
#: data/resources/gtk/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Copiar PIN al portapapeles"
#: data/resources/gtk/ui/password_widget.ui:46
msgid "Current Password:"
msgstr "Contraseña actual:"
#: data/resources/gtk/ui/password_widget.ui:91
msgid "New Password:"
msgstr "Contraseña nueva:"
#: data/resources/gtk/ui/password_widget.ui:136
msgid "Confirm New Password:"
msgstr "Confirme la contraseña nueva:"
#: data/resources/gtk/ui/password_widget.ui:184
#: src/Authenticator/widgets/settings.py:174
msgid "Change Password"
msgstr "Cambiar la contraseña"
#: data/resources/gtk/ui/password_widget.ui:205
msgid "Delete Password"
msgstr "Eliminar la contraseña"
#: data/resources/gtk/ui/settings.ui.in:24
msgid "Appearance"
msgstr "Aspecto"
#: data/resources/gtk/ui/settings.ui.in:75
#: src/Authenticator/application.py.in:106
msgid "Lock the application"
msgstr "Bloquear la aplicación"
#: data/resources/gtk/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "General"
#: data/resources/gtk/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Mostrar atajos"
#: data/resources/gtk/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferencias"
#: data/resources/gtk/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Salir"
#: data/resources/gtk/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Cuentas"
#: data/resources/gtk/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Añadir"
#: data/resources/gtk/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Buscar"
#: data/resources/gtk/ui/window.ui.in:189
msgid "There are no accounts yet…"
msgstr "No hay ninguna cuenta aún…"
#: data/resources/gtk/ui/window.ui.in:218
msgid "Add a new account from the menu"
msgstr "Añadir una cuenta nueva desde el menú"
#: data/resources/gtk/ui/window.ui.in:234
msgid "Scan a QR Code"
msgstr "Escanear un código QR"
#: data/resources/gtk/ui/window.ui.in:366
msgid "No results found"
msgstr "No se encontraron resultados"
#: data/resources/gtk/ui/window.ui.in:429
msgid "Authenticator is locked"
msgstr "Authenticator está bloqueado"
#: data/resources/gtk/ui/window.ui.in:468
msgid "Unlock"
msgstr "Desbloquear"
#: src/authenticator.py.in:49
msgid "Start in debug mode"
msgstr "Iniciar en el modo de depuración"
#: src/Authenticator/application.py.in:114
msgid "from a plain-text JSON file"
msgstr "desde un archivo JSON de texto sencillo"
#: src/Authenticator/application.py.in:115
msgid "in a plain-text JSON file"
msgstr "en un archivo JSON de texto sencillo"
#: src/Authenticator/application.py.in:117
msgid "Restore"
msgstr "Restaurar"
#: src/Authenticator/application.py.in:118
msgid "Backup"
msgstr "Copia de seguridad"
#. Night mode action
#: src/Authenticator/application.py.in:126
msgid "Preferences"
msgstr "Preferencias"
#: src/Authenticator/application.py.in:127
msgid "Donate"
msgstr "Donar"
#: src/Authenticator/application.py.in:128
msgid "Keyboard Shortcuts"
msgstr "Atajos de teclado"
#: src/Authenticator/application.py.in:129
msgid "About Authenticator"
msgstr "Acerca de Authenticator"
#: src/Authenticator/models/account.py:84
msgid "Default"
msgstr "Predeterminado"
#: src/Authenticator/widgets/accounts/add.py:247
msgid "Invalid QR code"
msgstr "Código QR no válido"
#: src/Authenticator/widgets/accounts/list.py:152
msgid "The One-Time Passwords expire in {} seconds"
msgstr "Las contraseñas de un solo uso caducan en {} segundos"
#: src/Authenticator/widgets/accounts/row.py:90
msgid "Couldn't generate the secret code"
msgstr "No se pudo generar el código secreto"
#: src/Authenticator/widgets/accounts/row.py:100
msgid "The PIN of {} was copied to the clipboard"
msgstr "El PIN de {} se copió desde el portapapeles"
#: src/Authenticator/widgets/accounts/row.py:141
msgid "The account was updated successfully"
msgstr "La cuenta se actualizó correctamente"
#: src/Authenticator/widgets/notification.py:53
#: src/Authenticator/widgets/notification.py:84
msgid "Undo"
msgstr "Deshacer"
#: src/Authenticator/widgets/notification.py:79
msgid "Close the notification"
msgstr "Cerrar la notificación"
#: src/Authenticator/widgets/settings.py:170
msgid "Save Password"
msgstr "Guardar la contraseña"
#: src/Authenticator/widgets/settings.py:222
msgid "Do you want to remove the authentication password?"
msgstr "¿Quiere eliminar la contraseña de autenticación?"
#: src/Authenticator/widgets/settings.py:223
msgid "Authentication password enforces the privacy of your accounts."
msgstr "La contraseña de autenticación refuerza la privacidad de sus cuentas."
#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31
msgid "JSON files"
msgstr "Archivos JSON"
#~ msgid "Two-factor authentication code generator"
#~ msgstr "Generador de códigos de autenticación de doble factor"
#~ msgid "Two-factor authentication code generator."
#~ msgstr "Generador de códigos de autenticación de doble factor."
#~ msgid "Close"
#~ msgstr "Cerrar"
#~ msgid "Behaviour"
#~ msgstr "Comportamiento"
#~ msgid "Authentication password is now enabled."
#~ msgstr "Se ha activado la contraseña de autenticación."
#~ msgid "The authentication password was updated."
#~ msgstr "Se actualizó la contraseña de autenticación."
#~ msgid "The authentication password was deleted."
#~ msgstr "Se eliminó la contraseña de autenticación."
#~ msgid "We couldn't find an image for this provider"
#~ msgstr "No pudimos encontrar una imagen para este proveedor"
#~ msgid ""
#~ "Since I have moved the application to GOME Gitlab's World group, a "
#~ "Flatpak build for each new commit is available to download from the "
#~ "site's website."
#~ msgstr ""
#~ "Como hemos trasladado la aplicación al grupo «World» de la instancia "
#~ "GitLab de GNOME, hay disponible una compilación Flatpak por cada consigna "
#~ "nueva en el sitio web de la aplicación."
#~ msgid "Backup and restore from a basic JSON file"
#~ msgstr ""
#~ "Copia de seguridad y restauración a partir de un archivo JSON básico"
#~ msgid "Backup and restore from an encrypted-GPG JSON file"
#~ msgstr ""
#~ "Copia de seguridad y restauración a partir de un archivo JSON cifrado con "
#~ "GPG"
#~ msgid "Add andOTP support (free and open Android 2FA application)"
#~ msgstr ""
#~ "Se añadió compatibilidad con andOTP (aplicación libre y abierta de 2FA "
#~ "para Android)"
#~ msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
#~ msgstr ""
#~ "Renovación de la ventana de configuración con tres secciones: Aspecto, "
#~ "Comportamiento y Copia de seguridad"
#~ msgid "Fix Flatpak Build with the latest GNOME Runtime"
#~ msgstr ""
#~ "Se reparó la compilación Flatpak con el entorno de ejecución de GNOME más "
#~ "reciente"
#~ msgid "Move the project to GOME Gitlab's World group"
#~ msgstr "Se trasladó el proyecto al grupo «World» del GitLab de GNOME"
#~ msgid "GNOME Shell Search provider"
#~ msgstr "Proveedor de búsquedas para GNOME Shell"
#~ msgid "Codes expire simultaneously #91"
#~ msgstr "Los códigos caducan simultáneamente #91"
#~ msgid "Revamped main window to more closely follow the GNOME HIG"
#~ msgstr ""
#~ "Reformada la ventana principal para seguir más de cerca las directrices "
#~ "sobre la interfaz humana (HIG) de GNOME"
#~ msgid "Revamped add a new account window to make it easier to use"
#~ msgstr "Reformada la ventana de adición de cuentas para facilitar su uso"
#~ msgid ""
#~ "Possibility to add an account from a provider not listed in the shipped "
#~ "database"
#~ msgstr ""
#~ "Posibilidad de añadir una cuenta de un proveedor que no esté incluido en "
#~ "la base de datos incorporada"
#~ msgid "Possibilty to edit an account"
#~ msgstr "Posibilidad de editar una cuenta"
#~ msgid "One Time Password now visible by default"
#~ msgstr ""
#~ "Las contraseñas de un solo uso son ahora visibles de manera predeterminada"
#~ msgid "Fix python-dbus by using GDbus instead"
#~ msgstr "Arreglado el problema de «python-dbus» al usar «GDbus» ahora"
#~ msgid "Fix the QRScanner on GNOME Shell"
#~ msgstr "Arreglado QRScanner cuando se usa en la «shell» de GNOME"
#~ msgid "Add a new entry for the account's username"
#~ msgstr "Se añadió una entrada nueva para el nombre de usuario de la cuenta"
#~ msgid "Updated database of supported accounts"
#~ msgstr "Se actualizó la base de datos de cuentas admitidas"
#~ msgid "HOTFIX: App not running in DE other than GNOME"
#~ msgstr ""
#~ "ARREGLO RÁPIDO: la aplicación no funcionaba en entornos de escritorio "
#~ "distintos de GNOME"
#~ msgid "Rename project to Authenticator"
#~ msgstr "Renombrado el proyecto a «Authenticator»"
#~ msgid "Cleaner code base"
#~ msgstr "Una base de código más limpio"
#~ msgid "Faster startup"
#~ msgstr "Arranque más rápido"
#~ msgid "Remove unneeded features"
#~ msgstr "Eliminadas las características innecesarias"
#~ msgid "Switch to pyzbar instead of zbarlight"
#~ msgstr "Se cambió a «pyzbar» en sustitución de «zbarlight»"
#~ msgid "Flatpak package"
#~ msgstr "Paquete Flatpak"
#~ msgid "@appid@"
#~ msgstr "@appid@"
#~ msgid "Authenticator version number"
#~ msgstr "Número de versión de «Authenticator»"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Enorme (+290) base de datos de sitios web y aplicaciones"
#~ msgid "Night mode"
#~ msgstr "Modo nocturno"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Activar/desactivar el modo nocturno desde dentro de la aplicación"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Usar un tema oscuro, si es posible"
#~ msgid "Keep your accounts safer "
#~ msgstr "Mantenga sus cuentas seguras "
#~ msgid "Authenticator Password"
#~ msgstr "Contraseña de Authenticator"
#~ msgid "Edit {} - {}"
#~ msgstr "Editar {} - {}"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr ""
#~ "La contraseña de autenticación no estaba configurada. Reinicie la "
#~ "aplicación"
#~ msgid "Open"
#~ msgstr "Abrir"
#~ msgid "Cancel"
#~ msgstr "Cancelar"
#~ msgid "Select"
#~ msgstr "Seleccionar"
#~ msgid "Secret token"
#~ msgstr "Ficha secreta"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr ""
#~ "No se encontró la biblioteca «zbar». Se desactivará el escáner de códigos "
#~ "QR"
#~ msgid "Copy"
#~ msgstr "Copiar"
#~ msgid "Search"
#~ msgstr "Buscar"
#~ msgid "Selection mode"
#~ msgstr "Modo de selección"
#~ msgid "Click on items to select them"
#~ msgstr "Pulse en los elementos para seleccionarlos"
#~ msgid "Old Password"
#~ msgstr "Contraseña antigua"
#~ msgid "Clear the database"
#~ msgstr "Vaciar la base de datos"
#~ msgid "Erase existing accounts"
#~ msgstr "Eliminar las cuentas existentes"
#~ msgid "The application needs to be restarted first."
#~ msgstr "Se necesita reiniciar la aplicación primero."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "Las cuentas existentes se eliminarán en 5 segundos"
#~ msgid "An account or more were removed."
#~ msgstr "Al menos una cuenta ha sido eliminada."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Si la aplicación está bloqueada con una contraseña o no"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Seleccionar"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Authenticator"
#~ msgid "from an OpenPGP-encrypted JSON file"
#~ msgstr "desde un archivo JSON cifrado con OpenPGP"
#~ msgid "in an OpenPGP-encrypted JSON file"
#~ msgstr "en un archivo JSON cifrado con OpenPGP"
#~ msgid "About"
#~ msgstr "Acerca de"
#~ msgid "GPG paraphrase"
#~ msgstr "Contraseña GPG"
#~ msgid "Import"
#~ msgstr "Importar"
#~ msgid "Paraphrase"
#~ msgstr "Contraseña"
#~ msgid "There was an error during the import of the encrypted file."
#~ msgstr "Se produjo un error al importar el archivo cifrado."
#~ msgid "GPG fingerprint"
#~ msgstr "Huella GPG"
#~ msgid "Public keys"
#~ msgstr "Claves públicas"
#~ msgid "Private keys"
#~ msgstr "Claves privadas"
#~ msgid "GPG keys location"
#~ msgstr "Ubicación de las claves GPG"
#~ msgid "Encrypted GPG files"
#~ msgstr "Archivos cifrados con GPG"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"

381
po/fi.po Normal file
View file

@ -0,0 +1,381 @@
# Finnish translation for authenticator.
# Copyright (C) 2019 authenticator's COPYRIGHT HOLDER
# This file is distributed under the same license as the authenticator package.
# Jiri Grönroos <jiri.gronroos@iki.fi>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: authenticator master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n"
"POT-Creation-Date: 2019-07-02 16:11+0000\n"
"PO-Revision-Date: 2019-08-18 17:46+0300\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: Finnish <lokalisointi-lista@googlegroups.com>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.6\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:36
msgid "Authenticator"
msgstr "Todennin"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#: data/resources/gtk/ui/about_dialog.ui.in:10
msgid "A Two-Factor Authentication application"
msgstr "Kaksivaiheisen todennuksen sovellus"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Yksinkertainen sovellus Gnome-työpöydälle, joka luo kaksivaiheisia "
"todennuskoodeja."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11
msgid "Features:"
msgstr "Ominaisuudet:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "QR code scanner"
msgstr "QR-koodin skanneri"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Beautiful UI"
msgstr "Nätti käyttöliittymä"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
msgid "Huge database of more than 560 supported services"
msgstr "Valtava tietokanta kattaen yli 560 tuettua palvelua"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Pidä PIN-koodit turvassa lukitsemalla sovellus salasanalla"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "Automatically fetch an image for services using their favicon"
msgstr "Nouda palvelujen kuva automaattisesti käyttäen faviconia"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18
msgid "The possibility to add new services"
msgstr "Mahdollisuus lisätä uusia palveluja"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19
msgid "Dark theme and night light"
msgstr "Tumma teema ja yövalo"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25
msgid "Main Window - empty state"
msgstr "Pääikkuna - tyhjä tilanne"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29
#: data/resources/gtk/ui/account_add.ui:15
msgid "Add a new account"
msgstr "Lisää uusi tili"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33
msgid "Main Window - Accounts List"
msgstr "Pääikkuna - Tililuettelo"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid "Settings Window"
msgstr "Asetukset-ikkuna"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor Authentication"
msgstr "Kaksivaiheinen todennus"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;"
msgstr ""
"Gnome;GTK;Verification;2FA;Authentication;TwoFactor;tunnistaminen;vahvistus;"
"kaksivaiheinen;todentaminen;"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Ikkunan oletussijainti"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: data/resources/gtk/ui/settings.ui.in:28
msgid "Dark Theme"
msgstr "Tumma teema"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: data/resources/gtk/ui/settings.ui.in:29
#: data/resources/gtk/ui/settings.ui.in:76
msgid "Whether the application should use a dark theme."
msgstr "Tuleeko sovelluksen käyttää tummaa teemaa."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: data/resources/gtk/ui/settings.ui.in:83
msgid "Auto lock timeout"
msgstr "Automaattinen lukituksen viive"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
msgid "Lock the application on idle after X minutes"
msgstr "Lukitse sovellus X minuutin jälkeen"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
#: data/resources/gtk/ui/settings.ui.in:43
msgid "Night Light"
msgstr "Yövalo"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22
#: data/resources/gtk/ui/settings.ui.in:44
#: data/resources/gtk/ui/settings.ui.in:84
msgid "Automatically enable dark mode at night."
msgstr "Ota tumma tila käyttöön automaattisesti yöaikaan."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
msgid "Default window maximized behaviour"
msgstr "Suurennetun ikkunan oletusarvoinen toiminta"
#: data/resources/gtk/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Jiri Grönroos"
#: data/resources/gtk/ui/account_add.ui:33
msgid "Add"
msgstr "Lisää"
#: data/resources/gtk/ui/account_add.ui:53
msgid "Scan QR Code"
msgstr "Skannaa QR-koodi"
#: data/resources/gtk/ui/account_config.ui:56
msgid "Account Name"
msgstr "Tilin nimi"
#: data/resources/gtk/ui/account_config.ui:78
msgid "Provider"
msgstr "Palveluntarjoaja"
#: data/resources/gtk/ui/account_config.ui:95
#: data/resources/gtk/ui/account_config.ui:96
msgid "Enable 2FA for this account"
msgstr "Ota kaksivaiheinen todentaminen käyttöön tälle tilille"
#: data/resources/gtk/ui/account_config.ui:97
msgid "2FA Token"
msgstr "Kaksivaiheinen koodi"
#: data/resources/gtk/ui/account_config.ui:111
msgid "Provider Website"
msgstr "Tarjoajan sivusto"
#: data/resources/gtk/ui/account_edit.ui:31
msgid "Save"
msgstr "Tallenna"
#: data/resources/gtk/ui/account_row.ui:22
msgid "Edit"
msgstr "Muokkaa"
#: data/resources/gtk/ui/account_row.ui:40
msgid "Delete"
msgstr "Poista"
#: data/resources/gtk/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Kopioi PIN leikepöydälle"
#: data/resources/gtk/ui/password_widget.ui:46
msgid "Current Password:"
msgstr "Nykyinen salasana:"
#: data/resources/gtk/ui/password_widget.ui:91
msgid "New Password:"
msgstr "Uusi salasana:"
#: data/resources/gtk/ui/password_widget.ui:136
msgid "Confirm New Password:"
msgstr "Vahvista uusi salasana:"
#: data/resources/gtk/ui/password_widget.ui:184
#: src/Authenticator/widgets/settings.py:174
msgid "Change Password"
msgstr "Vaihda salasana"
#: data/resources/gtk/ui/password_widget.ui:205
msgid "Delete Password"
msgstr "Poista salasana"
#: data/resources/gtk/ui/settings.ui.in:24
msgid "Appearance"
msgstr "Ulkoasu"
#: data/resources/gtk/ui/settings.ui.in:75
#: src/Authenticator/application.py.in:106
msgid "Lock the application"
msgstr "Lukitse sovellus"
#: data/resources/gtk/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Yleiset"
#: data/resources/gtk/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Näytä pikanäppäimet"
#: data/resources/gtk/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Asetukset"
#: data/resources/gtk/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Lopeta"
#: data/resources/gtk/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Tilit"
#: data/resources/gtk/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Lisää"
#: data/resources/gtk/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Haku"
#: data/resources/gtk/ui/window.ui.in:189
msgid "There are no accounts yet…"
msgstr "Ei vielä tilejä…"
#: data/resources/gtk/ui/window.ui.in:218
msgid "Add a new account from the menu"
msgstr "Lisää uusi tili valikosta"
#: data/resources/gtk/ui/window.ui.in:234
msgid "Scan a QR Code"
msgstr "Skannaa QR-koodi"
#: data/resources/gtk/ui/window.ui.in:366
msgid "No results found"
msgstr "Tuloksia ei löytynyt"
#: data/resources/gtk/ui/window.ui.in:429
msgid "Authenticator is locked"
msgstr "Todennin on lukittu"
#: data/resources/gtk/ui/window.ui.in:468
msgid "Unlock"
msgstr "Avaa lukitus"
#: src/authenticator.py.in:49
msgid "Start in debug mode"
msgstr "Käynnistä vianselvitystilassa"
#: src/Authenticator/application.py.in:114
msgid "from a plain-text JSON file"
msgstr "raakatekstipohjaisesta JSON-tiedostosta"
#: src/Authenticator/application.py.in:115
msgid "in a plain-text JSON file"
msgstr "raakatekstipohjaisessa JSON-tiedostossa"
#: src/Authenticator/application.py.in:117
msgid "Restore"
msgstr "Palauta"
#: src/Authenticator/application.py.in:118
msgid "Backup"
msgstr "Varmuuskopioi"
#. Night mode action
#: src/Authenticator/application.py.in:126
msgid "Preferences"
msgstr "Asetukset"
#: src/Authenticator/application.py.in:127
msgid "Donate"
msgstr "Lahjoita"
#: src/Authenticator/application.py.in:128
msgid "Keyboard Shortcuts"
msgstr "Pikanäppäimet"
#: src/Authenticator/application.py.in:129
msgid "About Authenticator"
msgstr "Tietoja - Todennin"
#: src/Authenticator/models/account.py:84
msgid "Default"
msgstr "Oletus"
#: src/Authenticator/widgets/accounts/add.py:247
msgid "Invalid QR code"
msgstr "Virheellinen QR-koodi"
#: src/Authenticator/widgets/accounts/list.py:152
msgid "The One-Time Passwords expire in {} seconds"
msgstr "Kertakäyttösalasanat vanhenevat {} sekunnissa"
#: src/Authenticator/widgets/accounts/row.py:90
msgid "Couldn't generate the secret code"
msgstr "Salaista koodia ei voitu luoda"
#: src/Authenticator/widgets/accounts/row.py:100
msgid "The PIN of {} was copied to the clipboard"
msgstr "Palvelun {} PIN kopioitiin leikepöydälle"
#: src/Authenticator/widgets/accounts/row.py:141
msgid "The account was updated successfully"
msgstr "Tili päivitettiin onnistuneesti"
#: src/Authenticator/widgets/notification.py:53
#: src/Authenticator/widgets/notification.py:84
msgid "Undo"
msgstr "Kumoa"
#: src/Authenticator/widgets/notification.py:79
msgid "Close the notification"
msgstr "Sulje ilmoitus"
#: src/Authenticator/widgets/settings.py:170
msgid "Save Password"
msgstr "Tallenna salasana"
#: src/Authenticator/widgets/settings.py:222
msgid "Do you want to remove the authentication password?"
msgstr "Haluatko poistaa todentimen salasanan?"
#: src/Authenticator/widgets/settings.py:223
msgid "Authentication password enforces the privacy of your accounts."
msgstr "Todentimen salasana parantaa tiliesi yksityisyyttä."
#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31
msgid "JSON files"
msgstr "JSON-tiedostot"
#~ msgid "Two-factor authentication code generator"
#~ msgstr "Kaksivaiheisen todennuskoodien generaattori"
#~ msgid "Two-factor authentication code generator."
#~ msgstr "Kaksivaiheisen todennuskoodin generaattori"
#~ msgid "Authentication password is now enabled."
#~ msgstr "Todentimen salasana on nyt käytössä."
#~ msgid "The authentication password was updated."
#~ msgstr "Todentimen salasana päivitettiin."
#~ msgid "The authentication password was deleted."
#~ msgstr "Todentimen salasana poistettiin."

693
po/fr.po Normal file
View file

@ -0,0 +1,693 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-03-30 12:03+0000\n"
"Last-Translator: Estébastien Robespi <estebastien@mailbox.org>\n"
"Language-Team: French <https://hosted.weblate.org/projects/authenticator/"
"translation/fr/>\n"
"Language: fr\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.6-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Authentificateur"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Générateur de code d'authentification à deux facteurs"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Une application simple pour générer des codes de validation en deux étapes, "
"créée pour GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Fonctionnalités :"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "Lecteur de QR code"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Interface élégante"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Verrouiller l'application avec un mot de passe"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
"Puisque que j'ai déplacé l'appli sur le groupe « World » du gitlab de GNOME, "
"les résultats Flatpak pour chaque soumission sont téléchargeables depuis le "
"site de l'appli."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
"Sauvegarde de sécurité et restauration à partir d'un simple fichier JSON"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr "Sauvegarde et restauration à partir fichier JSON chiffré par GPG"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
"Ajouter la prise en charge d'andOTP (appli Android 2FA libre et ouverte)"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
"Remodelage de la fenêtre des réglages par sections : Apparence, Comportement "
"et Sauvegarde"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
#, fuzzy
msgid "Cleaner code base"
msgstr "Effacer la base de données"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "Identification en deux étapes"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Position de fenêtre par défaut"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Thème sombre"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
msgid "Whether the application should use a dark theme."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr ""
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Générateur de code d'authentification à deux facteurs."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr ""
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Ajouter un nouveau compte"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Fermer"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Ajouter"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Scanner un QR code"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Compte"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Prestataire"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Enregistrer"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Éditer"
#: data/ui/account_row.ui:41
#, fuzzy
msgid "Delete"
msgstr "Supprimer"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Répétez le mot de passe"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Nouveau mot de passe"
#: data/ui/password_widget.ui:135
#, fuzzy
msgid "Confirm New Password:"
msgstr "Nouveau mot de passe"
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Mot de passe"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Répétez le mot de passe"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Préférences"
#: data/ui/settings.ui.in:95
#, fuzzy
msgid "Behaviour"
msgstr "Comportement"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Généralité"
#: data/ui/shortcuts.ui:17
#, fuzzy
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Raccourcis clavier"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Réglages"
#: data/ui/shortcuts.ui:31
#, fuzzy
msgctxt "shortcut window"
msgid "Quit"
msgstr "Quitter"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Comptes"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Ajouter"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Rechercher"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Il n'y a aucun compte pour le moment…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Ajouter un nouveau compte"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Scanner un QR code"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
msgid "Authenticator is locked"
msgstr "L'identificateur est verrouillé"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Déverrouiller"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Démarrer en mode débogage"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Numéro de version d'identification"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
#, fuzzy
msgid "Lock the application"
msgstr "Verrouiller l'application"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "à partir d'un fichier texte JSON"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "dans un fichier texte JSON"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Restaurer"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Sauvegarde"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Donner"
#: src/Authenticator/application.py.in:114
#, fuzzy
msgid "Keyboard Shortcuts"
msgstr "Raccourcis clavier"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "À propos d'Authenticator"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Défaut"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "QR Code invalide"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "Le mot de passe à usage unique expire dans {} secondes"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Le code secret n'a pas pu être généré"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Supprimer l'application"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Annuler"
#: src/Authenticator/widgets/settings.py:93
msgid "Lock the application with a password"
msgstr "Verrouiller l'application avec un mot de passe"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr ""
"Le mot de passe d'identification est en place. Veuillez redémarrer "
"l'application."
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Mot de passe d'identification"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Mot de passe d'identification"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Mot de passe"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "Fichiers JSON"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Très nombreux (plus de 290) sites et applis pris en charge"
#~ msgid "Night mode"
#~ msgstr "Mode sombre"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Utiliser un thème sombre, si possible"
#~ msgid "Keep your accounts safer "
#~ msgstr "Augmentez la sécurité de vos comptes "
#~ msgid "Settings"
#~ msgstr "Préférenes"
#~ msgid "Edit {} - {}"
#~ msgstr "Modifier {} - {}"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr ""
#~ "Le mot de passe d'identification n'a pas été paramétré. Veuillez "
#~ "redémarrer l'application."
#~ msgid "Open"
#~ msgstr "Ouvrir"
#~ msgid "Cancel"
#~ msgstr "Annuler"
#~ msgid "Select"
#~ msgstr "Sélectionner"
#, fuzzy
#~ msgid "Secret token"
#~ msgstr "Code secret"
#~ msgid "Copy"
#~ msgstr "Copier"
#~ msgid "Search"
#~ msgstr "Chercher"
#~ msgid "Selection mode"
#~ msgstr "Mode de séléction"
#~ msgid "Click on items to select them"
#~ msgstr "Cliquer sur des éléments pour les sélectionner"
#, fuzzy
#~ msgid "Old Password"
#~ msgstr "Ancien mot de passe"
#~ msgid "Appearance"
#~ msgstr "Apparence"
#~ msgid "Erase existing accounts"
#~ msgstr "Effacer les comptes existants"
#, fuzzy
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Mode de séléction"
#~ msgid "About"
#~ msgstr "A propos"
#~ msgid "Import"
#~ msgstr "Importer"
#~ msgid "GPG fingerprint"
#~ msgstr "Empreinte GPG"
#~ msgid "Public keys"
#~ msgstr "Clés publiques"
#~ msgid "Private keys"
#~ msgstr "Clé privée"
#~ msgid "GPG keys location"
#~ msgstr "Emplacement des clés GPG"
#, fuzzy
#~ msgid "Backup Password"
#~ msgstr "Changer le mot de passe"
#~ msgid "Next"
#~ msgstr "Suivant"
#~ msgctxt "shortcut window"
#~ msgid "Add a new application"
#~ msgstr "Ajouter une nouvelle application"
#~ msgctxt "shortcut window"
#~ msgid "Select next application"
#~ msgstr "Sélectionner l'application suivante"
#~ msgctxt "shortcut window"
#~ msgid "Select previous application"
#~ msgstr "Sélectionner l'application précédente"
#~ msgctxt "shortcut window"
#~ msgid "Selection mode"
#~ msgstr "Mode de sélection"
#~ msgid ""
#~ "This program comes with absolutely no warranty. See the <a href=\"http://"
#~ "www.gnu.org/licenses/gpl-3.0.html\">GNU General Public License, version 3 "
#~ "or later</a> for details."
#~ msgstr ""
#~ "Ce programme est fourni sans aucune garantie. Pour plus de détails, "
#~ "visitez <a href=\"http://www.gnu.org/licenses/gpl-3.0.html\">Licence "
#~ "publique générale limitée GNU, version 2.1 ou ultérieure</a>."
#~ msgid "Do you really want to remove selected applications?"
#~ msgstr "Vouliez-vous vraiment supprimer les applications sélectionnées ?"
#~ msgid "Enter your password"
#~ msgstr "Entrez votre mot de passe"
#~ msgid "Remove selected applications"
#~ msgstr "Supprimer les applications sélectionnées"
#~ msgid "Do you really want to remove the application?"
#~ msgstr "Voulez vous vraiment supprimer cet application ?"
#~ msgid "Apply"
#~ msgstr "Appliquer"
#~ msgid "Select an application"
#~ msgstr "Choisir une application"
#~ msgid "Password protection"
#~ msgstr "Mot de passe de protection"
#~ msgid "Auto-lock the application (m):"
#~ msgstr "Auto-verrouillage de l'application (m) :"
#~ msgid "Secret code generation time (s) :"
#~ msgstr "Temps de génération du code secret (s) :"
#~ msgid "Copy the generated code"
#~ msgstr "Copier le mot de passe généré"
#~ msgid "Expires in %s seconds"
#~ msgstr "Expires dans %s secondes"
#~ msgid "Error during the generation of code"
#~ msgstr "Erreur durant la génération du code secret"
#~ msgid "Add an application"
#~ msgstr "Ajouter une application"
#~ msgid "Application Name"
#~ msgstr "Nom d'application"

368
po/hu.po Normal file
View file

@ -0,0 +1,368 @@
# Hungarian translation for authenticator.
# Copyright (C) 2019 Free Software Foundation, Inc.
# This file is distributed under the same license as the authenticator package.
#
# Balázs Úr <ur.balazs at fsf dot hu>, 2019.
msgid ""
msgstr ""
"Project-Id-Version: authenticator master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n"
"POT-Creation-Date: 2019-07-02 16:11+0000\n"
"PO-Revision-Date: 2019-08-24 23:07+0200\n"
"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n"
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
"Language: hu\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: Lokalize 18.12.3\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:36
msgid "Authenticator"
msgstr "Hitelesítő"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#: data/resources/gtk/ui/about_dialog.ui.in:10
#| msgid "Two-factor authentication"
msgid "A Two-Factor Authentication application"
msgstr "Egy kétlépcsős hitelesítő alkalmazás"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Egyszerű alkalmazása a GNOME asztali környezethez, amely kétlépcsős "
"hitelesítő kódot állít elő."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11
msgid "Features:"
msgstr "Funkciók:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "QR code scanner"
msgstr "QR-kód beolvasó"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Beautiful UI"
msgstr "Gyönyörű felhasználói felület"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
msgid "Huge database of more than 560 supported services"
msgstr "Hatalmas adatbázis több mint 560 támogatott szolgáltatással"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr ""
"Tartsa a PIN tokenjeit biztonságban és zárolja az alkalmazást jelszóval"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "Automatically fetch an image for services using their favicon"
msgstr ""
"Kép automatikus lekérése a szolgáltatásokhoz a böngészőikonjuk használatával"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18
msgid "The possibility to add new services"
msgstr "A lehetőség új szolgáltatások hozzáadásához"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19
msgid "Dark theme and night light"
msgstr "Sötét téma és nappali fény"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25
msgid "Main Window - empty state"
msgstr "Főablak üres állapot"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29
#: data/resources/gtk/ui/account_add.ui:15
msgid "Add a new account"
msgstr "Új fiók hozzáadása"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33
msgid "Main Window - Accounts List"
msgstr "Főablak Fiókok listája"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid "Settings Window"
msgstr "Beállítások ablak"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
#| msgid "Two-factor authentication"
msgid "Two-factor Authentication"
msgstr "Kétlépcsős hitelesítés"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;"
msgstr "GNOME;GTK;Ellenőrzés;2FA;Hitelesítés;Kétlépcsős;"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Alapértelmezett ablakhelyzet"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: data/resources/gtk/ui/settings.ui.in:28
msgid "Dark Theme"
msgstr "Sötét téma"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: data/resources/gtk/ui/settings.ui.in:29
#: data/resources/gtk/ui/settings.ui.in:76
msgid "Whether the application should use a dark theme."
msgstr "Az alkalmazás használjon-e sötét témát."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: data/resources/gtk/ui/settings.ui.in:83
msgid "Auto lock timeout"
msgstr "Automatikus zárolás időtúllépése"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
msgid "Lock the application on idle after X minutes"
msgstr "Az alkalmazás zárolása X perc tétlenség után"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
#: data/resources/gtk/ui/settings.ui.in:43
msgid "Night Light"
msgstr "Nappali fény"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22
#: data/resources/gtk/ui/settings.ui.in:44
#: data/resources/gtk/ui/settings.ui.in:84
msgid "Automatically enable dark mode at night."
msgstr "Sötét mód automatikus engedélyezése éjszaka."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
msgid "Default window maximized behaviour"
msgstr "Alapértelmezett ablak maximalizált viselkedés"
#: data/resources/gtk/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Úr Balázs <ur.balazs@fsf.hu>, 2018, 2019."
#: data/resources/gtk/ui/account_add.ui:33
msgid "Add"
msgstr "Hozzáadás"
#: data/resources/gtk/ui/account_add.ui:53
msgid "Scan QR Code"
msgstr "QR-kód beolvasása"
#: data/resources/gtk/ui/account_config.ui:56
msgid "Account Name"
msgstr "Fiók neve"
#: data/resources/gtk/ui/account_config.ui:78
msgid "Provider"
msgstr "Szolgáltató"
#: data/resources/gtk/ui/account_config.ui:95
#: data/resources/gtk/ui/account_config.ui:96
msgid "Enable 2FA for this account"
msgstr "2FA engedélyezése ehhez a fiókhoz"
#: data/resources/gtk/ui/account_config.ui:97
msgid "2FA Token"
msgstr "2FA token"
#: data/resources/gtk/ui/account_config.ui:111
msgid "Provider Website"
msgstr "Szolgáltató weboldala"
#: data/resources/gtk/ui/account_edit.ui:31
msgid "Save"
msgstr "Mentés"
#: data/resources/gtk/ui/account_row.ui:22
msgid "Edit"
msgstr "Szerkesztés"
#: data/resources/gtk/ui/account_row.ui:40
msgid "Delete"
msgstr "Törlés"
#: data/resources/gtk/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "PIN-kód másolása a vágólapra"
#: data/resources/gtk/ui/password_widget.ui:46
msgid "Current Password:"
msgstr "Jelenlegi jelszó:"
#: data/resources/gtk/ui/password_widget.ui:91
msgid "New Password:"
msgstr "Új jelszó:"
#: data/resources/gtk/ui/password_widget.ui:136
msgid "Confirm New Password:"
msgstr "Új jelszó megerősítése:"
#: data/resources/gtk/ui/password_widget.ui:184
#: src/Authenticator/widgets/settings.py:174
msgid "Change Password"
msgstr "Jelszó megváltoztatása"
#: data/resources/gtk/ui/password_widget.ui:205
msgid "Delete Password"
msgstr "Jelszó törlése"
#: data/resources/gtk/ui/settings.ui.in:24
msgid "Appearance"
msgstr "Megjelenés"
#: data/resources/gtk/ui/settings.ui.in:75
#: src/Authenticator/application.py.in:106
msgid "Lock the application"
msgstr "Az alkalmazás zárolása"
#: data/resources/gtk/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Általános"
#: data/resources/gtk/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Gyorsbillentyűk megjelenítése"
#: data/resources/gtk/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Beállítások"
#: data/resources/gtk/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Kilépés"
#: data/resources/gtk/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Fiókok"
#: data/resources/gtk/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Hozzáadás"
#: data/resources/gtk/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Keresés"
#: data/resources/gtk/ui/window.ui.in:189
msgid "There are no accounts yet…"
msgstr "Még nincsenek fiókok…"
#: data/resources/gtk/ui/window.ui.in:218
msgid "Add a new account from the menu"
msgstr "Új fiók hozzáadása a menüből"
#: data/resources/gtk/ui/window.ui.in:234
msgid "Scan a QR Code"
msgstr "QR-kód beolvasása"
#: data/resources/gtk/ui/window.ui.in:366
msgid "No results found"
msgstr "Nincsenek találatok"
#: data/resources/gtk/ui/window.ui.in:429
msgid "Authenticator is locked"
msgstr "A Hitelesítő zárolva van"
#: data/resources/gtk/ui/window.ui.in:468
msgid "Unlock"
msgstr "Feloldás"
#: src/authenticator.py.in:49
msgid "Start in debug mode"
msgstr "Indítás hibakeresési módban"
#: src/Authenticator/application.py.in:114
msgid "from a plain-text JSON file"
msgstr "egyszerű szöveges JSON-fájlból"
#: src/Authenticator/application.py.in:115
msgid "in a plain-text JSON file"
msgstr "egyszerű szöveges JSON-fájlba"
#: src/Authenticator/application.py.in:117
msgid "Restore"
msgstr "Visszaállítás"
#: src/Authenticator/application.py.in:118
msgid "Backup"
msgstr "Biztonsági mentés"
#. Night mode action
#: src/Authenticator/application.py.in:126
msgid "Preferences"
msgstr "Beállítások"
#: src/Authenticator/application.py.in:127
msgid "Donate"
msgstr "Adományozás"
#: src/Authenticator/application.py.in:128
msgid "Keyboard Shortcuts"
msgstr "Gyorsbillentyűk"
#: src/Authenticator/application.py.in:129
msgid "About Authenticator"
msgstr "A Hitelesítő névjegye"
#: src/Authenticator/models/account.py:84
msgid "Default"
msgstr "Alapértelmezett"
#: src/Authenticator/widgets/accounts/add.py:247
msgid "Invalid QR code"
msgstr "Érvénytelen QR-kód"
#: src/Authenticator/widgets/accounts/list.py:152
msgid "The One-Time Passwords expire in {} seconds"
msgstr "Az egyszer használatos jelszavak {} másodperc múlva lejárnak"
#: src/Authenticator/widgets/accounts/row.py:90
msgid "Couldn't generate the secret code"
msgstr "Nem sikerült előállítani a titkos kódot"
#: src/Authenticator/widgets/accounts/row.py:100
msgid "The PIN of {} was copied to the clipboard"
msgstr "A(z) {} PIN-kódja a vágólapra lett másolva"
#: src/Authenticator/widgets/accounts/row.py:141
msgid "The account was updated successfully"
msgstr "A fiók sikeresen frissítve lett"
#: src/Authenticator/widgets/notification.py:53
#: src/Authenticator/widgets/notification.py:84
msgid "Undo"
msgstr "Visszavonás"
#: src/Authenticator/widgets/notification.py:79
msgid "Close the notification"
msgstr "Az értesítés bezárása"
#: src/Authenticator/widgets/settings.py:170
msgid "Save Password"
msgstr "Jelszó mentése"
#: src/Authenticator/widgets/settings.py:222
msgid "Do you want to remove the authentication password?"
msgstr "El szeretné távolítani a hitelesítési jelszót?"
#: src/Authenticator/widgets/settings.py:223
msgid "Authentication password enforces the privacy of your accounts."
msgstr "A hitelesítési jelszó megerősíti a fiókjai védelmét."
#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31
msgid "JSON files"
msgstr "JSON-fájlok"

675
po/id.po Normal file
View file

@ -0,0 +1,675 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-03-16 10:02+0000\n"
"Last-Translator: yusuf afandi <afandi.yusuf.04@gmail.com>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/authenticator/"
"translation/id/>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.6-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "AutentiksiDuaFaktor"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#, fuzzy
msgid "Two-factor authentication code generator"
msgstr "Pembuat kode autentikasi dua faktor."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
#, fuzzy
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Aplikasi sederhana untuk menghasilkan kode autentifikasi 2 faktor, dibuat "
"untuk Gnome"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Fitur:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "Pembaca QR code"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Kunci aplikasi"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
#, fuzzy
msgid "Rename project to Authenticator"
msgstr "Tentang Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
#, fuzzy
msgid "Remove unneeded features"
msgstr "Hapus akun terpilih"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
#, fuzzy
msgid "Two-factor authentication"
msgstr "Autentikasi Dua Faktor"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Verifikasi;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
msgid "Dark Theme"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
msgid "Whether the application should use a dark theme."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr ""
#: data/ui/about_dialog.ui.in:10
#, fuzzy
msgid "Two-factor authentication code generator."
msgstr "Pembuat kode autentikasi dua faktor."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "kredit-penerjemah"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Tambah akun baru"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Tutup"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Tambah"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Pindai kode QR"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Nama Akun"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr ""
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr ""
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr ""
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Hapus"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Ulangan kata sandi baru"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Kata sandi baru"
#: data/ui/password_widget.ui:135
#, fuzzy
msgid "Confirm New Password:"
msgstr "Kata sandi baru"
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Kata sandi lama"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Ulangan kata sandi baru"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr ""
#: data/ui/settings.ui.in:95
#, fuzzy
msgid "Behaviour"
msgstr "Kebiasaan"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Umum"
#: data/ui/shortcuts.ui:17
#, fuzzy
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Jalan pintas"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr ""
#: data/ui/shortcuts.ui:31
#, fuzzy
msgctxt "shortcut window"
msgid "Quit"
msgstr "Keluar"
#: data/ui/shortcuts.ui:40
#, fuzzy
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Akun"
#: data/ui/shortcuts.ui:44
#, fuzzy
msgctxt "shortcut window"
msgid "Add"
msgstr "Tambah"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Cari"
#: data/ui/window.ui.in:182
#, fuzzy
msgid "There are no accounts yet…"
msgstr "Tidak ada akun saat ini..."
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Tambah akun baru"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Pindai kode QR"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "AutentiksiDuaFaktor"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Buka Kunci"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Mulai dengan mode debud"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Nomor versi Authenticator"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
#, fuzzy
msgid "Lock the application"
msgstr "Kunci aplikasi"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr ""
#: src/Authenticator/application.py.in:104
#, fuzzy
msgid "Backup"
msgstr "Kembali"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr ""
#: src/Authenticator/application.py.in:114
#, fuzzy
msgid "Keyboard Shortcuts"
msgstr "Jalan pintas"
#: src/Authenticator/application.py.in:115
#, fuzzy
msgid "About Authenticator"
msgstr "AutentiksiDuaFaktor"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr ""
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Kode QR tidak valid"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Tidak dapat menghasilkan kode rahasia"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Kunci aplikasi"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Undo"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "Kunci aplikasi"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "AutentiksiDuaFaktor"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "AutentiksiDuaFaktor"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "AutentiksiDuaFaktor"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Kata sandi lama"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr ""
#, fuzzy
#~ msgid "Night mode"
#~ msgstr "Mode Malam"
#~ msgid "Settings"
#~ msgstr "Pengaturan"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "AutentiksiDuaFaktor"
#~ msgid "Cancel"
#~ msgstr "Batal"
#, fuzzy
#~ msgid "Select"
#~ msgstr "Mode seleksi"
#, fuzzy
#~ msgid "Secret token"
#~ msgstr "Token Rahasia"
#~ msgid "Copy"
#~ msgstr "Salin"
#~ msgid "Search"
#~ msgstr "Cari"
#~ msgid "Selection mode"
#~ msgstr "Mode seleksi"
#~ msgid "Click on items to select them"
#~ msgstr "Klik pada item untuk menyeleksinya"
#, fuzzy
#~ msgid "Old Password"
#~ msgstr "Kata sandi lama"
#, fuzzy
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Mode seleksi"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "AutentiksiDuaFaktor"
#~ msgid "About"
#~ msgstr "Tentang"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#, fuzzy
#~ msgid "Backup Password"
#~ msgstr "Ganti kata sandi"
#~ msgid "Next"
#~ msgstr "Selanjutnya"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "Pembuat kode Autentikasi Dua Faktor"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "Pembuat kode Autentikasi Dua Faktor"
#~ msgctxt "shortcut window"
#~ msgid "Add a new account"
#~ msgstr "Tambah akun baru"
#~ msgctxt "shortcut window"
#~ msgid "Selection mode"
#~ msgstr "Mode seleksi"
#~ msgctxt "shortcut window"
#~ msgid "Account list"
#~ msgstr "Daftar akun"
#~ msgctxt "shortcut window"
#~ msgid "Select next/previous account"
#~ msgstr "Pilih akun selanjutnya/sebelumnya"
#~ msgctxt "shortcut window"
#~ msgid "Add Account"
#~ msgstr "Tambah Akun"
#~ msgid ""
#~ "This program comes with absolutely no warranty. See the <a href=\"http://"
#~ "www.gnu.org/licenses/gpl-3.0.html\">GNU General Public License, version 3 "
#~ "or later</a> for details."
#~ msgstr ""
#~ "Tidak ada jaminan apapun dalam program ini. Lihat <a href=\"http://www."
#~ "gnu.org/licenses/gpl-3.0.html\">GNU General Public License, vesi 3 ke "
#~ "atas</a> untuk lebih jelasnya."
#~ msgid "Github"
#~ msgstr "Github"
#~ msgid "Lock the Application"
#~ msgstr "Kunci Aplikasi"
#~ msgid "Apply"
#~ msgstr "Terapkan"
#~ msgid "Select an application"
#~ msgstr "Pilih aplikasi"
#~ msgid "Enter your password"
#~ msgstr "Masukkan kata sandi anda"
#~ msgid "Remove the account"
#~ msgstr "Hapus akun"
#~ msgid "Copy the generated code"
#~ msgstr "Salin kode yang dihasilkan"
#~ msgid "Edit the account"
#~ msgstr "Sunting akun"
#~ msgid "Save the new account name"
#~ msgstr "Simpan nama akun baru"
#~ msgid "Expires in %s seconds"
#~ msgstr "Kadaluarsa dalam %s detik"
#~ msgid "Error during the generation of code"
#~ msgstr "Galat ketika menghasilkan kode"
#~ msgid "Do you really want to remove \"%s\"?"
#~ msgstr "Kamu benar-benar ingin menghapus \"%s\"?"
#~ msgid "Password protection"
#~ msgstr "Proteksi kata sandi"
#~ msgid "Auto-lock the application (m):"
#~ msgstr "Kunci-otomatis aplikasi (m):"

622
po/it.po Normal file
View file

@ -0,0 +1,622 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-02-28 20:17+0000\n"
"Last-Translator: albanobattistella <albano_battistella@hotmail.com>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/authenticator/"
"translation/it/>\n"
"Language: it\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.5-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Generatore di codice di autenticazione a due fattori"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Semplice applicazione che genera un codice di autenticazione a due fattori, "
"creato per GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Caratteristiche:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "Scanner di codici QR"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Bella interfaccia utente"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Bloccare l'applicazione con una password"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr "Backup e ripristino da un file JSON di base"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr "Backup e ripristino da un file JSON GPG crittografato"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr "Aggiungi e supporto OTP (applicazione Android 2FA gratuita e aperta)"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
"Nuove Impostazioni con 3 sezioni: l'aspetto, il comportamento e il backup"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr "Ripara flatpak costruito con l'ultimo GNOME Runtime"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr "Spostare il progetto nel gruppo GOME Gitlab's World group"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr "GNOME Shell ricerca provider"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr "I codici scadono simultaneamente #91"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
"Rinnovato la finestra principale per seguire più da vicino il GNOME HIG"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
"Rinnova e aggiungi una nuova finestra di account per renderlo più facile da "
"usare"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
"Possibilità di aggiungere un account da un provider non elencato nel "
"database spedito"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr "Possibilità di modificare un account"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr "One Time Password ora visibile per impostazione predefinita"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr "Ripara python-dbus utilizzando GDbus"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "Ripara la scansione Codice QR su GNOME Shell"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr "Aggiungere una nuova voce per il nome utente dell'account"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "Aggiornato il database di account supportati"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr "HOTFIX: App non funziona in DE diverse da GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
#, fuzzy
msgid "Rename project to Authenticator"
msgstr "Rinominare il progetto in Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr "Pulisci codice di base"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr "Avvio più veloce"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr "Rimuovere funzionalità non necessarie"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr "Passare a pyzbar invece di zbarlight"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr "Pacchetto Flatpak"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "Autenticazione a due fattori"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "GNOME; GTK; Verifica;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid @"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Posizione della finestra predefinita"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Tema scuro"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "Se l'applicazione può essere bloccata o non"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "La finestra predefinita massimizza il comportamento della finestra"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Generatore di codice di autenticazione a due fattori."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Traduttore-crediti"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "aggiungi un nuovo account"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Chiudi"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Aggiungi"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Scansiona il codice QR"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Nome account"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Provider"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Salva"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Modifica"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Elimina"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Copia PIN negli appunti"
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Ripetere la Password"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Password"
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Password"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Ripetere la Password"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Preferenze"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Comportamento"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Generale"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Mostra scorciatoie"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferenze"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Esci"
#: data/ui/shortcuts.ui:40
#, fuzzy
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Accounts"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Aggiungi"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Cerca"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Non ci sono ancora account …"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "aggiungi un nuovo account"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Scansiona il codice QR"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "Autenticatore è bloccato"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Sblocca"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Avviare in modalità debug"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Numero di versione di Authenticator"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Blocca l'applicazione"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "da un file di testo JSON"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "in un file di testo JSON"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Ripristina"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Backup"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Donazioni"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "Tasti rapidi"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "Informazioni su Authenticator"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Impostazione predefinita"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Codice QR non valido"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "Le One-time password scade in {} secondi"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Non sono riuscito a generare il codice segreto"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Blocca l'applicazione"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Annulla"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "Bloccare l'applicazione con una password"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Password di autenticazione"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Password di autenticazione"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Password di autenticazione"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Password"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "File JSON"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Enorme database di siti Web/applicazioni (290 +)"
#~ msgid "Night mode"
#~ msgstr "Modalità notte"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "abilita / disabilita la modalità di notte nell'applicazione"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Utilizzare un tema scuro, se possibile"
#~ msgid "Keep your accounts safer "
#~ msgstr "Mantieni il tuo account più sicuro "
#~ msgid "Settings"
#~ msgstr "Impostazioni"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "Password di autenticazione"
#~ msgid "Edit {} - {}"
#~ msgstr "Modifica {} - {}"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr ""
#~ "La password di autenticazione è stata disattivata. Riavviare "
#~ "l'applicazione"
#~ msgid ""
#~ "Authentication password is now enabled. Please restart the application."
#~ msgstr ""
#~ "La password di autenticazione è ora abilitata. Riavviare l'applicazione."
#~ msgid "Open"
#~ msgstr "apri"
#~ msgid "Cancel"
#~ msgstr "Cancella"
#~ msgid "Select"
#~ msgstr "Seleziona"
#~ msgid "Secret token"
#~ msgstr "Token d'accesso"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr ""
#~ "La libreria Zbar non e' stata trovata. QRCode scanner verrà disabilitato"
#~ msgid "Copy"
#~ msgstr "Copia"
#~ msgid "Search"
#~ msgstr "Cerca"
#~ msgid "Selection mode"
#~ msgstr "Modalità di selezione"
#~ msgid "Click on items to select them"
#~ msgstr "Clicca sulle voci per selezionarle"
#~ msgid "Old Password"
#~ msgstr "Vecchia Password"
#~ msgid "Appearance"
#~ msgstr "Aspetto"
#~ msgid "Erase existing accounts"
#~ msgstr "Cancellare account esistenti"
#~ msgid "Set up application authentication password"
#~ msgstr "Impostare la password di autenticazione dell'applicazione"
#~ msgid "The application needs to be restarted first."
#~ msgstr "L'applicazione necessita di essere riavviata."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "Gli account esistenti verranno cancellati in 5 secondi"
#~ msgid "An account or more were removed."
#~ msgstr "Un account o più sono stati rimossi."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Se l'applicazione è bloccata con una password o non"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Seleziona"

602
po/ko.po Normal file
View file

@ -0,0 +1,602 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-01-01 10:42+0000\n"
"Last-Translator: Minori Hiraoka (미노리) <minori@mnetwork.co.kr>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/authenticator/"
"translation/ko/>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.4-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "인증기"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "2차 인증 코드 생성기"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr "GNOME을 위해 만들어진 2차 인증 코드를 생성하는 간단한 애플리케이션."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "기능:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "QR 코드 스캐너"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "아름다운 UI"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "애플리케이션을 암호로 잠글 수 있는 가능성"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
#, fuzzy
msgid "Rename project to Authenticator"
msgstr "인증기에 대하여"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
#, fuzzy
msgid "Cleaner code base"
msgstr "데이터베이스 지우기"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "2차 인증"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;인증;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "기본 창 위치"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "어두운 테마"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "애플리케이션 암호 설정 가능 여부"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "기본 창 최대화 행동"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "2차 인증 비밀번호 생성기."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Minori Hiraoka <minori@mnetwork.co.kr>"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "새로운 계정 추가"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "닫기"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "추가"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "QR 코드 스캔"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "계정 이름"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "제공자"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "저장"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "편집"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "삭제"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "암호 확인"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "암호"
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "암호"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "암호 확인"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "설정"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "동작"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "일반"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "단축키 보이기"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "설정"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "종료"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "계정"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "추가"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "검색"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "아직 계정이 없습니다…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "새로운 계정 추가"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "QR 코드 스캔"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "인증기"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr ""
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "디버그 모드로 시작"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "인증기 버전"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "애플리케이션을 잠그기"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "JSON 파일에서 가져오기"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "JSON 파일로 내보내기"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "복원"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "백업"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "기부"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "키보드 단축키"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "인증기에 대하여"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "기본값"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "올바르지 않은 QR 코드"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "일회용 비밀번호가 {} 초 후에 만료됩니다"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "비밀 코드를 생성할 수 없었습니다"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "애플리케이션을 잠그기"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "되돌리기"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "애플리케이션을 암호로 잠글 수 있는 가능성"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "인증 암호"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "인증 암호"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "인증 암호"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "암호"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "JSON 파일"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "290개 이상의 웹 사이트/애플리케이션을 지원"
#~ msgid "Night mode"
#~ msgstr "야간 모드"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "애플리케이션 안에서 야간 모드를 활성화/비활성화"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "가능하다면 어두운 테마를 사용합니다"
#~ msgid "Settings"
#~ msgstr "설정"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "인증 암호"
#~ msgid "Edit {} - {}"
#~ msgstr "{} - {} 편집"
#~ msgid "Open"
#~ msgstr "열기"
#~ msgid "Cancel"
#~ msgstr "취소"
#~ msgid "Select"
#~ msgstr "선택"
#~ msgid "Secret token"
#~ msgstr "비밀 토큰"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr ""
#~ "설치된 zbar 라이브러리가 발견되지 않았습니다. QR 코드 스캐너가 비활성화 됩"
#~ "니다"
#~ msgid "Copy"
#~ msgstr "복사"
#~ msgid "Search"
#~ msgstr "검색"
#~ msgid "Selection mode"
#~ msgstr "선택 모드"
#~ msgid "Click on items to select them"
#~ msgstr "항목을 눌러 선택하세요"
#~ msgid "Old Password"
#~ msgstr "기존 암호"
#~ msgid "Appearance"
#~ msgstr "표시 형식"
#~ msgid "Erase existing accounts"
#~ msgstr "존재하는 계정 삭제"
#~ msgid "Set up application authentication password"
#~ msgstr "애플리케이션 인증 암호 설정"
#~ msgid "The application needs to be restarted first."
#~ msgstr "애플리케이션이 우선 다시 시작 되어야 합니다."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "존재하는 계정들이 5초 후에 삭제됩니다"
#~ msgid "An account or more were removed."
#~ msgstr "한개 혹은 여러개의 계정이 제거되었습니다."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "애플리케이션 암호 설정 여부"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "선택"

1
po/meson.build Normal file
View file

@ -0,0 +1 @@
i18n.gettext('authenticator', preset: 'glib')

751
po/nb.po Normal file
View file

@ -0,0 +1,751 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-02-13 11:09+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
"authenticator/translation/nb_NO/>\n"
"Language: nb_NO\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.5-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Kodegenerator for to-faktorbekreftelse"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Enkelt program som genererer to-faktorbekreftelseskoder, laget for GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Funksjoner:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "QR-kodeskanner"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Vakkert grensesnitt"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Mulighet for å låse programmet med et passord"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
#, fuzzy
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
"Siden jeg har flyttet programmet til GNOME sin GitLab-verdensgruppe, finnes "
"et Flatpak-bygg tilgjengelig for hver nye innsendelse tilgjengelig for "
"nedlasting fra sidens nettside."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr "Sikkerhetskopier og gjenopprett fra grunnleggende JSON-fil"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
#, fuzzy
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr "Sikkerhetskopier og gjenopprett fra en GPG-kryptert JSON-fil"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
#, fuzzy
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr "Legg til andOTP-støtte (fritt og åpent Android 2FA-program)"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
#, fuzzy
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
"Nytt tredelt innstillingsvindu: Utseende, oppførsel og sikkerhetskopiering"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
#, fuzzy
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr "Fiks Flatpak-bygg med siste GNOME-kjørerutine"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
#, fuzzy
msgid "Move the project to GOME Gitlab's World group"
msgstr "Flytting av prosjektet til GNOME sin GitLab-verdensgruppe"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr "GNOME-skallsøktilbyder"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr "Koder utløper samtidig #91"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
#, fuzzy
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
"Omorganisering av hovedvinduet for bedre overensstemmelse med GNOME HIG"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr "Omorganisering av vindu for tillegg av konto for enklere bruk"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
#, fuzzy
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
"Mulighet for å legge til en konto fra en tilbyder som ikke er opplistet i "
"innebygd database"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr "Mulighet til å redigere en konto"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
#, fuzzy
msgid "One Time Password now visible by default"
msgstr "Engangspassord er nå synlige som forvalg"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr "Fiks python-dbus ved å bruke GDbus istedenfor"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "Fiks for QR-skanneren i GNOME-skallet"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr "Tillegg av ny oppføring for kontoens brukernavn"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "Database for støttede kontoer oppdatert"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr "RASKFISK: Programmet kjørte ikke i andre grensesnitt enn GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr "Nytt navn: Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr "Renere kodebase"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr "Raskere oppstart"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr "Fjerning av unødvendige funksjoner"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr "Bytte til pyzbar istedenfor zbarlight"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr "Flatpak-pakke"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "To-faktorbekreftelse"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Verifisering;Bekreftelse;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Forvalgt vindusposisjon"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Mørk drakt"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "Hvorvidt programmet kan låses eller ei"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "Forvalgt oppførsel for oppblåste vinduer"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Kodegenerator for to-faktorbekreftelse."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Allan Nordhøy <epost@anotheragency.no>"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Legg til ny konto"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Lukk"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Legg til"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Skann QR-kode"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Kontonavn"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Tilbyder"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Lagre"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Rediger"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Slett"
#: data/ui/account_row.ui:97
#, fuzzy
msgid "Copy PIN to clipboard"
msgstr "Koden \"%s\" ble kopiert til utklippstavlen"
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Gjenta passord"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Nytt passord"
#: data/ui/password_widget.ui:135
#, fuzzy
msgid "Confirm New Password:"
msgstr "Nytt passord"
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Passord"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Gjenta passord"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Innstillinger"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Oppførsel"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Generelt"
#: data/ui/shortcuts.ui:17
#, fuzzy
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Snarveier"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Innstillinger"
#: data/ui/shortcuts.ui:31
#, fuzzy
msgctxt "shortcut window"
msgid "Quit"
msgstr "Avslutt"
#: data/ui/shortcuts.ui:40
#, fuzzy
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Konto"
#: data/ui/shortcuts.ui:44
#, fuzzy
msgctxt "shortcut window"
msgid "Add"
msgstr "Legg til"
#: data/ui/shortcuts.ui:51
#, fuzzy
msgctxt "shortcut window"
msgid "Search"
msgstr "Søk"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Ingen kontoer enda…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Legg til ny konto"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Skann QR-kode"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "Authenticator"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Lås opp"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Start i feilrettingsmodus"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Versjonsnummer for Authenticator"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Lås programmet"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "fra en JSON-fil i klartekst"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "i en JSON-fil i klartekst"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Gjenopprett"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Sikkerhetskopier"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Doner"
#: src/Authenticator/application.py.in:114
#, fuzzy
msgid "Keyboard Shortcuts"
msgstr "Snarveier"
#: src/Authenticator/application.py.in:115
#, fuzzy
msgid "About Authenticator"
msgstr "Authenticator"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Forvalg"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Ugyldig QR-kode"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "Engangspassordet utløper om {} sekunder"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Kunne ikke generere hemmelig kode"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Skjul merknad"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Angre"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "Mulighet for å låse programmet med et passord"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Autentiserings passord"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Autentiserings passord"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Autentiserings passord"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Passord"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "JSON-filer"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Stor database med (290+) nettsider/programmer"
#~ msgid "Night mode"
#~ msgstr "Nattmodus"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Skru på/av nattmodus fra programmet"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Bruk mørk drakt, hvis mulig"
#, fuzzy
#~ msgid "Keep your accounts safer "
#~ msgstr "Gjør kontoene dine tryggere "
#~ msgid "Settings"
#~ msgstr "Innstillinger"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "Autentiserings passord"
#~ msgid "Edit {} - {}"
#~ msgstr "Rediger {} - {}"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr ""
#~ "Identitetsbekreftelsespassordet ble slettet. Start programmet på nytt."
#~ msgid ""
#~ "Authentication password is now enabled. Please restart the application."
#~ msgstr ""
#~ "Identitetsbekreftelsespassordet er påslått. Start programmet på nytt."
#~ msgid "Open"
#~ msgstr "Åpne"
#~ msgid "Cancel"
#~ msgstr "Avbryt"
#~ msgid "Select"
#~ msgstr "Velg"
#~ msgid "Secret token"
#~ msgstr "Hemmelig symbol"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr "zbar-bibliotek ble ikke funnet. QRkodeskanneren vil skrus av"
#~ msgid "Copy"
#~ msgstr "Kopier"
#~ msgid "Search"
#~ msgstr "Søk"
#~ msgid "Selection mode"
#~ msgstr "Utvelgelsesmodus"
#~ msgid "Click on items to select them"
#~ msgstr "Klikk på elementene for å velge dem"
#~ msgid "Old Password"
#~ msgstr "Gammelt passord"
#~ msgid "Appearance"
#~ msgstr "Utseende"
#~ msgid "Clear the database"
#~ msgstr "Tøm databasen"
#~ msgid "Erase existing accounts"
#~ msgstr "Slett eksisterende kontoer"
#~ msgid "Set up application authentication password"
#~ msgstr "Sett opp identitetbekreftelsespassord for programmet"
#~ msgid "The application needs to be restarted first."
#~ msgstr "Programmet må startes på nytt først."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "Eksisterende kontoer vil bli slettet om 5 sekunder"
#~ msgid "An account or more were removed."
#~ msgstr "Én eller flere kontoer ble fjernet."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Hvorvidt programmet låses med et passord eller ei"
#, fuzzy
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Velg"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Authenticator"
#~ msgid "from an OpenPGP-encrypted JSON file"
#~ msgstr "fra en OpenPGP-kryptert JSON-fil"
#~ msgid "in an OpenPGP-encrypted JSON file"
#~ msgstr "i en OpenPGP-kryptert JSON-fil"
#~ msgid "About"
#~ msgstr "Om"
#~ msgid "GPG paraphrase"
#~ msgstr "GPG-passord"
#~ msgid "Import"
#~ msgstr "Importer"
#~ msgid "Paraphrase"
#~ msgstr "Passord"
#~ msgid "There was an error during the import of the encrypted file."
#~ msgstr "Feil under importering av kryptert fil."
#~ msgid "GPG fingerprint"
#~ msgstr "GPG-fingeravtrykk"
#~ msgid "Public keys"
#~ msgstr "Offentlige nøkler"
#~ msgid "Private keys"
#~ msgstr "Private nøkler"
#~ msgid "GPG keys location"
#~ msgstr "Mappe for GPG-nøkler"
#~ msgid "Encrypted GPG files"
#~ msgstr "Krypterte GPG-filer"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#, fuzzy
#~ msgid "Backup Password"
#~ msgstr "Endre passord"
#~ msgid "Next"
#~ msgstr "Neste"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "Kodegenerator for to-faktorbekreftelse"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "Kodegenerator for to-faktorbekreftelse"
#~ msgid "TwoFactorAuth"
#~ msgstr "To-faktorbekreftelse"
#~ msgid "Remove the account"
#~ msgstr "Fjern kontoen"
#~ msgid "Copy the generated code"
#~ msgstr "Kopier den genererte koden"
#~ msgid "Edit the account"
#~ msgstr "Rediger kontoen"
#~ msgid "Save the new account name"
#~ msgstr "Lagre det nye kontonavnet"
#~ msgid "Expires in %s seconds"
#~ msgstr "Utløper om %s sekunder"
#~ msgid "Error during the generation of code"
#~ msgstr "Feil under generering av kode"
#~ msgid "Do you really want to remove \"%s\"?"
#~ msgstr "Ønsker du virkelig å fjerne \"%s\"?"
#~ msgid "\"%s\" was removed"
#~ msgstr "\"%s\" ble fjernet"
#~ msgid "Selected area is not a valid QR code"
#~ msgstr "Valgt område er ikke en gyldig QR-kode"
#~ msgid "Select an application"
#~ msgstr "Velg et program"
#~ msgid "Apply"
#~ msgstr "Legg til"
#~ msgid "Enter your password"
#~ msgstr "Skriv inn passordet ditt"
#~ msgid "Password protection"
#~ msgstr "Passordbeskyttelse"
#~ msgid "Auto-lock the application (m):"
#~ msgstr "Automatisk låsning av programmet (m):"
#~ msgid "Gnome TwoFactorAuth"
#~ msgstr "Gnome to-faktorbekreftelse"
#~ msgid "About Gnome TwoFactorAuth"
#~ msgstr "Om Gnome to-faktorbekreftelse"
#~ msgid "Show about dialog"
#~ msgstr "Vis \"Om\"-dialogvindu"

747
po/nl.po Normal file
View file

@ -0,0 +1,747 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-02-13 11:09+0000\n"
"Last-Translator: Nathan Follens <nthn@unseen.is>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/authenticator/"
"translation/nl/>\n"
"Language: nl\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.5-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Code-generator voor authenticatie in twee stappen"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Eenvoudige toepassing voor het genereren van codes voor authenticatie in "
"twee stappen, gemaakt voor GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Functies:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "QR-codescanner"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Prachtige vormgeving"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Vergrendel de toepassing met een wachtwoord"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
"Sinds de verhuizing naar GNOME Gitlab's World-groep, is er op de website een "
"Flatpak-pakket beschikbaar voor elke nieuwe commit."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr "Back-up en herstel uit een basis-JSON-bestand"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr "Back-up en herstel uit een met GPG versleuteld JSON-bestand"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
"andOTP-ondersteuning toegevoegd (gratis en vrije Android-app voor "
"authenticatie in twee stappen)"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr "Nieuw instellingenvenster met 3 secties: uiterlijk, gedrag en back-up"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr "Flatpak-pakketten compatibel gemaakt met de nieuwste GNOME Runtime"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr "Project verplaatst naar GNOME Gitlab World-groep"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr "GNOME Shell-zoekdienst"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr "Codes vervallen tegelijkertijd #91"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr "Hoofdvenster opnieuw ontworpen om meer te voldoen aan de GNOME HIG"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
"Nieuw account-venster opnieuw ontworpen zodat het eenvoudig is geworden"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
"Mogelijkheid om een account toe te voegen van een dienst die niet in de "
"databank voorkomt"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr "Mogelijkheid om een account te bewerken"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr "Eenmalig wachtwoord is nu standaard zichtbaar"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr "python-dbus-probleem opgelost door GDbus te gebruiken"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "QR-codescanner gerepareerd bij gebruik in GNOME Shell"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr "Voeg een nieuw item toe voor de gebruikersnaam"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "Databank met ondersteunde accounts bijgewerkt"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr "BELANGRIJK: de app draait nu ook in andere werkomgevingen dan GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr "Projectnaam gewijzigd in Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr "Eenvoudigere broncode"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr "Snellere opstart"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr "Onnodige functies verwijderd"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr "Overgeschakeld van zbarlight naar pyzbar"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr "Flatpak-pakket"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "Authenticatie in twee stappen"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Verification;Verificatie;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Standaard vensterpositie"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Donker thema"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "Of de toepassing vergrendeld kan worden"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "Standaardgedrag van gemaximaliseerd venster"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Code-generator voor authenticatie in twee stappen."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Nathan Follens, Heimen Stoffels"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Nieuw account toevoegen"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Sluiten"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Toevoegen"
#: data/ui/account_add.ui:54
msgid "Scan QR Code"
msgstr "QR-code scannen"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Accountnaam"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Dienst"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Opslaan"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Bewerken"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Verwijderen"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Pincode kopiëren naar klembord"
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Herhaal wachtwoord"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Nieuw wachtwoord"
#: data/ui/password_widget.ui:135
#, fuzzy
msgid "Confirm New Password:"
msgstr "Nieuw wachtwoord"
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Wachtwoord"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Herhaal wachtwoord"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Voorkeuren"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Gedrag"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Algemeen"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Sneltoetsen tonen"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Voorkeuren"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Afsluiten"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Accounts"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Toevoegen"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Zoeken"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Je hebt nog geen accounts toegevoegd…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Nieuw account toevoegen"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "QR-code scannen"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
msgid "Authenticator is locked"
msgstr "Authenticator is vergreneld"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Ontgrendelen"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Starten in foutopsporingsmodus"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Versienummer van Authenticator"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Toepassing vergrendelen"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "uit een JSON-bestand met platte tekst"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "naar een JSON-bestand met platte tekst"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Herstellen"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Back-uppen"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Doneren"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "Over Authenticator"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Standaard"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Ongeldige QR-code"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "Het eenmalige wachtwoord verloopt over {} seconden"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Kan geen geheime sleutel genereren"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Toepassing vergrendelen"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Ongedaan maken"
#: src/Authenticator/widgets/settings.py:93
msgid "Lock the application with a password"
msgstr "Vergrendel de toepassing met een wachtwoord"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Authenticatiewachtwoord"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Authenticatiewachtwoord"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Authenticatiewachtwoord"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Wachtwoord"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "JSON-bestanden"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Enorme databank met (meer dan 290) websites/toepassingen"
#~ msgid "Night mode"
#~ msgstr "Nachtmodus"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Schakelt de nachtmodus in de toepassing in/uit"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Donker thema gebruiken, indien mogelijk"
#~ msgid "Keep your accounts safer "
#~ msgstr "Houd je accounts veilig "
#~ msgid "Settings"
#~ msgstr "Instellingen"
#~ msgid "Authenticator Password"
#~ msgstr "Authenticatiewachtwoord"
#~ msgid "Edit {} - {}"
#~ msgstr "{} - {} bewerken"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr "Authenticatiewachtwoord is niet ingesteld. Herstart de toepassing"
#~ msgid ""
#~ "Authentication password is now enabled. Please restart the application."
#~ msgstr "Authenticatiewachtwoord is ingeschakeld. Herstart de toepassing."
#~ msgid "Open"
#~ msgstr "Openen"
#~ msgid "Cancel"
#~ msgstr "Annuleren"
#~ msgid "Select"
#~ msgstr "Kiezen"
#~ msgid "Secret token"
#~ msgstr "Geheime toegangssleutel"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr ""
#~ "De zbar-bibliotheek kan niet worden gevonden; QR-codescanner is "
#~ "uitgeschakeld"
#~ msgid "Copy"
#~ msgstr "Kopiëren"
#~ msgid "Search"
#~ msgstr "Zoeken"
#~ msgid "Selection mode"
#~ msgstr "Selectiemodus"
#~ msgid "Click on items to select them"
#~ msgstr "Klik op items om ze te selecteren"
#~ msgid "Old Password"
#~ msgstr "Oud wachtwoord"
#~ msgid "Appearance"
#~ msgstr "Uiterlijk"
#~ msgid "Clear the database"
#~ msgstr "Databank wissen"
#~ msgid "Erase existing accounts"
#~ msgstr "Bestaande accounts wissen"
#~ msgid "Set up application authentication password"
#~ msgstr "Stel het authenticatiewachtwoord in"
#~ msgid "The application needs to be restarted first."
#~ msgstr "De applicatie moet worden herstart."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "De bestaande accounts worden over 5 seconden gewist"
#~ msgid "An account or more were removed."
#~ msgstr "Eén of meerdere accounts zijn verwijderd."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Of de toepassing moet worden vergrendeld met een wachtwoord"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Selecteren"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Authenticator"
#~ msgid "from an OpenPGP-encrypted JSON file"
#~ msgstr "uit een JSON-bestand met OpenPGP-versleuteling"
#~ msgid "in an OpenPGP-encrypted JSON file"
#~ msgstr "in een JSON-bestand met OpenPGP-versleuteling"
#~ msgid "About"
#~ msgstr "Over"
#~ msgid "GPG paraphrase"
#~ msgstr "GPG-wachtwoordzin"
#~ msgid "Import"
#~ msgstr "Importeren"
#~ msgid "Paraphrase"
#~ msgstr "Wachtwoordzin"
#~ msgid "There was an error during the import of the encrypted file."
#~ msgstr ""
#~ "Er is een fout opgetreden tijdens het importeren van het versleutelde "
#~ "bestand."
#~ msgid "GPG fingerprint"
#~ msgstr "GPG-vingerafdruk"
#~ msgid "Public keys"
#~ msgstr "Openbare sleutels"
#~ msgid "Private keys"
#~ msgstr "Privésleutels"
#~ msgid "GPG keys location"
#~ msgstr "Locatie van GPG-sleutels"
#~ msgid "Encrypted GPG files"
#~ msgstr "Versleutelde GPG-bestanden"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#~ msgid "Backup Password"
#~ msgstr "Wachtwoord back-uppen"
#~ msgid "Next"
#~ msgstr "Volgende"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "Code-generator voor authenticatie in twee stappen"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "Generator voor tweefactorauthenticatiecodes"
#~ msgctxt "shortcut window"
#~ msgid "Add a new account"
#~ msgstr "Nieuwe account toevoegen"
#~ msgctxt "shortcut window"
#~ msgid "Selection mode"
#~ msgstr "Selectiemodus"
#~ msgctxt "shortcut window"
#~ msgid "Account list"
#~ msgstr "Accountlijst"
#~ msgctxt "shortcut window"
#~ msgid "Select next/previous account"
#~ msgstr "Volgende/vorige account selecteren"
#~ msgctxt "shortcut window"
#~ msgid "Add Account"
#~ msgstr "Account toevoegen"
#~ msgid ""
#~ "This program comes with absolutely no warranty. See the <a href=\"http://"
#~ "www.gnu.org/licenses/gpl-3.0.html\">GNU General Public License, version 3 "
#~ "or later</a> for details."
#~ msgstr ""
#~ "Dit programma komt zonder enige vorm van garantie. Zie de <a href="
#~ "\"http://www.gnu.org/licenses/gpl-3.0.html\">GNU General Public License, "
#~ "versie 3 of later</a> voor meer informatie."
#~ msgid "Github"
#~ msgstr "GitHub"
#~ msgid "Lock the Application"
#~ msgstr "Toepassing vergrendelen"
#~ msgid "Apply"
#~ msgstr "Toepassen"
#~ msgid "Select an application"
#~ msgstr "Kies een toepassing"
#~ msgid "Enter your password"
#~ msgstr "Voer je wachtwoord in"
#~ msgid "Remove the account"
#~ msgstr "Account verwijderen"
#~ msgid "Copy the generated code"
#~ msgstr "Aangemaakte code kopiëren"
#~ msgid "Edit the account"
#~ msgstr "Account bewerken"
#~ msgid "Save the new account name"
#~ msgstr "Nieuwe accountnaam opslaan"
#~ msgid "Expires in %s seconds"
#~ msgstr "Verloopt over %s seconden"
#~ msgid "Error during the generation of code"
#~ msgstr "Fout tijdens aanmaken van code"
#~ msgid "Do you really want to remove \"%s\"?"
#~ msgstr "Wil je \"%s\" echt verwijderen?"
#~ msgid "Password protection"
#~ msgstr "Wachtwoordbescherming"
#~ msgid "Auto-lock the application (m):"
#~ msgstr "Vergrendel de toepassing automatisch (m):"

371
po/pl.po Normal file
View file

@ -0,0 +1,371 @@
# Polish translation for Authenticator.
# Copyright © 2018-2019 the Authenticator authors.
# This file is distributed under the same license as the Authenticator package.
# WaldiS <admin@sto.ugu.pl>, 2018.
# Piotr Drąg <piotrdrag@gmail.com>, 2019.
# Aviary.pl <community-poland@mozilla.org>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n"
"POT-Creation-Date: 2019-07-02 16:11+0000\n"
"PO-Revision-Date: 2019-07-07 13:33+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\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%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:36
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#: data/resources/gtk/ui/about_dialog.ui.in:10
msgid "A Two-Factor Authentication application"
msgstr "Program do uwierzytelniania dwuetapowego"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Prosty program generujący kody uwierzytelniania dwuetapowego napisany dla "
"środowiska GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11
msgid "Features:"
msgstr "Funkcje:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "QR code scanner"
msgstr "Skaner kodów QR"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Beautiful UI"
msgstr "Piękny interfejs"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
msgid "Huge database of more than 560 supported services"
msgstr "Wielka baza ponad 560 obsługiwanych serwisów"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Zabezpieczanie tokenów PIN przez zablokowanie programu hasłem"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "Automatically fetch an image for services using their favicon"
msgstr "Automatyczne pobieranie obrazów dla serwisów"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18
msgid "The possibility to add new services"
msgstr "Możliwość dodawania nowych serwisów"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19
msgid "Dark theme and night light"
msgstr "Ciemny motyw i nocne światło"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25
msgid "Main Window - empty state"
msgstr "Główne okno — puste"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29
#: data/resources/gtk/ui/account_add.ui:15
msgid "Add a new account"
msgstr "Dodawanie nowego konta"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33
msgid "Main Window - Accounts List"
msgstr "Główne okno — lista kont"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid "Settings Window"
msgstr "Okno ustawień"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor Authentication"
msgstr "Uwierzytelnianie dwuetapowe"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;"
msgstr ""
"GNOME;GTK;Weryfikacja;2FA;Uwierzytelnianie;Upoważnianie;Autentykacja;"
"Dwuetapowe;Dwuskładnikowe;TwoFactor;"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Domyślne położenie okna"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: data/resources/gtk/ui/settings.ui.in:28
msgid "Dark Theme"
msgstr "Ciemny motyw"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: data/resources/gtk/ui/settings.ui.in:29
#: data/resources/gtk/ui/settings.ui.in:76
msgid "Whether the application should use a dark theme."
msgstr "Czy program ma używać ciemnego motywu."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: data/resources/gtk/ui/settings.ui.in:83
msgid "Auto lock timeout"
msgstr "Czas oczekiwania na automatyczną blokadę"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
msgid "Lock the application on idle after X minutes"
msgstr "Blokowanie programu po bezczynności przez X minut"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
#: data/resources/gtk/ui/settings.ui.in:43
msgid "Night Light"
msgstr "Nocne światło"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22
#: data/resources/gtk/ui/settings.ui.in:44
#: data/resources/gtk/ui/settings.ui.in:84
msgid "Automatically enable dark mode at night."
msgstr "Automatyczne włączanie ciemnego trybu w nocy."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
msgid "Default window maximized behaviour"
msgstr "Domyślne zachowanie zmaksymalizowanego okna"
#: data/resources/gtk/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr ""
"WaldiS <admin@sto.ugu.pl>, 2018\n"
"Piotr Drąg <piotrdrag@gmail.com>, 2019\n"
"Aviary.pl <community-poland@mozilla.org>, 2019"
#: data/resources/gtk/ui/account_add.ui:33
msgid "Add"
msgstr "Dodaj"
#: data/resources/gtk/ui/account_add.ui:53
msgid "Scan QR Code"
msgstr "Skanuj kod QR"
#: data/resources/gtk/ui/account_config.ui:56
msgid "Account Name"
msgstr "Nazwa konta"
#: data/resources/gtk/ui/account_config.ui:78
msgid "Provider"
msgstr "Dostawca"
#: data/resources/gtk/ui/account_config.ui:95
#: data/resources/gtk/ui/account_config.ui:96
msgid "Enable 2FA for this account"
msgstr "Włącz uwierzytelnianie dwuetapowe dla tego konta"
#: data/resources/gtk/ui/account_config.ui:97
msgid "2FA Token"
msgstr "Token uwierzytelniania dwuetapowego"
#: data/resources/gtk/ui/account_config.ui:111
msgid "Provider Website"
msgstr "Strona dostawcy"
#: data/resources/gtk/ui/account_edit.ui:31
msgid "Save"
msgstr "Zapisz"
#: data/resources/gtk/ui/account_row.ui:22
msgid "Edit"
msgstr "Modyfikuj"
#: data/resources/gtk/ui/account_row.ui:40
msgid "Delete"
msgstr "Usuń"
#: data/resources/gtk/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Skopiuj PIN do schowka"
#: data/resources/gtk/ui/password_widget.ui:46
msgid "Current Password:"
msgstr "Obecne hasło:"
#: data/resources/gtk/ui/password_widget.ui:91
msgid "New Password:"
msgstr "Nowe hasło:"
#: data/resources/gtk/ui/password_widget.ui:136
msgid "Confirm New Password:"
msgstr "Potwierdzenie nowego hasła:"
#: data/resources/gtk/ui/password_widget.ui:184
#: src/Authenticator/widgets/settings.py:174
msgid "Change Password"
msgstr "Zmień hasło"
#: data/resources/gtk/ui/password_widget.ui:205
msgid "Delete Password"
msgstr "Usuń hasło"
#: data/resources/gtk/ui/settings.ui.in:24
msgid "Appearance"
msgstr "Interfejs"
#: data/resources/gtk/ui/settings.ui.in:75
#: src/Authenticator/application.py.in:106
msgid "Lock the application"
msgstr "Zablokuj program"
#: data/resources/gtk/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Ogólne"
#: data/resources/gtk/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Wyświetlenie skrótów"
#: data/resources/gtk/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferencje"
#: data/resources/gtk/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Zakończenie działania"
#: data/resources/gtk/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Konta"
#: data/resources/gtk/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Dodanie"
#: data/resources/gtk/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Wyszukiwanie"
#: data/resources/gtk/ui/window.ui.in:189
msgid "There are no accounts yet…"
msgstr "Nie ma jeszcze żadnych kont…"
#: data/resources/gtk/ui/window.ui.in:218
msgid "Add a new account from the menu"
msgstr "Dodaj nowe konto z menu"
#: data/resources/gtk/ui/window.ui.in:234
msgid "Scan a QR Code"
msgstr "Skanuj kod QR"
#: data/resources/gtk/ui/window.ui.in:366
msgid "No results found"
msgstr "Brak wyników"
#: data/resources/gtk/ui/window.ui.in:429
msgid "Authenticator is locked"
msgstr "Program jest zablokowany"
#: data/resources/gtk/ui/window.ui.in:468
msgid "Unlock"
msgstr "Odblokuj"
#: src/authenticator.py.in:49
msgid "Start in debug mode"
msgstr "Uruchom w trybie debugowania"
#: src/Authenticator/application.py.in:114
msgid "from a plain-text JSON file"
msgstr "z tekstowego pliku JSON"
#: src/Authenticator/application.py.in:115
msgid "in a plain-text JSON file"
msgstr "w tekstowym pliku JSON"
#: src/Authenticator/application.py.in:117
msgid "Restore"
msgstr "Przywróć"
#: src/Authenticator/application.py.in:118
msgid "Backup"
msgstr "Kopia zapasowa"
#. Night mode action
#: src/Authenticator/application.py.in:126
msgid "Preferences"
msgstr "Preferencje"
#: src/Authenticator/application.py.in:127
msgid "Donate"
msgstr "Przekaż datek"
#: src/Authenticator/application.py.in:128
msgid "Keyboard Shortcuts"
msgstr "Skróty klawiszowe"
#: src/Authenticator/application.py.in:129
msgid "About Authenticator"
msgstr "O programie"
#: src/Authenticator/models/account.py:84
msgid "Default"
msgstr "Domyślne"
#: src/Authenticator/widgets/accounts/add.py:247
msgid "Invalid QR code"
msgstr "Nieprawidłowy kod QR"
#: src/Authenticator/widgets/accounts/list.py:152
msgid "The One-Time Passwords expire in {} seconds"
msgstr "Hasła jednorazowe wygasają za {}s"
#: src/Authenticator/widgets/accounts/row.py:90
msgid "Couldn't generate the secret code"
msgstr "Nie można wygenerować tajnego kodu"
#: src/Authenticator/widgets/accounts/row.py:100
msgid "The PIN of {} was copied to the clipboard"
msgstr "Skopiowano PIN „{}” do schowka"
#: src/Authenticator/widgets/accounts/row.py:141
msgid "The account was updated successfully"
msgstr "Pomyślnie zaktualizowano konto"
#: src/Authenticator/widgets/notification.py:53
#: src/Authenticator/widgets/notification.py:84
msgid "Undo"
msgstr "Cofnij"
#: src/Authenticator/widgets/notification.py:79
msgid "Close the notification"
msgstr "Zamknij powiadomienie"
#: src/Authenticator/widgets/settings.py:170
msgid "Save Password"
msgstr "Zapisz hasło"
#: src/Authenticator/widgets/settings.py:222
msgid "Do you want to remove the authentication password?"
msgstr "Usunąć hasło uwierzytelniania?"
#: src/Authenticator/widgets/settings.py:223
msgid "Authentication password enforces the privacy of your accounts."
msgstr "Hasło uwierzytelniania zapewnia prywatność kont."
#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31
msgid "JSON files"
msgstr "Pliki JSON"

570
po/pt.po Normal file
View file

@ -0,0 +1,570 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-03-28 00:03+0000\n"
"Last-Translator: Rui Mendes <xz9@protonmail.com>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/authenticator/"
"translation/pt/>\n"
"Language: pt\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.6-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Gerador de código de autenticação de dois fatores"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Aplicação simples que gera um código de autenticação de dois fatores, criado "
"para o GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Funcionalidades:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "Digitalizador de códigos QR"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Boa interface de utilizador"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Bloquear a aplicação com uma palavra-passe"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
"Desde que a aplicação foi alterada para o grupo GOME Gitlab's World, está "
"disponível para descarregar uma compilação Flatpak para cada commit novo no "
"site."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr "Fazer uma cópia de segurança e restaurar de um ficheiro JSON básico"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
"Fazer uma cópia de segurança e restaurar de um ficheiro JSON encriptado com "
"GPG"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
"Adicionado suporte a andOTP (aplicação de autenticação de 2 fatores, para "
"Android, livre e aberta)"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
"Nova janela de configurações com 3 secções: aparência, comportamento e cópia "
"de segurança"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr "Correção na compilação Flatpak com o último GNOME Runtime"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr "Mover o projeto para o grupo GOME Gitlab's World"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr "Fornecedor de pesquisa GNOME Shell"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr "Os códigos expiram simultaneamente #91"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
"Reformulada a janela principal para seguir os princípios das Diretrizes de "
"Interface Humana do GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
"Janela de adicionar nova conta reformulada para ser mais fácil de utilizar"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
"Possibilidade de adicionar uma conta de um fornecedor não listado na base de "
"dados incorporada"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr "Possibilidade de editar uma conta"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr "Palavra-passe de 1 só utilização, agora visível por padrão"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr "Correção no python-dbus utilizando agora o GDbus"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "Correção no QRScanner na shell do GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr "Adicionada uma nova entrada para o nome do utilizador da conta"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "Base de dados atualizada de contas suportadas"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
"Correção urgente: aplicação não funcionava em ambientes de trabalho para "
"além do GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr "Alteração do nome para Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr "Código base mais limpo"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr "Arranque mais rápido"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr "Eliminadas funcionalidades desnecessárias"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr "Mudança para pyzbar em vez de zbarlight"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr "Pacote Flatpak"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "Autenticação de dois fatores"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Verificação;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Posição padrão da janela"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Tema escuro"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
msgid "Whether the application should use a dark theme."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "Comportamento padrão da janela maximizada"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Gerador de código de autenticação de dois fatores."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Rui Mendes <xz9protonmail.com>, 2019"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Adicionar uma nova conta"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Fechar"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Adicionar"
#: data/ui/account_add.ui:54
msgid "Scan QR Code"
msgstr "Digitalizar código QR"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Contas"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr ""
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Guardar"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Editar"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Eliminar"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Copiar PIN"
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Repetir palavra-passe"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Palavra-passe"
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Palavra-passe"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Repetir palavra-passe"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Preferências"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Comportamento"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Geral"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Mostrar atalhos"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferências"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Sair"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Contas"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Adicionar"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Procurar"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Ainda não existem contas…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Adicionar uma nova conta"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Digitalizar código QR"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
msgid "Authenticator is locked"
msgstr "O Authenticator está bloqueado"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Desbloquear"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Arrancar no modo de depuração de erros"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Número da versão do Autenticador"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Bloquear a aplicação"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "de um ficheiro JSON de texto simples"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "num ficheiro JSON em texto simples"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Restaurar"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Cópia de segurança"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Fazer um donativo"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "Atalhos de teclado"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "Sobre o Autenticador"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Padrão"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Código QR inválido"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "As palavras-passe de 1 só utilização expiram em {} segundos"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Não foi possível gerar o código secreto"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Bloquear a aplicação"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr ""
#: src/Authenticator/widgets/settings.py:93
msgid "Lock the application with a password"
msgstr "Bloquear a aplicação com uma palavra-passe"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr ""
"A palavra-passe de autenticação agora está ativa. Reinicie a aplicação."
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Palavra-passe do Authenticator"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Palavra-passe do Authenticator"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Palavra-passe"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "Ficheiros JSON"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Grande base de dados (290+) de sites e programas"
#~ msgid "Night mode"
#~ msgstr "Modo noturno"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Ativar / desativar o modo noturno dentro da aplicação"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Usar tema escuro se for possível"
#~ msgid "Keep your accounts safer "
#~ msgstr "Mantenha as suas contas seguras "
#~ msgid "Settings"
#~ msgstr "Configurações"
#~ msgid "Edit {} - {}"
#~ msgstr "Editar {} - {}"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr ""
#~ "A palavra-passe de autenticação não estava definida. Reinicie a aplicação"
#~ msgid "Open"
#~ msgstr "Abrir"
#~ msgid "Cancel"
#~ msgstr "Cancelar"
#~ msgid "Select"
#~ msgstr "Selecionar"

673
po/pt_BR.po Normal file
View file

@ -0,0 +1,673 @@
# Brazilian Portuguese translation of authenticator.
# Copyright (C) 2019 Authenticator'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# Rafael Fontenelle <rafaelff@gnome.org>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/Authenticator/issues\n"
"POT-Creation-Date: 2019-07-02 16:11+0000\n"
"PO-Revision-Date: 2019-07-07 17:10-0300\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\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: Gtranslator 3.32.0\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:36
msgid "Authenticator"
msgstr "Autenticador"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:8
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#: data/resources/gtk/ui/about_dialog.ui.in:10
#| msgid "Two-factor authentication"
msgid "A Two-Factor Authentication application"
msgstr "Um aplicativo de autenticação de dois fatores"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Aplicativo simples que gera um código de autenticação de dois fatores, "
"criado para o GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:11
msgid "Features:"
msgstr "Características:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "QR code scanner"
msgstr "Escaneador de código QR"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Beautiful UI"
msgstr "Uma interface de usuário bonita"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
msgid "Huge database of more than 560 supported services"
msgstr "Enorme banco de dados de mais de 560 serviços suportados"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Mantenha seus tokens PIN seguros bloqueando o aplicativo com uma senha"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "Automatically fetch an image for services using their favicon"
msgstr "Obter automaticamente uma imagem para serviços usando seus favicon"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:18
msgid "The possibility to add new services"
msgstr "A possibilidade de adicionar novos serviços"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:19
msgid "Dark theme and night light"
msgstr "Tema escuro e luz noturna"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:25
msgid "Main Window - empty state"
msgstr "Janela principal - estado vazio"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:29
#: data/resources/gtk/ui/account_add.ui:15
msgid "Add a new account"
msgstr "Adicionar uma nova conta"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:33
msgid "Main Window - Accounts List"
msgstr "Janela principal - lista de contas"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid "Settings Window"
msgstr "Janela de configurações"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:160
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
#| msgid "Two-factor authentication"
msgid "Two-factor Authentication"
msgstr "Autenticação de dois fatores"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;2FA;Authentication;TwoFactor;"
msgstr ""
"Gnome;GTK;Verificação;2FA;Autenticação;Authentication;TwoFactor;Dois Fatores;"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Posição padrão da janela"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: data/resources/gtk/ui/settings.ui.in:28
msgid "Dark Theme"
msgstr "Tema escuro"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: data/resources/gtk/ui/settings.ui.in:29
#: data/resources/gtk/ui/settings.ui.in:76
msgid "Whether the application should use a dark theme."
msgstr "Se o aplicativo deve usar um tema escuro."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: data/resources/gtk/ui/settings.ui.in:83
msgid "Auto lock timeout"
msgstr "Tempo até bloqueio automático"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
msgid "Lock the application on idle after X minutes"
msgstr "Bloqueia o aplicativo após inatividade por X minutos"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
#: data/resources/gtk/ui/settings.ui.in:43
msgid "Night Light"
msgstr "Luz noturna"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:22
#: data/resources/gtk/ui/settings.ui.in:44
#: data/resources/gtk/ui/settings.ui.in:84
msgid "Automatically enable dark mode at night."
msgstr "Habilita automaticamente o modo escuro à noite."
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:26
msgid "Default window maximized behaviour"
msgstr "Comportamento padrão da janela maximizada"
#: data/resources/gtk/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr ""
"Fúlvio Alves <fga.fulvio@gmail.com>\n"
"Rafael Fontenelle <rafaelff@gnome.org>"
#: data/resources/gtk/ui/account_add.ui:33
msgid "Add"
msgstr "Adicionar"
#: data/resources/gtk/ui/account_add.ui:53
msgid "Scan QR Code"
msgstr "Escanear código QR"
#: data/resources/gtk/ui/account_config.ui:56
msgid "Account Name"
msgstr "Nome da conta"
#: data/resources/gtk/ui/account_config.ui:78
msgid "Provider"
msgstr "Provedor"
#: data/resources/gtk/ui/account_config.ui:95
#: data/resources/gtk/ui/account_config.ui:96
msgid "Enable 2FA for this account"
msgstr "Habilita 2FA para essa conta"
#: data/resources/gtk/ui/account_config.ui:97
msgid "2FA Token"
msgstr "Token 2FA"
#: data/resources/gtk/ui/account_config.ui:111
msgid "Provider Website"
msgstr "Site do provedor"
#: data/resources/gtk/ui/account_edit.ui:31
msgid "Save"
msgstr "Salvar"
#: data/resources/gtk/ui/account_row.ui:22
msgid "Edit"
msgstr "Editar"
#: data/resources/gtk/ui/account_row.ui:40
msgid "Delete"
msgstr "Excluir"
#: data/resources/gtk/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "Copiar PIN pra área de transferência"
#: data/resources/gtk/ui/password_widget.ui:46
msgid "Current Password:"
msgstr "Senha atual:"
#: data/resources/gtk/ui/password_widget.ui:91
msgid "New Password:"
msgstr "Nova senha:"
#: data/resources/gtk/ui/password_widget.ui:136
msgid "Confirm New Password:"
msgstr "Confirmar nova senha:"
#: data/resources/gtk/ui/password_widget.ui:184
#: src/Authenticator/widgets/settings.py:174
msgid "Change Password"
msgstr "Alterar senha"
#: data/resources/gtk/ui/password_widget.ui:205
msgid "Delete Password"
msgstr "Excluir senha"
#: data/resources/gtk/ui/settings.ui.in:24
msgid "Appearance"
msgstr "Aparência"
#: data/resources/gtk/ui/settings.ui.in:75
#: src/Authenticator/application.py.in:106
msgid "Lock the application"
msgstr "Bloquear o aplicativo"
#: data/resources/gtk/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Geral"
#: data/resources/gtk/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Mostra os atalhos"
#: data/resources/gtk/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Preferências"
#: data/resources/gtk/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Sai"
#: data/resources/gtk/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Contas"
#: data/resources/gtk/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Adiciona"
#: data/resources/gtk/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Pesquisa"
#: data/resources/gtk/ui/window.ui.in:189
msgid "There are no accounts yet…"
msgstr "Ainda não há contas…"
#: data/resources/gtk/ui/window.ui.in:218
msgid "Add a new account from the menu"
msgstr "Adicione uma nova conta pelo menu"
#: data/resources/gtk/ui/window.ui.in:234
msgid "Scan a QR Code"
msgstr "Escaneie um código QR"
#: data/resources/gtk/ui/window.ui.in:366
msgid "No results found"
msgstr "Nenhum resultado encontrado"
#: data/resources/gtk/ui/window.ui.in:429
msgid "Authenticator is locked"
msgstr "O Autenticador está bloqueado"
#: data/resources/gtk/ui/window.ui.in:468
msgid "Unlock"
msgstr "Desbloquear"
#: src/authenticator.py.in:49
msgid "Start in debug mode"
msgstr "Iniciar no modo de depuração"
#: src/Authenticator/application.py.in:114
msgid "from a plain-text JSON file"
msgstr "de um arquivo JSON de texto simples"
#: src/Authenticator/application.py.in:115
msgid "in a plain-text JSON file"
msgstr "em um arquivo JSON em texto simples"
#: src/Authenticator/application.py.in:117
msgid "Restore"
msgstr "Restaurar"
#: src/Authenticator/application.py.in:118
msgid "Backup"
msgstr "Cópia de segurança"
#. Night mode action
#: src/Authenticator/application.py.in:126
msgid "Preferences"
msgstr "Preferências"
#: src/Authenticator/application.py.in:127
msgid "Donate"
msgstr "Doar"
#: src/Authenticator/application.py.in:128
msgid "Keyboard Shortcuts"
msgstr "Atalhos de teclado"
#: src/Authenticator/application.py.in:129
msgid "About Authenticator"
msgstr "Sobre o Autenticador"
#: src/Authenticator/models/account.py:84
msgid "Default"
msgstr "Padrão"
#: src/Authenticator/widgets/accounts/add.py:247
msgid "Invalid QR code"
msgstr "Código QR inválido"
#: src/Authenticator/widgets/accounts/list.py:152
msgid "The One-Time Passwords expire in {} seconds"
msgstr "As senhas de uso único (OTP) expiram em {} segundos"
#: src/Authenticator/widgets/accounts/row.py:90
msgid "Couldn't generate the secret code"
msgstr "Não foi possível gerar o código secreto"
#: src/Authenticator/widgets/accounts/row.py:100
msgid "The PIN of {} was copied to the clipboard"
msgstr "O PIN de {} foi copiado para a área de transferência"
#: src/Authenticator/widgets/accounts/row.py:141
msgid "The account was updated successfully"
msgstr "A conta foi atualizada com sucesso"
#: src/Authenticator/widgets/notification.py:53
#: src/Authenticator/widgets/notification.py:84
msgid "Undo"
msgstr "Desfazer"
#: src/Authenticator/widgets/notification.py:79
msgid "Close the notification"
msgstr "Fechar a notificação"
#: src/Authenticator/widgets/settings.py:170
msgid "Save Password"
msgstr "Salvar senha"
#: src/Authenticator/widgets/settings.py:222
msgid "Do you want to remove the authentication password?"
msgstr "Deseja remover a senha de autenticação?"
#: src/Authenticator/widgets/settings.py:223
msgid "Authentication password enforces the privacy of your accounts."
msgstr "A senha de autenticação reforça a privacidade de suas contas."
#: src/Authenticator/widgets/utils.py:26 src/Authenticator/widgets/utils.py:31
msgid "JSON files"
msgstr "Arquivos JSON"
#~ msgid "Two-factor authentication code generator"
#~ msgstr "Gerador de código de autenticação de dois fatores"
#~ msgid ""
#~ "HOTFIX: if you had an issue with your accounts being lost after the "
#~ "latest update, please update to this one."
#~ msgstr ""
#~ "HOTFIX: se você teve um problema com suas contas perdidas após a "
#~ "atualização mais recente, atualize para esta."
#~ msgid ""
#~ "Database migrations: ensure users won't lose their data in the future"
#~ msgstr ""
#~ "Migrações de banco de dados: garanta que os usuários não perderão seus "
#~ "dados no futuro"
#~ msgid "Fix edit account issue"
#~ msgstr "Correção de problema na edição de contas"
#~ msgid "Improve the provider image widget"
#~ msgstr "Melhoria do widget de imagem do provedor"
#~ msgid "Translations updates"
#~ msgstr "Atualizações de traduções"
#~ msgid ""
#~ "Authenticator 3.32 is out! Here's an overview of what changed Please "
#~ "backup your accounts before updating to the latest version and restore "
#~ "the data after update."
#~ msgstr ""
#~ "O autenticador 3.32 está fora! Aqui está uma visão geral do que mudou. "
#~ "Por favor, faça backup de suas contas antes de atualizar para a versão "
#~ "mais recente e restaurar os dados após a atualização."
#~| msgid "Settings Window"
#~ msgid "New settings window"
#~ msgstr "Nova janela de configurações"
#~ msgid "Download provider images using their favicon if possible"
#~ msgstr "Baixa imagens dos provedores usando seu favicon, se possível"
#~ msgid "Night Light feature: not working yet!"
#~ msgstr "Recurso de luz noturna: não está funcionando ainda!"
#~ msgid ""
#~ "The possibility to enable/disable a password without having to reset "
#~ "everything"
#~ msgstr ""
#~ "A possibilidade de habilitar/desabilitar uma senha sem ter que redefinir "
#~ "tudo"
#~ msgid ""
#~ "You can now add new providers and set images for providers that we didn't "
#~ "find an icon for"
#~ msgstr ""
#~ "Agora você pode adicionar novos provedores e definir imagens para "
#~ "provedores para os quais não encontramos um ícone"
#~ msgid "Mobile ready"
#~ msgstr "Pronto para mobilidade"
#~ msgid "New icon by Tobias Bernard"
#~ msgstr "Novo ícone por Tobias Bernard"
#~ msgid "Click to copy the PIN on GNOME Shell Search provider results"
#~ msgstr ""
#~ "Clique para copiar o PIN nos resultados do provedor de Pesquisa do GNOME "
#~ "Shell"
#~ msgid ""
#~ "Hide the results from Shell Search Provider if the application is locked"
#~ msgstr ""
#~ "Oculte os resultados do Provedor de Pesquisa do Shell se o aplicativo "
#~ "estiver bloqueado"
#~ msgid "Bunch of fixed bugs"
#~ msgstr "Várias correções de erros"
#~ msgid ""
#~ "Since I have moved the application to GNOME Gitlab's World group, a "
#~ "Flatpak build for each new commit is available to download from the "
#~ "site's website."
#~ msgstr ""
#~ "Desde que eu mudei o aplicativo para o grupo World do GNOME GitLab, uma "
#~ "versão Flatpak para cada novo commit está disponível para download no "
#~ "site do site."
#~ msgid "Backup and restore from a basic JSON file"
#~ msgstr "Backup e restauração de um arquivo JSON básico"
#~ msgid "Backup and restore from an encrypted-GPG JSON file"
#~ msgstr "Backup e restauração de um arquivo JSON criptografado com GPG"
#~ msgid "Add andOTP support (free and open Android 2FA application)"
#~ msgstr "Adição de suporte a andOTP (aplicativo Android 2FA livre e aberto)"
#~ msgid "New Settings window with 3 sections: appearance, behavior and backup"
#~ msgstr ""
#~ "Nova janela de Configurações com 3 seções: aparência, comportamento e "
#~ "backup"
#~ msgid "Fix Flatpak Build with the latest GNOME Runtime"
#~ msgstr "Correção de Flatpak Build com o GNOME Runtime mais recente"
#~ msgid "Move the project to GNOME Gitlab's World group"
#~ msgstr "Movido o projeto para o grupo World do GNOME GitLab"
#~ msgid "GNOME Shell Search provider"
#~ msgstr "Provedor de Pesquisa do GNOME Shell"
#~ msgid "Codes expire simultaneously #91"
#~ msgstr "Código expira simultaneamente #91"
#~ msgid "Revamped main window to more closely follow the GNOME HIG"
#~ msgstr "Renovada a janela principal para seguir mais de perto o GNOME HIG"
#~ msgid "Revamped add a new account window to make it easier to use"
#~ msgstr "Renovada a adição de uma nova janela de conta para facilitar o uso"
#~ msgid ""
#~ "Possibility to add an account from a provider not listed in the shipped "
#~ "database"
#~ msgstr ""
#~ "Possibilidade de adicionar uma conta de um provedor não listado no banco "
#~ "de dados enviado"
#~ msgid "Possibility to edit an account"
#~ msgstr "Possibilidade de editar uma conta"
#~ msgid "One Time Password now visible by default"
#~ msgstr "Senha de uso único (OTP) agora visível por padrão"
#~ msgid "Fix python-dbus by using GDbus instead"
#~ msgstr "Correção do python-dbus usando o GDbus"
#~ msgid "Fix the QRScanner on GNOME Shell"
#~ msgstr "Correção do QRScanner no GNOME Shell"
#~| msgid "Add a new account from the menu"
#~ msgid "Add a new entry for the account's username"
#~ msgstr "Adição de uma nova entrada para o nome de usuário da conta"
#~ msgid "Updated database of supported accounts"
#~ msgstr "Banco de dados atualizado de contas suportadas"
#~ msgid "HOTFIX: App not running in DE other than GNOME"
#~ msgstr "HOTFIX: Aplicativo não sendo executado em DE diferente do GNOME"
#~ msgid "Rename project to Authenticator"
#~ msgstr "Projeto renomeado para Autenticador"
#~ msgid "Cleaner code base"
#~ msgstr "Base de código mais limpo"
#~ msgid "Faster startup"
#~ msgstr "Inicialização mais rápida"
#~ msgid "Remove unneeded features"
#~ msgstr "Remoção de recursos desnecessários"
#~ msgid "Switch to pyzbar instead of zbarlight"
#~ msgstr "Troca para pyzbar em vez de zbarlight"
#~ msgid "Flatpak package"
#~ msgstr "Pacote Flatpak"
#~ msgid "Two-factor authentication code generator."
#~ msgstr "Gerador de código de autenticação de dois fatores."
#~ msgid "Close"
#~ msgstr "Fechar"
#~ msgid "We couldn't find an image for this provider"
#~ msgstr "Não foi possível localizar uma imagem para esse provedor"
#~ msgid "Behaviour"
#~ msgstr "Comportamento"
#~ msgid "Authenticator version number"
#~ msgstr "Número da versão do Autenticador"
#~ msgid "Authentication password is now enabled."
#~ msgstr "Senha de autenticação agora habilitada."
#~ msgid "The authentication password was updated."
#~ msgstr "A senha de autenticação foi atualizada."
#~ msgid "The authentication password was deleted."
#~ msgstr "A senha de autenticação foi excluída."
#~ msgid "@appid@"
#~ msgstr "@appid@"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Enorme banco de dados (290+) de web sites e aplicativos"
#~ msgid "Night mode"
#~ msgstr "Modo noturno"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Ativar/desativar o modo noturno dentro do aplicativo"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Use um tema escuro, se possível"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "Senha de autenticação"
#~ msgid "Edit {} - {}"
#~ msgstr "Editar {} - {}"
#~ msgid "Open"
#~ msgstr "Abrir"
#~ msgid "Cancel"
#~ msgstr "Cancelar"
#~ msgid "Select"
#~ msgstr "Selecionar"
#~ msgid "Secret token"
#~ msgstr "Token secreto"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr ""
#~ "A biblioteca zbar não foi encontrada. O escaneador QRCode será desativado"
#~ msgid "Copy"
#~ msgstr "Copiar"
#~ msgid "Search"
#~ msgstr "Procurar"
#~ msgid "Selection mode"
#~ msgstr "Modo de seleção"
#~ msgid "Click on items to select them"
#~ msgstr "Clique nos itens para selecioná-los"
#~ msgid "Old Password"
#~ msgstr "Senha antiga"
#~ msgid "Erase existing accounts"
#~ msgstr "Apagar contas existentes"
#~ msgid "The application needs to be restarted first."
#~ msgstr "O aplicativo precisa ser reiniciado antes."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "As contas existentes serão apagadas em 5 segundos"
#~ msgid "An account or more were removed."
#~ msgstr "Uma ou mais contas foram removidas."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Se o aplicativo está ou não bloqueado com uma senha"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Selecionar"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Autenticador"
#~ msgid "in an OpenPGP-encrypted JSON file"
#~ msgstr "em um arquivo JSON encriptado com OpenPGP"
#~ msgid "About"
#~ msgstr "Sobre"
#, fuzzy
#~ msgid "GPG paraphrase"
#~ msgstr "Senha GPG"
#~ msgid "Import"
#~ msgstr "Importar"
#, fuzzy
#~ msgid "Paraphrase"
#~ msgstr "Paráfrase"
#~ msgid "There was an error during the import of the encrypted file."
#~ msgstr "Houve um erro durante a importação do arquivo criptografado."
#~ msgid "GPG fingerprint"
#~ msgstr "Impressão digital GPG"
#~ msgid "Public keys"
#~ msgstr "Chaves públicas"
#~ msgid "Private keys"
#~ msgstr "Chaves privadas"
#~ msgid "GPG keys location"
#~ msgstr "Localização das chaves GPG"
#~ msgid "Encrypted GPG files"
#~ msgstr "Arquivos encriptados com GPG"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"

604
po/ru.po Normal file
View file

@ -0,0 +1,604 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-05-06 09:47+0000\n"
"Last-Translator: --------------------- <akapiazure@yandex.ru>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/authenticator/"
"translation/ru/>\n"
"Language: ru\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%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 3.7-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Аутентификатор"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Генератор двухфакторных кодов аутентификации"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Простое приложение, которое генерирует двухфакторные коды аутентификации, "
"созданное для GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Возможности:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "Сканер QR кодов"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Прекрасный Пользовательский Интерфейс"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Возможность блокировки программы паролем"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
"Возможность добавления учетной записи поставщика услуг, не указанного в базе "
"данных отгруженного оборудования"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr "Возможность править аккаунт"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr "OTP теперь по умолчанию видны"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr "Исправление шины python-dbus с помощью GDbus вместо нее"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "Исправить QRScanner на оболочке GNOME Shell"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "База поддерживаемых аккаунтов обновлена"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
#, fuzzy
msgid "Rename project to Authenticator"
msgstr "Об Аутентификаторе"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "Двухфакторная аутентификация"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Проверка;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Положение окна по умолчанию"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Тёмная тема"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "Может ли приложение быть заблоровано или нет"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "Поведение по умолчанию для развернутого окна"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Генератор кодов двухфакторной аутентификации."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "благодарность-переводчикам"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Добавить новый аккаунт"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Закрыть"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Добавить"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Сканировать QR код"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Имя аккаунта"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Провайдер"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Сохранить"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Редактировать"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Удалить"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Повторите пароль"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Пароль"
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Пароль"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Повторите пароль"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Настройки"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Поведение"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Основные"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Показать Горячие Клавиши"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Настройки"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Выйти"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Аккаунты"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Добавить"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Поиск"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Не добавлено ни одного аккаунта…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Добавить новый аккаунт"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Сканировать QR код"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "Аутентификатор"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr ""
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Запустить в режиме отладки"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Номер версии аутентификатора"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Заблокировать приложение"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "из текстового файла в формате JSON"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "в текстовый файл в формате JSON"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Восстановить"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Резервное копирование"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Пожертвовать"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "Горячие Клавиши"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "Об Аутентификаторе"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "По умолчанию"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Некорректный QR код"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "Одноразовый пароль истекает через {} секунд"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Не удалось генерировать секретный код"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Заблокировать приложение"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Отменить"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "Возможность блокировки программы паролем"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Пароль аутентификации"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Пароль аутентификации"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Пароль аутентификации"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Пароль"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "JSON файлы"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Огромная база данных (290+) веб-сайтов/приложений"
#~ msgid "Night mode"
#~ msgstr "Ночной режим"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Включение/выключение ночного режима в приложении"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "По возможности используйте тёмную тему"
#~ msgid "Settings"
#~ msgstr "Настройки"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "Пароль Аутентификации"
#~ msgid "Edit {} - {}"
#~ msgstr "Редактировать {} - {}"
#~ msgid "Open"
#~ msgstr "Открыть"
#~ msgid "Cancel"
#~ msgstr "Отменить"
#~ msgid "Select"
#~ msgstr "Выбрать"
#~ msgid "Secret token"
#~ msgstr "Секретный токен"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr "zbar библиотека не найдена. Сканнер QRCode будет отключен"
#~ msgid "Copy"
#~ msgstr "Копировать"
#~ msgid "Search"
#~ msgstr "Поиск"
#~ msgid "Selection mode"
#~ msgstr "Режим выбора"
#~ msgid "Click on items to select them"
#~ msgstr "Нажмите на элемент для выбора"
#~ msgid "Old Password"
#~ msgstr "Старый Пароль"
#~ msgid "Appearance"
#~ msgstr "Внешний вид"
#~ msgid "Erase existing accounts"
#~ msgstr "Удалить существующие аккаунты"
#~ msgid "Set up application authentication password"
#~ msgstr "Установите пароль аутентификации приложения"
#~ msgid "The application needs to be restarted first."
#~ msgstr "Приложению требуется перезапуск."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "Существующие аккаунты будут удалены через 5 секунд"
#~ msgid "An account or more were removed."
#~ msgstr "Один или несколько аккаунтов были удалены."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Заблокировано ли приложение паролем или нет"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Выбрать"

583
po/sr.po Normal file
View file

@ -0,0 +1,583 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2018-03-25 14:53+0000\n"
"Last-Translator: Slobodan Terzić <githzerai06@gmail.com>\n"
"Language-Team: Serbian <https://hosted.weblate.org/projects/authenticator/"
"translation/sr/>\n"
"Language: sr\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%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.20-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Аутентификатор"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#, fuzzy
msgid "Two-factor authentication code generator"
msgstr "Стваралац кодова за двофакторну аутентификацију."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
#, fuzzy
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Једноставан програм који ствара код за двофакторну аутентификацију, "
"направљен за Гном"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Аутентификатор"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
#, fuzzy
msgid "Rename project to Authenticator"
msgstr "О Аутентификатору"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
#, fuzzy
msgid "Two-factor authentication"
msgstr "Двофакторна аутентификација"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Verification;Овера;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
msgid "Dark Theme"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
msgid "Whether the application should use a dark theme."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr ""
#: data/ui/about_dialog.ui.in:10
#, fuzzy
msgid "Two-factor authentication code generator."
msgstr "Стваралац кодова за двофакторну аутентификацију."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Слободан Терзић <githzerai06@gmail.com>"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Додај нови налог"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Затвори"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Додај"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Скенирај КуР код"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Име налога"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr ""
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr ""
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr ""
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Обриши"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Аутентификатор"
#: data/ui/password_widget.ui:90
msgid "New Password:"
msgstr ""
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
msgid "Change Password"
msgstr ""
#: data/ui/password_widget.ui:204
msgid "Delete Password"
msgstr ""
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr ""
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr ""
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr ""
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr ""
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr ""
#: data/ui/shortcuts.ui:31
#, fuzzy
msgctxt "shortcut window"
msgid "Quit"
msgstr "Напусти"
#: data/ui/shortcuts.ui:40
#, fuzzy
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Име налога"
#: data/ui/shortcuts.ui:44
#, fuzzy
msgctxt "shortcut window"
msgid "Add"
msgstr "Додај"
#: data/ui/shortcuts.ui:51
#, fuzzy
msgctxt "shortcut window"
msgid "Search"
msgstr "Претражи"
#: data/ui/window.ui.in:182
#, fuzzy
msgid "There are no accounts yet…"
msgstr "Још увек нема налога..."
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Додај нови налог"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Скенирај КуР код"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "Аутентификатор"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr ""
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Покрени у режиму за исправљање грешака"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Верзија Аутентификатора"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr ""
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr ""
#: src/Authenticator/application.py.in:104
#, fuzzy
msgid "Backup"
msgstr "Назад"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr ""
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr ""
#: src/Authenticator/application.py.in:115
#, fuzzy
msgid "About Authenticator"
msgstr "Аутентификатор"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr ""
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Неисправан КуР код"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Не могу да направим тајни код"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
msgid "Close the notification"
msgstr ""
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Опозови"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "Аутентификатор"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Аутентификатор"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Аутентификатор"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Аутентификатор"
#: src/Authenticator/widgets/settings.py:204
msgid "Save Password"
msgstr ""
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr ""
#, fuzzy
#~ msgid "Night mode"
#~ msgstr "Ноћни режим"
#~ msgid "Settings"
#~ msgstr "Подешавања"
#~ msgid "Cancel"
#~ msgstr "Откажи"
#, fuzzy
#~ msgid "Select"
#~ msgstr "Режим избора"
#, fuzzy
#~ msgid "Secret token"
#~ msgstr "Тајни токен"
#~ msgid "Copy"
#~ msgstr "Умножи"
#~ msgid "Search"
#~ msgstr "Претражи"
#~ msgid "Selection mode"
#~ msgstr "Режим избора"
#~ msgid "Click on items to select them"
#~ msgstr "Кликните на ставке да их изаберете"
#, fuzzy
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Режим избора"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Аутентификатор"
#~ msgid "About"
#~ msgstr "О програму"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#~ msgid "Next"
#~ msgstr "Следеће"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "Стваралац кода за двофакторну аутентификацију"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "Стваралац кода за двофакторну аутентификацију"

578
po/sr@latin.po Normal file
View file

@ -0,0 +1,578 @@
msgid ""
msgstr ""
"Project-Id-Version: Serbian (Authenticator)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2018-03-24 20:59+0000\n"
"Last-Translator: Slobodan Terzić <githzerai06@gmail.com>\n"
"Language-Team: Serbian (latin) <https://hosted.weblate.org/projects/"
"authenticator/translation/sr_Latn/>\n"
"Language: sr_Latn\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%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2.20-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Autentifikator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
#, fuzzy
msgid "Two-factor authentication code generator"
msgstr "Stvaralac kodova za dvofaktornu autentifikaciju."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
#, fuzzy
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Jednostavan program koji stvara kod za dvofaktornu autentifikaciju, "
"napravljen za Gnom"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Autentifikator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
#, fuzzy
msgid "Rename project to Authenticator"
msgstr "O Autentifikatoru"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
#, fuzzy
msgid "Two-factor authentication"
msgstr "Dvofaktorna autentifikacija"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;GTK;Verification;Overa;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
msgid "Dark Theme"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
msgid "Whether the application should use a dark theme."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr ""
#: data/ui/about_dialog.ui.in:10
#, fuzzy
msgid "Two-factor authentication code generator."
msgstr "Stvaralac kodova za dvofaktornu autentifikaciju."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Slobodan Terzić <githzerai06@gmail.com>"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Dodaj novi nalog"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Zatvori"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Dodaj"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Skeniraj QR kod"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Ime naloga"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr ""
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr ""
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr ""
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Obriši"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Autentifikator"
#: data/ui/password_widget.ui:90
msgid "New Password:"
msgstr ""
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
msgid "Change Password"
msgstr ""
#: data/ui/password_widget.ui:204
msgid "Delete Password"
msgstr ""
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr ""
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr ""
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr ""
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr ""
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr ""
#: data/ui/shortcuts.ui:31
#, fuzzy
msgctxt "shortcut window"
msgid "Quit"
msgstr "Napusti"
#: data/ui/shortcuts.ui:40
#, fuzzy
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Ime naloga"
#: data/ui/shortcuts.ui:44
#, fuzzy
msgctxt "shortcut window"
msgid "Add"
msgstr "Dodaj"
#: data/ui/shortcuts.ui:51
#, fuzzy
msgctxt "shortcut window"
msgid "Search"
msgstr "Pretraži"
#: data/ui/window.ui.in:182
#, fuzzy
msgid "There are no accounts yet…"
msgstr "Još uvek nema naloga..."
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Dodaj novi nalog"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Skeniraj QR kod"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "Autentifikator"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr ""
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Pokreni u režimu za ispravljanje grešaka"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Verzija Autentifikatora"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr ""
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr ""
#: src/Authenticator/application.py.in:104
#, fuzzy
msgid "Backup"
msgstr "Nazad"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr ""
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr ""
#: src/Authenticator/application.py.in:115
#, fuzzy
msgid "About Authenticator"
msgstr "Autentifikator"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr ""
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Neispravan QR kod"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Ne mogu da napravim tajni kod"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
msgid "Close the notification"
msgstr ""
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Opozovi"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "Autentifikator"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Autentifikator"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Autentifikator"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Autentifikator"
#: src/Authenticator/widgets/settings.py:204
msgid "Save Password"
msgstr ""
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr ""
#, fuzzy
#~ msgid "Night mode"
#~ msgstr "Noćni režim"
#~ msgid "Settings"
#~ msgstr "Podešavanja"
#~ msgid "Cancel"
#~ msgstr "Otkaži"
#, fuzzy
#~ msgid "Select"
#~ msgstr "Režim izbora"
#, fuzzy
#~ msgid "Secret token"
#~ msgstr "Tajni token"
#~ msgid "Copy"
#~ msgstr "Umnoži"
#~ msgid "Search"
#~ msgstr "Pretraži"
#~ msgid "Selection mode"
#~ msgstr "Režim izbora"
#~ msgid "Click on items to select them"
#~ msgstr "Kliknite na stavke da ih izaberete"
#, fuzzy
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Režim izbora"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Autentifikator"
#~ msgid "About"
#~ msgstr "O programu"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#~ msgid "Next"
#~ msgstr "Sledeće"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "Stvaralac koda za dvofaktornu autentifikaciju"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "Stvaralac koda za dvofaktornu autentifikaciju"

729
po/sv.po Normal file
View file

@ -0,0 +1,729 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-01-01 16:01+0000\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/authenticator/"
"translation/sv/>\n"
"Language: sv\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.4-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "Generator för tvåfaktorsautentiseringskoder"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"Enkelt program som genererar en tvåfaktorsautentiseringskod, skapat för "
"GNOME."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Funktioner:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "QR-kodläsare"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Vackert användargränssnitt"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Möjlighet att låsa programmet med ett lösenord"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
#, fuzzy
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr "från en OpenPGP-krypterad JSON-fil"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "Fixa QR-läsaren i GNOME Shell"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr "Lägg till en ny post för kontots användarnamn"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "Uppdaterad databas över konton som stöds"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr "SNABBFIX: Programmet gick inte köra annat än i GNOME"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr "Byt namn på projektet till Authenticator"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr "Renare kodbas"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr "Snabbare uppstart"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr "Ta bort onödiga funktioner"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr "Växla till pyzbar istället för zbarlight"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr "Flatpak-paket"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "Tvåfaktorsautentisering"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "GNOME;GTK;Bekräftelse;Verifiering;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Standardfönsterposition"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Mörkt tema"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
#, fuzzy
msgid "Whether the application should use a dark theme."
msgstr "Om programmet kan låsas eller inte"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "Standardfönstrets maximeringsbeteende"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "Generator för tvåfaktorsautentiseringskoder."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Anders Jonsson <anders.jonsson@norsjovallen.se>"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Lägg till ett nytt konto"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Stäng"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Lägg till"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "Läs av QR-kod"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Kontonamn"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Leverantör"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Spara"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Redigera"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Ta bort"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Upprepa lösenord"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Nytt lösenord"
#: data/ui/password_widget.ui:135
#, fuzzy
msgid "Confirm New Password:"
msgstr "Nytt lösenord"
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Lösenord"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Upprepa lösenord"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Inställningar"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Beteende"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Allmänt"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Visa genvägar"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Inställningar"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Avsluta"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Konton"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Lägg till"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Sök"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Det finns inga konton ännu…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Lägg till ett nytt konto"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "Läs av QR-kod"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
#, fuzzy
msgid "Authenticator is locked"
msgstr "Authenticator"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Lås upp"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Starta i felsökningsläge"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Versionsnummer för Authenticator"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Lås programmet"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "från en oformaterad JSON-fil"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "i en oformaterad JSON-fil"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Återställ"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Säkerhetskopiera"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Donera"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "Tangentbordsgenvägar"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "Om Authenticator"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Standard"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Ogiltig QR-kod"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "Engångslösenordet upphör att gälla om {} sekunder"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Kunde inte generera den hemliga koden"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Lås programmet"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr "Ångra"
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "Möjlighet att låsa programmet med ett lösenord"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Autentiseringslösenord"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Autentiseringslösenord"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Autentiseringslösenord"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Lösenord"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "JSON-filer"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "Enorm databas med (290+) webbplatser/program"
#~ msgid "Night mode"
#~ msgstr "Nattläge"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Aktivera/inaktivera nattläge inifrån programmet"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Använd om möjligt ett mörkt tema"
#~ msgid "Settings"
#~ msgstr "Inställningar"
#, fuzzy
#~ msgid "Authenticator Password"
#~ msgstr "Autentiseringslösenord"
#~ msgid "Edit {} - {}"
#~ msgstr "Redigera {} - {}"
#~ msgid "Open"
#~ msgstr "Öppna"
#~ msgid "Cancel"
#~ msgstr "Avbryt"
#~ msgid "Select"
#~ msgstr "Välj"
#~ msgid "Secret token"
#~ msgstr "Hemlig token"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr "zbar-bibliotek hittades inte. QR-kodskanner inaktiveras."
#~ msgid "Copy"
#~ msgstr "Kopiera"
#~ msgid "Search"
#~ msgstr "Sök"
#~ msgid "Selection mode"
#~ msgstr "Urvalsläge"
#~ msgid "Click on items to select them"
#~ msgstr "Klicka på objekt för att välja dem"
#~ msgid "Old Password"
#~ msgstr "Gammalt lösenord"
#~ msgid "Appearance"
#~ msgstr "Utseende"
#~ msgid "Clear the database"
#~ msgstr "Rensa databasen"
#~ msgid "Erase existing accounts"
#~ msgstr "Radera befintliga konton"
#~ msgid "Set up application authentication password"
#~ msgstr "Konfigurera autentiseringslösenord"
#~ msgid "The application needs to be restarted first."
#~ msgstr "Programmet måste startas om först."
#~ msgid "The existing accounts will be erased in 5 seconds"
#~ msgstr "De befintliga kontona kommer att raderas om 5 sekunder"
#~ msgid "An account or more were removed."
#~ msgstr "Ett konto eller fler, togs bort."
#~ msgid "Whether the application is locked with a password or not"
#~ msgstr "Om programmet är låst med lösenord eller inte"
#~ msgctxt "shortcut window"
#~ msgid "Select"
#~ msgstr "Välj"
#, fuzzy
#~ msgid "Authenticator@NAME_SUFFIX@"
#~ msgstr "Authenticator"
#~ msgid "in an OpenPGP-encrypted JSON file"
#~ msgstr "i en OpenPGP-krypterad JSON-fil"
#~ msgid "About"
#~ msgstr "Om"
#~ msgid "GPG paraphrase"
#~ msgstr "GPG-parafras"
#~ msgid "Import"
#~ msgstr "Importera"
#~ msgid "Paraphrase"
#~ msgstr "Parafras"
#~ msgid "There was an error during the import of the encrypted file."
#~ msgstr "Ett fel uppstod under importen av den krypterade filen."
#~ msgid "GPG fingerprint"
#~ msgstr "GPG-fingeravtryck"
#~ msgid "Public keys"
#~ msgstr "Öppna nycklar"
#~ msgid "Private keys"
#~ msgstr "Privata nycklar"
#~ msgid "GPG keys location"
#~ msgstr "GPG-nycklarnas lagringsplats"
#~ msgid "Encrypted GPG files"
#~ msgstr "Krypterade GPG-filer"
#~ msgid "com.github.bilelmoussaoui.Authenticator"
#~ msgstr "com.github.bilelmoussaoui.Authenticator"
#, fuzzy
#~ msgid "Backup Password"
#~ msgstr "Ändra lösenord"
#~ msgid "Next"
#~ msgstr "Nästa"
#~ msgid "Two Factor Authentication code generator"
#~ msgstr "Generator för tvåfaktorsautentiseringskod"
#~ msgid "Two-Factor Authentication code generator"
#~ msgstr "Generator för tvåfaktorsautentiseringskod"
#~ msgctxt "shortcut window"
#~ msgid "Add a new account"
#~ msgstr "Lägg till ett nytt konto"
#~ msgctxt "shortcut window"
#~ msgid "Selection mode"
#~ msgstr "Urvalsläge"
#~ msgctxt "shortcut window"
#~ msgid "Account list"
#~ msgstr "Kontolista"
#~ msgctxt "shortcut window"
#~ msgid "Select next/previous account"
#~ msgstr "Välj nästa/föregående konto"
#~ msgctxt "shortcut window"
#~ msgid "Add Account"
#~ msgstr "Lägg till konto"
#~ msgid ""
#~ "This program comes with absolutely no warranty. See the <a href=\"http://"
#~ "www.gnu.org/licenses/gpl-3.0.html\">GNU General Public License, version 3 "
#~ "or later</a> for details."
#~ msgstr ""
#~ "Detta program kommer helt utan garanti. Se <a href=\"http://www.gnu.org/"
#~ "licenses/gpl-3.0.html\">GNU General Public License, version 3 eller "
#~ "senare</a> för detaljer."
#~ msgid "Github"
#~ msgstr "Github"
#~ msgid "Lock the Application"
#~ msgstr "Lås programmet"
#~ msgid "Apply"
#~ msgstr "Verkställ"
#~ msgid "Select an application"
#~ msgstr "Välj ett program"
#~ msgid "Enter your password"
#~ msgstr "Ange ditt lösenord"
#~ msgid "Remove the account"
#~ msgstr "Ta bort kontot"
#~ msgid "Copy the generated code"
#~ msgstr "Kopiera den genererade koden"
#~ msgid "Edit the account"
#~ msgstr "Redigera kontot"
#~ msgid "Save the new account name"
#~ msgstr "Spara det nya kontonamnet"
#~ msgid "Expires in %s seconds"
#~ msgstr "Går ut om %s sekunder"
#~ msgid "Error during the generation of code"
#~ msgstr "Fel under generering av kod"
#~ msgid "Do you really want to remove \"%s\"?"
#~ msgstr "Vill du verkligen ta bort ”%s”?"
#~ msgid "Password protection"
#~ msgstr "Lösenordsskydd"
#~ msgid "Auto-lock the application (m):"
#~ msgstr "Lås programmet automatiskt (m):"

590
po/tr.po Normal file
View file

@ -0,0 +1,590 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-03-18 18:03+0000\n"
"Last-Translator: Serdar Sağlam <teknomobil@msn.com>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/authenticator/"
"translation/tr/>\n"
"Language: tr\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.6-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr "Kimlik Doğrulayıcı"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr "İki aşamalı kimlik doğrulama kodu üreteci"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
"GNOME için oluşturulan iki aşamalı kimlik doğrulama kodu üreten basit bir "
"uygulama."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr "Özellikler:"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr "QR kod tarayıcı"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr "Mükemmel kullanıcı arayüzü"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "Uygulamayı bir parola ile kilitle"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
"Uygulamayı GNOME Gitlab'ın Worl grubuna taşıdığımdan, web sitesinden "
"indirebileceğiniz her yeni işlem için bir Flatpak yapısı vardır."
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr "Temel bir JSON dosyasından yedekle ve geri yükle"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr "Şifreli bir GPG JSON dosyasından yedekle ve geri yükle"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr "AndOTP desteği ekle (ücretsiz ve açık Android 2FA uygulaması)"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr "Üç bölümlü yeni pencere ayarları: görünüm, davranış ve yedekleme"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr "En son GNOME Çalışma Zamanı Modülü ile Flatpak İnşasını Onarın"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr "Proje GOME Gitlab'ın Word grubuna taşındı"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr "GNOME Kabuk Arama sağlayıcısı"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr "Kodlar aynı anda sona eriyor #91"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr "GNOME HIG'i daha yakından takip etmek için yenilenen ana pencere"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
"Yenilendi, kullanımı kolaylaştırmak için yeni bir hesap penceresi ekleyin"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
"Gönderilen veri tabanında listelenmeyen bir sağlayıcıdan hesap ekleme imkanı"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr "Bir hesap düzenleme imkanı"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr "Öntanımlı olarak görünür durumda tek seferlik parola"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr "Python-dbus'u GDbus kullanarak düzeltin"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr "QR Tarayıcısını GNOME Kabuğuna Sabitleyin"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr "Hesabın kullanıcı adı için yeni bir giriş ekleyin"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr "Desteklenen hesapların güncellenmiş veritabanı"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr "DÜZELTME: Uygulama GNOME dışında DE'de çalışmıyor"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr "Projeyi Authenticator olarak yeniden adlandır"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr "Kod tabanı temizleyici"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr "Hızlı başlangıç"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr "Gereksiz özellikler kaldırıldı"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr "Zbarlight yerine pyzbar'a geç"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr "Flatpak paketi"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr "Bilal Elmoussaoui"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr "İki aşamalı kimlik doğrulama"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr "Gnome;Kimlik;Doğrulayıcı;Authenticator;"
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr "@appid@"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr "Öntanımlı pencere konumu"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "Koyu tema"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
msgid "Whether the application should use a dark theme."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr "Öntanımlı pencere yükseklik davranışı"
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr "İki aşamalı kimlik doğrulama kodu üreteci."
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr "Serdar Sağlam <teknomobil@yandex.com"
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr "Yeni hesap ekle"
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "Kapat"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "Ekle"
#: data/ui/account_add.ui:54
msgid "Scan QR Code"
msgstr "QR Kodunu Tara"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
#, fuzzy
msgid "Account Name"
msgstr "Hesap adı"
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "Sağlayıcı"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "Kaydet"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "Düzenle"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "Sil"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr "PIN'i panoya kopyala"
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "Parolayı Tekrarla"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "Parola"
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "Parola"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "Parolayı Tekrarla"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "Tercihler"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr "Davranış"
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr "Genel"
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr "Kısayolları Göster"
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr "Tercihler"
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr "Çık"
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr "Hesaplar"
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr "Ekle"
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr "Ara"
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr "Henüz hesap yok…"
#: data/ui/window.ui.in:211
#, fuzzy
msgid "Add a new account from the menu"
msgstr "Yeni hesap ekle"
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "QR Kodunu Tara"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
msgid "Authenticator is locked"
msgstr "Kimlik Doğrulayıcı kilitlendi"
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr "Kilidi aç"
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr "Hata ayıklama kipinde başlat"
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr "Kimlik doğrulayıcı sürüm numarası"
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "Uygulamayı kilitle"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr "düz metin JSON dosyasından"
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr "düz metinli JSON dosyasına"
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "Onar"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "Yedekle"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "Bağış"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "Klavye Kısayolları"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr "Kimlik Doğrulayıcı Hakkında"
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr "Öntanımlı"
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "Geçersiz QR kodu"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr "Tek kullanımlık parolalar {} saniye içinde sona eriyor"
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr "Gizli kod oluşturulamadı"
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "Uygulamayı kilitle"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr ""
#: src/Authenticator/widgets/settings.py:93
msgid "Lock the application with a password"
msgstr "Uygulamayı bir parola ile kilitle"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "Kimlik doğrulama parolası"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "Kimlik doğrulama parolası"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "Kimlik doğrulama parolası"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "Parola"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr "JSON dosyası"
#~ msgid "Huge database of (290+) websites/applications"
#~ msgstr "(290+) web sitesinin/uygulamasının devasa veritabanı"
#~ msgid "Night mode"
#~ msgstr "Gece kipi"
#~ msgid "Enable/disable night mode within the application"
#~ msgstr "Uygulama içinde gece kipini etkinleştir/devre dışı bırak"
#~ msgid "Use a dark theme, if possible"
#~ msgstr "Mümkünse koyu tema kullan"
#~ msgid "Keep your accounts safer "
#~ msgstr "Hesaplarınızı güvende tutun "
#~ msgid "Settings"
#~ msgstr "Ayarlar"
#~ msgid "Authenticator Password"
#~ msgstr "Kimlik Doğrulayıcı Parolası"
#~ msgid "Edit {} - {}"
#~ msgstr "Düzenle {} - {}"
#~ msgid "Authentication password was unset. Please restart the application"
#~ msgstr "Kimlik Doğrulama parolası ayarlanmamış. Lütfen yeniden başlatın"
#~ msgid ""
#~ "Authentication password is now enabled. Please restart the application."
#~ msgstr "Kimlik Doğrulama parolası şimdi etkin. Lütfen yeniden başlatın."
#~ msgid "Open"
#~ msgstr "Aç"
#~ msgid "Cancel"
#~ msgstr "İptal"
#~ msgid "Select"
#~ msgstr "Seç"
#~ msgid "Secret token"
#~ msgstr "Gizli belirteç"
#~ msgid "zbar library is not found. QRCode scanner will be disabled"
#~ msgstr "zbar kütüphanesi bulunamadı. QRCode tarayıcı devre dışı bırakılacak"
#~ msgid "Copy"
#~ msgstr "Kopyala"
#~ msgid "Search"
#~ msgstr "Ara"
#~ msgid "Selection mode"
#~ msgstr "Seçim modu"
#~ msgid "Click on items to select them"
#~ msgstr "Seçmek için üzerine tıkla"
#~ msgid "Old Password"
#~ msgstr "Eski parola"
#~ msgid "Appearance"
#~ msgstr "Görünüm"
#~ msgid "Erase existing accounts"
#~ msgstr "Mevcut hesapları sil"

535
po/zh_TW.po Normal file
View file

@ -0,0 +1,535 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the Authenticator package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: Authenticator\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-20 05:14+0200\n"
"PO-Revision-Date: 2019-01-29 03:08+0000\n"
"Last-Translator: Louies <louies0623@gmail.com>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"authenticator/translation/zh_Hant/>\n"
"Language: zh_Hant\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.5-dev\n"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:6
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:3
#: src/Authenticator/application.py.in:37
msgid "Authenticator"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:7
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:5
msgid "Two-factor authentication code generator"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:9
msgid ""
"Simple application that generates a two-factor authentication code, created "
"for GNOME."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:10
msgid "Features:"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:12
msgid "QR code scanner"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:13
msgid "Beautiful UI"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:14
msgid "Huge database of more than 560 supported services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:15
#, fuzzy
msgid "Keep your PIN tokens secure by locking the application with a password"
msgstr "鎖定應用程式"
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:16
msgid "Automtically fetch an image for services using their favicon"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:17
msgid "The possibility to add new services"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:37
msgid ""
"New 3.31 beta is out! Here's an overview of what changed Please backup your "
"accounts before updating to the latest version and restore the data after "
"update."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:42
msgid "New settings window"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:43
msgid "Download provider images using their favicon if possible"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:44
msgid "Night Light feature: not working yet!"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:45
msgid ""
"The possiblity to enable/disable a password without having to reset "
"everything"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:46
msgid ""
"You can now add new providers and set images for providers that we didn't "
"find an icon for"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:47
msgid "Mobile ready"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:48
msgid "New icon by Tobias"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:49
msgid "Bunch of fixed bugs"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:55
msgid ""
"Since I have moved the application to GOME Gitlab's World group, a Flatpak "
"build for each new commit is available to download from the site's website."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:59
msgid "Backup and restore from a basic JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:60
msgid "Backup and restore from an encrypted-GPG JSON file"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:61
msgid "Add andOTP support (free and open Android 2FA application)"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:62
msgid "New Settings Widow with 3 sections: appearance, behavior and backup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:63
msgid "Fix Flatpak Build with the latest GNOME Runtime"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:64
msgid "Move the project to GOME Gitlab's World group"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:71
msgid "GNOME Shell Search provider"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:72
msgid "Codes expire simultaneously #91"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:79
msgid "Revamped main window to more closely follow the GNOME HIG"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:80
msgid "Revamped add a new account window to make it easier to use"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:81
msgid ""
"Possibility to add an account from a provider not listed in the shipped "
"database"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:82
msgid "Possibilty to edit an account"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:83
msgid "One Time Password now visible by default"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:90
msgid "Fix python-dbus by using GDbus instead"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:97
msgid "Fix the QRScanner on GNOME Shell"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:98
msgid "Add a new entry for the account's username"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:99
msgid "Updated database of supported accounts"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:106
msgid "HOTFIX: App not running in DE other than GNOME"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:113
msgid "Rename project to Authenticator"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:114
msgid "Cleaner code base"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:115
msgid "Faster startup"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:116
msgid "Remove unneeded features"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:117
msgid "Switch to pyzbar instead of zbarlight"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:118
msgid "Flatpak package"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.appdata.xml.in.in:134
msgid "Bilal Elmoussaoui"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:4
msgid "Two-factor authentication"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:10
msgid "Gnome;GTK;Verification;"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.desktop.in.in:11
msgid "@appid@"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:6
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:7
msgid "Default window position"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:11
#: src/Authenticator/widgets/settings.py:83
#, fuzzy
msgid "Dark Theme"
msgstr "黑暗主題"
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:12
#: src/Authenticator/widgets/settings.py:84
msgid "Whether the application should use a dark theme."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:16
#: src/Authenticator/widgets/settings.py:88
msgid "Night Light"
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:17
#: src/Authenticator/widgets/settings.py:89
msgid "Automatically enable dark mode at night."
msgstr ""
#: data/com.github.bilelmoussaoui.Authenticator.gschema.xml.in:21
msgid "Default window maximized behaviour"
msgstr ""
#: data/ui/about_dialog.ui.in:10
msgid "Two-factor authentication code generator."
msgstr ""
#: data/ui/about_dialog.ui.in:13
msgid "translator-credits"
msgstr ""
#: data/ui/account_add.ui:22
msgid "Add a new account"
msgstr ""
#: data/ui/account_add.ui:25 data/ui/account_edit.ui:19
msgid "Close"
msgstr "關閉"
#: data/ui/account_add.ui:34
msgid "Add"
msgstr "添加"
#: data/ui/account_add.ui:54
#, fuzzy
msgid "Scan QR Code"
msgstr "掃描 QR Code"
#: data/ui/account_config.ui:85
msgid "Enable 2FA for this account"
msgstr ""
#: data/ui/account_config.ui:86
msgid "2FA Token"
msgstr ""
#: data/ui/account_config.ui:100
msgid "Account Name"
msgstr ""
#: data/ui/account_config.ui:123
msgid "Provider"
msgstr "供應商"
#: data/ui/account_edit.ui:28 data/ui/settings.ui.in:50
msgid "Save"
msgstr "儲存"
#: data/ui/account_row.ui:23
msgid "Edit"
msgstr "編輯"
#: data/ui/account_row.ui:41
msgid "Delete"
msgstr "删除"
#: data/ui/account_row.ui:97
msgid "Copy PIN to clipboard"
msgstr ""
#: data/ui/password_widget.ui:46
#, fuzzy
msgid "Current Password:"
msgstr "再次輸入密碼"
#: data/ui/password_widget.ui:90
#, fuzzy
msgid "New Password:"
msgstr "密碼"
#: data/ui/password_widget.ui:135
msgid "Confirm New Password:"
msgstr ""
#: data/ui/password_widget.ui:183 src/Authenticator/widgets/settings.py:208
#, fuzzy
msgid "Change Password"
msgstr "密碼"
#: data/ui/password_widget.ui:204
#, fuzzy
msgid "Delete Password"
msgstr "再次輸入密碼"
#: data/ui/provider_image.ui:41
msgid "We couldn't find an image for this provider"
msgstr ""
#. Night mode action
#: data/ui/settings.ui.in:28 src/Authenticator/application.py.in:112
msgid "Preferences"
msgstr "偏好設定"
#: data/ui/settings.ui.in:95
msgid "Behaviour"
msgstr ""
#: data/ui/shortcuts.ui:13
msgctxt "shortcut window"
msgid "General"
msgstr ""
#: data/ui/shortcuts.ui:17
msgctxt "shortcut window"
msgid "Show Shortcuts"
msgstr ""
#: data/ui/shortcuts.ui:24
msgctxt "shortcut window"
msgid "Preferences"
msgstr ""
#: data/ui/shortcuts.ui:31
msgctxt "shortcut window"
msgid "Quit"
msgstr ""
#: data/ui/shortcuts.ui:40
msgctxt "shortcut window"
msgid "Accounts"
msgstr ""
#: data/ui/shortcuts.ui:44
msgctxt "shortcut window"
msgid "Add"
msgstr ""
#: data/ui/shortcuts.ui:51
msgctxt "shortcut window"
msgid "Search"
msgstr ""
#: data/ui/window.ui.in:182
msgid "There are no accounts yet…"
msgstr ""
#: data/ui/window.ui.in:211
msgid "Add a new account from the menu"
msgstr ""
#: data/ui/window.ui.in:227
#, fuzzy
msgid "Scan a QR Code"
msgstr "掃描 QR Code"
#: data/ui/window.ui.in:373
msgid "No results found"
msgstr ""
#: data/ui/window.ui.in:437
msgid "Authenticator is locked"
msgstr ""
#: data/ui/window.ui.in:476
msgid "Unlock"
msgstr ""
#: src/authenticator.py.in:50
msgid "Start in debug mode"
msgstr ""
#: src/authenticator.py.in:52
msgid "Authenticator version number"
msgstr ""
#: src/Authenticator/application.py.in:92
#: src/Authenticator/widgets/settings.py:92
msgid "Lock the application"
msgstr "鎖定應用程式"
#: src/Authenticator/application.py.in:100
msgid "from a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:101
msgid "in a plain-text JSON file"
msgstr ""
#: src/Authenticator/application.py.in:103
msgid "Restore"
msgstr "還原"
#: src/Authenticator/application.py.in:104
msgid "Backup"
msgstr "備份"
#: src/Authenticator/application.py.in:113
msgid "Donate"
msgstr "贊助"
#: src/Authenticator/application.py.in:114
msgid "Keyboard Shortcuts"
msgstr "鍵盤快速鍵"
#: src/Authenticator/application.py.in:115
msgid "About Authenticator"
msgstr ""
#: src/Authenticator/models/account.py:71
msgid "Default"
msgstr ""
#: src/Authenticator/widgets/accounts/add.py:58
msgid "Invalid QR code"
msgstr "無效的 QR code"
#: src/Authenticator/widgets/accounts/list.py:143
msgid "The One-Time Passwords expires in {} seconds"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:80
msgid "Couldn't generate the secret code"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:91
msgid "The PIN of {} was copied to the clipboard"
msgstr ""
#: src/Authenticator/widgets/accounts/row.py:123
msgid "The account was updated successfully"
msgstr ""
#: src/Authenticator/widgets/notification.py:43
#, fuzzy
msgid "Close the notification"
msgstr "鎖定應用程式"
#: src/Authenticator/widgets/notification.py:48
#: src/Authenticator/widgets/notification.py:63
msgid "Undo"
msgstr ""
#: src/Authenticator/widgets/settings.py:93
#, fuzzy
msgid "Lock the application with a password"
msgstr "鎖定應用程式"
#: src/Authenticator/widgets/settings.py:157
#, fuzzy
msgid "Authentication password is now enabled."
msgstr "再次輸入密碼"
#: src/Authenticator/widgets/settings.py:159
#, fuzzy
msgid "The authentication password was updated."
msgstr "再次輸入密碼"
#: src/Authenticator/widgets/settings.py:163
#, fuzzy
msgid "The authentication password was deleted."
msgstr "再次輸入密碼"
#: src/Authenticator/widgets/settings.py:204
#, fuzzy
msgid "Save Password"
msgstr "密碼"
#: src/Authenticator/widgets/utils.py:40 src/Authenticator/widgets/utils.py:45
msgid "JSON files"
msgstr ""
#~ msgid "Settings"
#~ msgstr "設定"
#~ msgid "Cancel"
#~ msgstr "取消"
#~ msgid "Copy"
#~ msgstr "複製"
#~ msgid "Search"
#~ msgstr "搜尋"
#~ msgid "Selection mode"
#~ msgstr "選擇模式"
#~ msgid "Appearance"
#~ msgstr "外觀"

3
rustfmt.toml Normal file
View file

@ -0,0 +1,3 @@
max_width = 200
edition = "2018"

114
src/application.rs Normal file
View file

@ -0,0 +1,114 @@
use crate::config;
use crate::widgets::{AddAccountDialog, View, Window};
use gio::prelude::*;
use gtk::prelude::*;
use std::env;
use std::{cell::RefCell, rc::Rc};
use glib::{Receiver, Sender};
pub enum Action {
ViewAccounts,
OpenAddAccountDialog,
}
pub struct Application {
app: gtk::Application,
window: Rc<RefCell<Window>>,
sender: Sender<Action>,
receiver: RefCell<Option<Receiver<Action>>>,
}
impl Application {
pub fn new() -> Rc<Self> {
let app = gtk::Application::new(Some(config::APP_ID), Default::default()).unwrap();
glib::set_application_name(&format!("{}Authenticator", config::NAME_PREFIX));
glib::set_prgname(Some("authenticator"));
let (sender, r) = glib::MainContext::channel(glib::PRIORITY_DEFAULT);
let receiver = RefCell::new(Some(r));
let window = Window::new(sender.clone());
let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/shortcuts.ui");
let dialog: gtk::ShortcutsWindow = builder.get_object("shortcuts").unwrap();
window.borrow().widget.set_help_overlay(Some(&dialog));
let application = Rc::new(Self { app, window, sender, receiver });
application.setup_gactions();
application.setup_signals();
application.setup_css();
application
}
pub fn run(&self, app: Rc<Self>) {
info!("{}Authenticator ({})", config::NAME_PREFIX, config::APP_ID);
info!("Version: {} ({})", config::VERSION, config::PROFILE);
info!("Datadir: {}", config::PKGDATADIR);
let app = app.clone();
let receiver = self.receiver.borrow_mut().take().unwrap();
receiver.attach(None, move |action| app.do_action(action));
let args: Vec<String> = env::args().collect();
self.app.run(&args);
}
fn setup_gactions(&self) {
// Quit
let app = self.app.clone();
let simple_action = gio::SimpleAction::new("quit", None);
simple_action.connect_activate(move |_, _| app.quit());
self.app.add_action(&simple_action);
self.app.set_accels_for_action("app.quit", &["<primary>q"]);
// About
let window = self.window.borrow().widget.clone();
let simple_action = gio::SimpleAction::new("about", None);
simple_action.connect_activate(move |_, _| {
let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/about_dialog.ui");
let about_dialog: gtk::AboutDialog = builder.get_object("about_dialog").unwrap();
about_dialog.set_transient_for(Some(&window));
about_dialog.connect_response(|dialog, _| dialog.destroy());
about_dialog.show();
});
self.app.add_action(&simple_action);
self.app.set_accels_for_action("win.show-help-overlay", &["<primary>question"]);
}
fn setup_signals(&self) {
let window = self.window.borrow().widget.clone();
self.app.connect_activate(move |app| {
let gtk_settings = gtk::Settings::get_default().unwrap();
window.set_application(Some(app));
app.add_window(&window);
window.present();
});
}
fn setup_css(&self) {
let theme = gtk::IconTheme::get_default().unwrap();
theme.add_resource_path("/com/belmoussaoui/Authenticator/icons");
let p = gtk::CssProvider::new();
gtk::CssProvider::load_from_resource(&p, "/com/belmoussaoui/Authenticator/style.css");
gtk::StyleContext::add_provider_for_screen(&gdk::Screen::get_default().unwrap(), &p, 500);
}
fn do_action(&self, action: Action) -> glib::Continue {
match action {
Action::OpenAddAccountDialog => {
let dialog = AddAccountDialog::new(self.sender.clone());
dialog.widget.set_transient_for(Some(&self.window.borrow().widget));
}
Action::ViewAccounts => self.window.borrow().set_view(View::Accounts),
};
glib::Continue(true)
}
}

8
src/config.rs.in Normal file
View file

@ -0,0 +1,8 @@
pub static APP_ID: &'static str = @APP_ID@;
pub static PKGDATADIR: &'static str = @PKGDATADIR@;
pub static PROFILE: &'static str = @PROFILE@;
pub static NAME_PREFIX: &'static str = @NAME_PREFIX@;
pub static VERSION: &'static str = @VERSION@;
pub static GETTEXT_PACKAGE: &'static str = @GETTEXT_PACKAGE@;
pub static LOCALEDIR: &'static str = @LOCALEDIR@;

0
src/helpers/database.rs Normal file
View file

0
src/helpers/keyring.rs Normal file
View file

48
src/main.rs Normal file
View file

@ -0,0 +1,48 @@
extern crate pretty_env_logger;
#[macro_use]
extern crate log;
#[macro_use]
extern crate failure;
#[macro_use]
extern crate lazy_static;
#[macro_use]
extern crate diesel_migrations;
#[macro_use]
extern crate diesel;
#[macro_use]
extern crate glib;
#[macro_use]
extern crate serde_derive;
extern crate gtk;
use gettextrs::*;
use libhandy::ColumnExt;
mod application;
mod config;
mod models;
mod schema;
mod static_resources;
mod widgets;
mod window_state;
use application::Application;
use config::{GETTEXT_PACKAGE, LOCALEDIR};
fn main() {
pretty_env_logger::init();
gtk::init().expect("Unable to start GTK3");
// Prepare i18n
setlocale(LocaleCategory::LcAll, "");
bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR);
textdomain(GETTEXT_PACKAGE);
static_resources::init().expect("Failed to initialize the resource file.");
let column = libhandy::Column::new();
column.set_maximum_width(800);
column.set_linear_growth_width(600);
let app = Application::new();
app.run(app.clone());
}

83
src/meson.build Normal file
View file

@ -0,0 +1,83 @@
pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
global_conf = configuration_data()
global_conf.set_quoted('APP_ID', application_id)
global_conf.set_quoted('PKGDATADIR', pkgdatadir)
global_conf.set_quoted('PROFILE', profile)
global_conf.set_quoted('NAME_PREFIX', name_prefix)
global_conf.set_quoted('VERSION', version + version_suffix)
global_conf.set_quoted('GETTEXT_PACKAGE', gettext_package)
global_conf.set_quoted('LOCALEDIR', localedir)
config_output_file = configure_file(
input: 'config.rs.in',
output: 'config.rs',
configuration: global_conf
)
# Copy the config.rs output to the source directory.
run_command(
'cp',
join_paths(meson.build_root(), 'src', 'config.rs'),
join_paths(meson.source_root(), 'src', 'config.rs'),
check: true
)
# include_bytes! only takes a string literal
resources_conf = configuration_data()
resources_conf.set_quoted('RESOURCEFILE', resources.full_path())
static_resources_output_file = configure_file(
input: 'static_resources.rs.in',
output: 'static_resources.rs',
configuration: resources_conf
)
run_command(
'cp',
static_resources_output_file,
meson.current_source_dir(),
check: true
)
sources = files(
'models/account.rs',
'models/accounts.rs',
'models/database.rs',
'models/mod.rs',
'models/object_wrapper.rs',
'models/provider.rs',
'models/providers.rs',
'widgets/accounts/add.rs',
'widgets/accounts/list.rs',
'widgets/accounts/mod.rs',
'widgets/providers/list.rs',
'widgets/providers/mod.rs',
'widgets/mod.rs',
'widgets/window.rs',
'application.rs',
'config.rs',
'main.rs',
'schema.rs',
'static_resources.rs',
'window_state.rs'
)
cargo_script = find_program(join_paths(meson.source_root(), 'build-aux/cargo.sh'))
cargo_release = custom_target(
'cargo-build',
build_by_default: true,
input: sources,
output: meson.project_name(),
console: true,
install: true,
install_dir: get_option('bindir'),
depends: resources,
command: [
cargo_script,
meson.build_root(),
meson.source_root(),
'@OUTPUT@',
get_option('buildtype'),
meson.project_name(),
]
)

36
src/models/account.rs Normal file
View file

@ -0,0 +1,36 @@
use crate::schema::accounts;
use crate::models::database;
use diesel::RunQueryDsl;
pub use failure::Error;
use diesel::prelude::*;
#[derive(Queryable, PartialEq, Debug, Clone, Serialize, Deserialize)]
pub struct Account {
pub id: i32,
pub username: String,
pub token_id: String,
pub provider: i32,
}
#[derive(Insertable)]
#[table_name = "accounts"]
pub struct NewAccount {
pub username: String,
pub token_id: String,
pub provider: i32,
}
impl database::Insert<Account> for NewAccount {
type Error = database::Error;
fn insert(&self) -> Result<Account, database::Error> {
let db = database::connection();
let conn = db.get()?;
diesel::insert_into(accounts::table).values(self).execute(&conn)?;
accounts::table.order(accounts::columns::id.desc()).first::<Account>(&conn).map_err(From::from)
}
}

106
src/models/accounts.rs Normal file
View file

@ -0,0 +1,106 @@
use super::account::Account;
use super::database;
use super::object_wrapper::ObjectWrapper;
use super::provider::Provider;
use gio::prelude::*;
use glib::prelude::*;
use std::cell::RefCell;
#[derive(Clone, PartialEq)]
pub enum SortOrder {
Asc,
Desc,
}
#[derive(Clone, PartialEq)]
pub enum SortBy {
Name,
Date,
}
impl From<&str> for SortBy {
fn from(sortby: &str) -> Self {
match sortby {
"name" => SortBy::Name,
"date" => SortBy::Date,
_ => SortBy::Name,
}
}
}
pub struct AccountsModel {
pub model: gio::ListStore,
sort_order: RefCell<SortOrder>,
sort_by: RefCell<SortBy>,
provider: Provider,
}
impl AccountsModel {
pub fn from_provider(provider: &Provider) -> Self {
let gio_model = gio::ListStore::new(ObjectWrapper::static_type());
let model = Self {
model: gio_model,
sort_order: RefCell::new(SortOrder::Desc),
sort_by: RefCell::new(SortBy::Name),
provider: provider.clone(),
};
model.init();
model
}
fn init(&self) {
// fill in the accounts from the database
let accounts = database::get_accounts_by_provider(self.provider.clone()).unwrap();
for account in accounts.into_iter() {
self.add_account(&account);
}
}
fn add_account(&self, account: &Account) {
let object = ObjectWrapper::new(Box::new(account));
let sort_by = self.sort_by.clone();
let sort_order = self.sort_order.clone();
self.model
.insert_sorted(&object, move |a, b| Self::accounts_cmp(a, b, sort_by.borrow().clone(), sort_order.borrow().clone()));
}
pub fn get_count(&self) -> u32 {
self.model.get_n_items()
}
pub fn set_sorting(&self, sort_by: Option<SortBy>, sort_order: Option<SortOrder>) {
let sort_by = match sort_by {
Some(sort_by) => {
self.sort_by.replace(sort_by.clone());
sort_by
}
None => self.sort_by.borrow().clone(),
};
let sort_order = match sort_order {
Some(sort_order) => {
self.sort_order.replace(sort_order.clone());
sort_order
}
None => self.sort_order.borrow().clone(),
};
self.model.sort(move |a, b| Self::accounts_cmp(a, b, sort_by.clone(), sort_order.clone()));
}
fn accounts_cmp(a: &gio::Object, b: &gio::Object, sort_by: SortBy, sort_order: SortOrder) -> std::cmp::Ordering {
let mut account_a: Account = a.downcast_ref::<ObjectWrapper>().unwrap().deserialize();
let mut account_b: Account = b.downcast_ref::<ObjectWrapper>().unwrap().deserialize();
if sort_order == SortOrder::Desc {
let tmp = account_a;
account_a = account_b;
account_b = tmp;
}
/*match sort_by {
SortBy::Name => account_a.get_title().cmp(&account_b.get_title()),
SortBy::Date => account_a.get_created_at().cmp(&account_b.get_created_at()),
}*/
account_a.username.cmp(&account_b.username)
}
}

74
src/models/database.rs Normal file
View file

@ -0,0 +1,74 @@
use crate::models::{Account, Provider};
use diesel::prelude::*;
use diesel::r2d2;
use diesel::r2d2::ConnectionManager;
pub use failure::Error;
use std::path::PathBuf;
use std::{fs, fs::File};
type Pool = r2d2::Pool<ConnectionManager<SqliteConnection>>;
lazy_static! {
static ref DB_PATH: PathBuf = glib::get_user_data_dir().unwrap().join("authenticator");
static ref POOL: Pool = init_pool().expect("Failed to create a pool");
}
embed_migrations!("migrations/");
pub(crate) fn connection() -> Pool {
POOL.clone()
}
fn run_migration_on(connection: &SqliteConnection) -> Result<(), Error> {
info!("Running DB Migrations...");
embedded_migrations::run_with_output(connection, &mut std::io::stdout()).map_err(From::from)
}
fn init_pool() -> Result<Pool, Error> {
let db_path = &DB_PATH;
fs::create_dir_all(&db_path.to_str().unwrap())?;
let db_path = db_path.join("library.db");
if !db_path.exists() {
File::create(&db_path.to_str().unwrap())?;
}
let manager = ConnectionManager::<SqliteConnection>::new(db_path.to_str().unwrap());
let pool = r2d2::Pool::builder().max_size(1).build(manager)?;
{
let db = pool.get()?;
run_migration_on(&*db)?;
}
info!("Database pool initialized.");
Ok(pool)
}
pub trait Insert<T> {
type Error;
fn insert(&self) -> Result<T, Self::Error>;
}
pub fn get_accounts_by_provider(provider_model: Provider) -> Result<Vec<Account>, Error> {
use crate::schema::accounts::dsl::*;
let db = connection();
let conn = db.get()?;
accounts.filter(provider.eq(provider_model.id)).load::<Account>(&conn).map_err(From::from)
}
pub fn get_accounts() -> Result<Vec<Account>, Error> {
use crate::schema::accounts::dsl::*;
let db = connection();
let conn = db.get()?;
accounts.load::<Account>(&conn).map_err(From::from)
}
pub fn get_providers() -> Result<Vec<Provider>, Error> {
use crate::schema::providers::dsl::*;
let db = connection();
let conn = db.get()?;
providers.load::<Provider>(&conn).map_err(From::from)
}

12
src/models/mod.rs Normal file
View file

@ -0,0 +1,12 @@
mod account;
mod accounts;
pub mod database;
mod object_wrapper;
mod provider;
mod providers;
pub use self::account::{Account, NewAccount};
pub use self::accounts::AccountsModel;
pub use self::object_wrapper::ObjectWrapper;
pub use self::provider::{NewProvider, Provider};
pub use self::providers::ProvidersModel;

View file

@ -0,0 +1,102 @@
// ObjectWrapper is a GObject subclass, which we need to carry the rustio::Station/song::Song struct.
// With this we can use gtk::ListBox bind_model() properly.
//
// For more details, you should look at this gtk-rs example:
// https://github.com/gtk-rs/examples/blob/master/src/bin/listbox_model.rs
// Source https://gitlab.gnome.org/World/Shortwave/blob/master/src/model/object_wrapper.rs
use gtk::prelude::*;
use serde::de::DeserializeOwned;
use glib::subclass;
use glib::subclass::prelude::*;
use glib::translate::*;
mod imp {
use super::*;
use std::cell::RefCell;
pub struct ObjectWrapper {
data: RefCell<Option<String>>,
}
static PROPERTIES: [subclass::Property; 1] = [subclass::Property("data", |name| {
glib::ParamSpec::string(
name,
"Data",
"Data",
None, // Default value
glib::ParamFlags::READWRITE,
)
})];
impl ObjectSubclass for ObjectWrapper {
const NAME: &'static str = "ObjectWrapper";
type ParentType = glib::Object;
type Instance = subclass::simple::InstanceStruct<Self>;
type Class = subclass::simple::ClassStruct<Self>;
glib_object_subclass!();
fn class_init(klass: &mut Self::Class) {
klass.install_properties(&PROPERTIES);
}
fn new() -> Self {
Self { data: RefCell::new(None) }
}
}
impl ObjectImpl for ObjectWrapper {
glib_object_impl!();
fn set_property(&self, _obj: &glib::Object, id: usize, value: &glib::Value) {
let prop = &PROPERTIES[id];
match *prop {
subclass::Property("data", ..) => {
let data = value.get();
self.data.replace(data);
}
_ => unimplemented!(),
}
}
fn get_property(&self, _obj: &glib::Object, id: usize) -> Result<glib::Value, ()> {
let prop = &PROPERTIES[id];
match *prop {
subclass::Property("data", ..) => Ok(self.data.borrow().to_value()),
_ => unimplemented!(),
}
}
}
}
glib_wrapper! {
pub struct ObjectWrapper(Object<subclass::simple::InstanceStruct<imp::ObjectWrapper>, subclass::simple::ClassStruct<imp::ObjectWrapper>, ObjectWrapperClass>);
match fn {
get_type => || imp::ObjectWrapper::get_type().to_glib(),
}
}
impl ObjectWrapper {
pub fn new<O>(object: O) -> ObjectWrapper
where
O: serde::ser::Serialize,
{
glib::Object::new(Self::static_type(), &[("data", &serde_json::to_string(&object).unwrap())])
.unwrap()
.downcast()
.unwrap()
}
pub fn deserialize<O>(&self) -> O
where
O: DeserializeOwned,
{
let data = self.get_property("data").unwrap().get::<String>().unwrap();
serde_json::from_str(&data).unwrap()
}
}

38
src/models/provider.rs Normal file
View file

@ -0,0 +1,38 @@
use crate::schema::providers;
use crate::models::database;
use diesel::RunQueryDsl;
pub use failure::Error;
use diesel::prelude::*;
#[derive(Queryable, Hash, PartialEq, Eq, Debug, Clone, Serialize, Deserialize)]
pub struct Provider {
pub id: i32,
pub name: String,
pub website: String,
pub help_url: String,
pub image_uri: String,
}
#[derive(Insertable)]
#[table_name = "providers"]
pub struct NewProvider {
pub name: String,
pub website: String,
pub help_url: String,
pub image_uri: String,
}
impl database::Insert<Provider> for NewProvider {
type Error = database::Error;
fn insert(&self) -> Result<Provider, database::Error> {
let db = database::connection();
let conn = db.get()?;
diesel::insert_into(providers::table).values(self).execute(&conn)?;
providers::table.order(providers::columns::id.desc()).first::<Provider>(&conn).map_err(From::from)
}
}

37
src/models/providers.rs Normal file
View file

@ -0,0 +1,37 @@
use super::accounts::AccountsModel;
use super::database;
use super::provider::Provider;
use gio::prelude::*;
use glib::prelude::*;
use std::cell::RefCell;
use std::collections::HashMap;
pub struct ProvidersModel {
pub model: HashMap<Provider, AccountsModel>,
}
impl ProvidersModel {
pub fn new() -> Self {
let mut model = Self { model: HashMap::new() };
model.init();
model
}
pub fn add_provider(&mut self, provider: Provider) {
let accounts_model = AccountsModel::from_provider(&provider);
self.model.insert(provider, accounts_model);
}
pub fn get_count(&self) -> usize {
self.model.len()
}
fn init(&mut self) {
// fill in the providers from the database
let providers = database::get_providers().unwrap();
for provider in providers.into_iter() {
self.add_provider(provider);
}
}
}

View file

18
src/schema.rs Normal file
View file

@ -0,0 +1,18 @@
table! {
accounts (id) {
id -> Integer,
username -> Text,
token_id -> Text,
provider -> Integer,
}
}
table! {
providers (id) {
id -> Integer,
name -> Text,
website -> Text,
help_url -> Text,
image_uri -> Text,
}
}

View file

@ -0,0 +1,21 @@
// Source: https://gitlab.gnome.org/World/podcasts/blob/master/podcasts-gtk/src/static_resource.rs
use gio::{resources_register, Error, Resource};
use glib::Bytes;
pub(crate) fn init() -> Result<(), Error> {
// load the gresource binary at build time and include/link it into the final
// binary.
let res_bytes = include_bytes!(@RESOURCEFILE@);
// Create Resource it will live as long the value lives.
let gbytes = Bytes::from_static(res_bytes.as_ref());
let resource = Resource::new_from_data(&gbytes)?;
// Register the resource so it won't be dropped and will continue to live in
// memory.
resources_register(&resource);
Ok(())
}

113
src/widgets/accounts/add.rs Normal file
View file

@ -0,0 +1,113 @@
use crate::application::Action;
use crate::models::database::{self, *};
use crate::models::{Account, AccountsModel, NewAccount};
use gio::prelude::*;
use glib::Sender;
use gtk::prelude::*;
use std::rc::Rc;
pub struct AddAccountDialog {
pub widget: gtk::Window,
builder: gtk::Builder,
sender: Sender<Action>,
}
impl AddAccountDialog {
pub fn new(sender: Sender<Action>) -> Rc<Self> {
let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/add_account.ui");
let widget: gtk::Window = builder.get_object("add_dialog").expect("Failed to retrieve AddAccountDialog");
widget.show_all();
let add_account_dialog = Rc::new(Self { widget, builder, sender });
add_account_dialog.setup_actions(add_account_dialog.clone());
add_account_dialog.setup_signals();
add_account_dialog
}
fn add_account(&self, account: NewAccount) -> Result<Account, database::Error> {
// TODO: add the account to the provider model.
account.insert()
}
fn notify_err(&self, error_msg: &str) {
let notification: gtk::Revealer = self.builder.get_object("notification").expect("Failed to retrieve notification");
let notification_msg: gtk::Label = self.builder.get_object("notification_msg").expect("Failed to retrieve notification_msg");
notification_msg.set_text(error_msg);
notification.set_reveal_child(true); // Display the notification
}
fn setup_signals(&self) {
let username_entry: gtk::Entry = self.builder.get_object("username_entry").expect("Failed to retrieve username_entry");
let token_entry: gtk::Entry = self.builder.get_object("token_entry").expect("Failed to retrieve token_entry");
let action_group = self.widget.get_action_group("add").unwrap().downcast::<gio::SimpleActionGroup>().unwrap();
let save_action = action_group.lookup_action("save").unwrap().downcast::<gio::SimpleAction>().unwrap();
let weak_username = username_entry.downgrade();
let weak_token = token_entry.downgrade();
let validate_entries = move |entry: &gtk::Entry| {
let mut username = String::new();
let mut token = String::new();
if let Some(username_entry) = weak_username.upgrade() {
username.push_str(&username_entry.get_text().unwrap());
}
if let Some(token_entry) = weak_token.upgrade() {
token.push_str(&token_entry.get_text().unwrap());
}
let is_valid = !(username.is_empty() || token.is_empty());
save_action.set_enabled(is_valid);
};
username_entry.connect_changed(validate_entries.clone());
token_entry.connect_changed(validate_entries);
}
fn setup_actions(&self, s: Rc<Self>) {
let actions = gio::SimpleActionGroup::new();
let back = gio::SimpleAction::new("back", None);
let sender = self.sender.clone();
let weak_dialog = self.widget.downgrade();
back.connect_activate(move |_, _| {
if let Some(dialog) = weak_dialog.upgrade() {
dialog.destroy();
}
});
actions.add_action(&back);
let save = gio::SimpleAction::new("save", None);
let add_account_dialog = s.clone();
save.connect_activate(move |_, _| {
let builder = &add_account_dialog.builder;
let username_entry: gtk::Entry = builder.get_object("username_entry").expect("Failed to retrieve username_entry");
let token_entry: gtk::Entry = builder.get_object("token_entry").expect("Failed to retrieve token_entry");
let new_account = NewAccount {
username: username_entry.get_text().unwrap().to_string(),
token_id: token_entry.get_text().unwrap().to_string(),
provider: 1,
};
if let Err(err) = add_account_dialog.add_account(new_account) {
add_account_dialog.notify_err("Failed to add a new account");
} else {
// Close the dialog if everything is fine.
add_account_dialog.widget.destroy();
}
});
save.set_enabled(false);
actions.add_action(&save);
let scan_qr = gio::SimpleAction::new("scan-qr", None);
let sender = self.sender.clone();
scan_qr.connect_activate(move |_, _| {
// sender.send(Action::OpenAddAccountDialog).unwrap();
});
actions.add_action(&scan_qr);
self.widget.insert_action_group("add", Some(&actions));
}
}

View file

@ -0,0 +1,61 @@
use gtk::prelude::*;
use glib::Sender;
use crate::application::Action;
use crate::models::{Account, AccountsModel, ObjectWrapper, Provider};
use crate::widgets::accounts::AccountRow;
pub struct AccountsList<'a> {
pub widget: gtk::Box,
builder: gtk::Builder,
sender: Sender<Action>,
model: &'a AccountsModel,
provider: &'a Provider,
}
/*
ProvidersList -> Vec<AccountsList>
*/
impl<'a> AccountsList<'a> {
pub fn new(model: &'a AccountsModel, provider: &'a Provider, sender: Sender<Action>) -> Self {
let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/accounts_list.ui");
let widget: gtk::Box = builder.get_object("accounts_list").expect("Failed to retrieve accounts_list");
let accounts_list = Self {
widget,
builder,
sender,
model,
provider,
};
accounts_list.init();
accounts_list
}
fn init(&self) {
let provider_name: gtk::Label = self.builder.get_object("provider_name").expect("Failed to retrieve provider_name");
provider_name.set_text(&self.provider.name);
let listbox: gtk::ListBox = self.builder.get_object("listbox").expect("Failed to retrieve listbox");
let sender = self.sender.clone();
listbox.bind_model(Some(&self.model.model), move |account| {
let account: Account = account.downcast_ref::<ObjectWrapper>().unwrap().deserialize();
let row = AccountRow::new(account, sender.clone());
let sender = sender.clone();
row.set_on_click_callback(move |_, _| {
// sender.send(Action::LoadChapter(chapter.clone())).unwrap();
gtk::Inhibit(false)
});
row.widget.upcast::<gtk::Widget>()
});
listbox.set_header_func(Some(Box::new(move |row1: &gtk::ListBoxRow, row2: Option<&gtk::ListBoxRow>| {
if let Some(row_before) = row2 {
let separator = gtk::Separator::new(gtk::Orientation::Horizontal);
row1.set_header(Some(&separator));
separator.show();
}
})));
}
}

View file

@ -0,0 +1,7 @@
mod add;
mod list;
mod row;
pub use self::add::AddAccountDialog;
pub use self::list::AccountsList;
pub use self::row::AccountRow;

View file

@ -0,0 +1,36 @@
use crate::application::Action;
use crate::models::Account;
use glib::Sender;
use gtk::prelude::*;
pub struct AccountRow {
pub widget: gtk::ListBoxRow,
builder: gtk::Builder,
sender: Sender<Action>,
account: Account,
}
impl AccountRow {
pub fn new(account: Account, sender: Sender<Action>) -> Self {
let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/account_row.ui");
let widget: gtk::ListBoxRow = builder.get_object("account_row").expect("Failed to load library_row object");
let account_row = Self { widget, builder, sender, account };
account_row.init();
account_row
}
fn init(&self) {
let username_label: gtk::Label = self.builder.get_object("username_label").expect("Failed to retrieve username_label");
username_label.set_text(&self.account.username);
}
pub fn set_on_click_callback<F>(&self, callback: F)
where
for<'r, 's> F: std::ops::Fn(&'r gtk::EventBox, &'s gdk::EventButton) -> gtk::Inhibit + 'static,
{
//let event_box: gtk::EventBox = self.builder.get_object("eventbox").expect("Failed to load eventbox");
// event_box.connect_button_press_event(callback);
}
}

7
src/widgets/mod.rs Normal file
View file

@ -0,0 +1,7 @@
mod accounts;
mod providers;
mod window;
pub use self::accounts::{AccountsList, AddAccountDialog};
pub use self::providers::ProvidersList;
pub use self::window::{View, Window};

View file

@ -0,0 +1,39 @@
use gio::prelude::*;
use glib::Sender;
use gtk::prelude::*;
use std::cell::RefCell;
use crate::application::Action;
use crate::models::ProvidersModel;
use crate::widgets::AccountsList;
pub struct ProvidersList {
pub widget: gtk::Box,
builder: gtk::Builder,
sender: Sender<Action>,
pub model: RefCell<ProvidersModel>,
}
impl ProvidersList {
pub fn new(sender: Sender<Action>) -> Self {
let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/Authenticator/providers_list.ui");
let widget: gtk::Box = builder.get_object("providers_list").expect("Failed to retrieve providers_list");
let model = RefCell::new(ProvidersModel::new());
let providers_list = Self { widget, builder, sender, model };
providers_list.init();
providers_list
}
fn init(&self) {
let providers_container: gtk::Box = self.builder.get_object("providers_container").expect("Failed to retrieve providers_container");
for (provider, accounts_model) in &self.model.borrow().model {
if accounts_model.get_count() != 0 {
let accounts_list = AccountsList::new(accounts_model, provider, self.sender.clone());
providers_container.pack_start(&accounts_list.widget, false, false, 0);
}
}
}
}

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