diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c32a846 --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +/*.bak +/*.lo +/*.o +/*.orig +/*.rej +/*.tab.c +/*~ +/.*.sw[nop] +/.deps +/.dirstamp +/.gitignore +/.libs +/GPATH +/GRTAGS +/GSYMS +/GTAGS +/ID +/Makefile +/Makefile.in +/TAGS +/_libs +/autom4te.cache +/config.cache +/config.h +/config.log +/config.lt +/config.status +/config.status.lineno +/configure +/configure.lineno +/intltool-extract.in +/intltool-merge.in +/intltool-update.in +/libtool +/po/*.gmo +/po/*.mo +/po/.intltool-merge-cache +/po/Makefile +/po/Makefile.in +/po/Makefile.in.in +/po/POTFILES +/po/fprintd.pot +/po/stamp-it +/so_locations +/stamp-h1 +/tags diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..fe3e677 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,59 @@ +image: fedora:rawhide + +variables: + DEPENDENCIES: dbus-glib-devel pam-devel polkit-devel + gtk-doc meson intltool autoconf automake libtool + gcc gcc-c++ glibc-devel make python3-dbusmock + DEPENDENCIES_STABLE: $DEPENDENCIES libfprint-devel + DEPENDENCIES_DEV: $DEPENDENCIES git + # Sync'ed up with https://gitlab.freedesktop.org/libfprint/libfprint/blob/master/.gitlab-ci.yml + DEPENDENCIES_LIBFPRINT: libgusb-devel glib2-devel nss-devel pixman-devel systemd meson gtk-doc + gcc gcc-c++ glibc-devel libX11-devel libXv-devel gtk3-devel flatpak-builder + gobject-introspection-devel python3-cairo python3-gobject umockdev + +# Stable builds can be re-enabled when libfprint v2 reaches rawhide +#build_stable: +# before_script: +# - dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES_STABLE +# script: +# - ./autogen.sh --disable-dependency-tracking +# - make +# - make install + +build_dev: + before_script: + - dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES_LIBFPRINT $DEPENDENCIES_DEV + - git clone -b wip/benzea/v2 https://gitlab.freedesktop.org/libfprint/libfprint.git + - cd libfprint + - meson . _build --prefix=/usr + - ninja -C _build + - ninja -C _build install + - cd .. + # So we don't get error about this libfprint file + - echo "libfprint/demo/gtk-libfprint-test.ui" >> po/POTFILES.skip + script: + - ./autogen.sh --disable-dependency-tracking + - make + - make install + +test_dev: + stage: test + before_script: + - dnf update -y --nogpgcheck && dnf install -y --nogpgcheck $DEPENDENCIES_LIBFPRINT $DEPENDENCIES_DEV + - git clone -b wip/benzea/v2 https://gitlab.freedesktop.org/libfprint/libfprint.git + - cd libfprint + - meson . _build --prefix=/usr -Ddrivers=virtual_image + - ninja -C _build + - ninja -C _build install + - cd .. + # So we don't get error about this libfprint file + - echo "libfprint/demo/gtk-libfprint-test.ui" >> po/POTFILES.skip + script: + - ./autogen.sh --disable-dependency-tracking + - make + - make check + artifacts: + name: log + when: always + paths: + - tests/*.log diff --git a/.tx/config b/.tx/config new file mode 100644 index 0000000..86adac7 --- /dev/null +++ b/.tx/config @@ -0,0 +1,8 @@ +[main] +host = https://www.transifex.com + +[fprintd.fprintd-po-fprintd-pot] +file_filter = po/.po +source_file = po/fprintd.pot +source_lang = en + diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..935f5b4 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,3 @@ +Daniel Drake +Bastien Nocera + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..c5611e4 --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + 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 +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 2 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, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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 Library General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/ChangeLog diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..d3c5b40 --- /dev/null +++ b/INSTALL @@ -0,0 +1,237 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007 Free Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 6. Often, you can also type `make uninstall' to remove the installed + files again. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..9abc242 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,29 @@ +AUTOMAKE_OPTIONS = dist-bzip2 +SUBDIRS = src data utils pam doc tests po +EXTRA_DIST = TODO intltool-extract.in intltool-merge.in intltool-update.in + +DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --with-systemdsystemunitdir='$${libdir}/systemd/system-distcheck' + +all: check create-pot + +check: check-translations + +create-pot: + $(MAKE) -C po fprintd.pot + +check-translations: + @for i in $(top_srcdir)/po/*.po ; do \ + if ! grep -q `basename $$i | sed 's,.po,,'` $(top_srcdir)/po/LINGUAS ; then \ + echo '**********************************'; \ + echo '***' `basename $$i | sed 's,.po,,'` missing from po/LINGUAS '***' ; \ + echo '**********************************'; \ + exit 1; \ + fi; \ + done; + +update-translations: create-pot check-translations + @tx -r $(srcdir) pull --all --force --skip + @if [ ! -d .tx ] ; then mkdir .tx ; fi ; if [ x$(srcdir) != x$(builddir) ] ; then cp -f $(srcdir)/.tx/config .tx/ ; fi + @tx push --source + +-include $(top_srcdir)/git.mk diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..6e8fd07 --- /dev/null +++ b/NEWS @@ -0,0 +1,60 @@ +This file lists notable changes in each release. For the full history of all +changes, see ChangeLog. + +version 0.9.0: +- Fix hangs when there the verification error was "retry" +- Update for fp_get_pollfds() changes +- Fix "client_username" memory leak, fix memory leak when saving a file +- Create the fingerprint storage directory at install time, + the storage path is now hard-coded as /var/lib/fprint and created by + systemd when the service is started + +version 0.8.1: +- Fix build when builddir != srcdir +- Fix possible crash on exit +- Avoid warnings in copy/paste header +- Sandbox fprintd daemon more +- Update website address +- Minimise debug output +- Updated translations + +version 0.8.0: +- Lockdown the daemon to minimise potential security issues +- Don't wake up readers when there's no enrolled fingerprints + +version 0.7.0: +- Fix crash in the daemon when cancelling PAM conversation +- Fix build warnings and update translations + +version 0.6.0: +- Fix warning in fprintd.pod file +- Reduce logging during normal operation +- Fix eventfd leak in PAM module +- List possible values for finger when enrolling +- Fix possible crash in fprintd-verify +- Fix listing and deleting fingerprints when there's more than + one reader available + +version 0.5.1: +- Add max_tries and timeout arguments to PAM module +- Add ability to require the fingerprint for enrolled users +- Add "-f " option to enroll utilities + +version 0.5.0: +- Don't use a device name if there's only one reader +- Avoid possible crash when trying to login without devices +- Fix possible crashes due to uninitialised variables +- Fix hang when the machine has no USB bus +- Add a systemd unit file + +version 0.4.1: +- Enable gtk-doc by default so that file aren't + missing in the tarball + +version 0.4.0: +- Loads of new translations +- Fix crasher when PAM module gets unloaded +- Use GIO to monitor D-Bus clients instead of custom code + +version 0.2.0: +- First actual release diff --git a/README b/README new file mode 100644 index 0000000..c7d6692 --- /dev/null +++ b/README @@ -0,0 +1,35 @@ +fprintd +======= + +https://fprint.freedesktop.org/ + +Daemon to offer libfprint functionality over D-Bus +Might eat your kangaroo. + +Written in C. + +Licensed under the GPL version 2 or any later version (see COPYING). + +A PAM login module is included in the 'pam' directory. + +API use cases +============= + +- User wants to use the fingerprint reader, and enroll + his fingerprints, or remove some fingerprints from the database + +- Administrator wants to enroll fingerprints for a particular user, + or remove fingerprints for a particular user + +- Laptop/desktop authentication: + * Check for fingerprint devices + * Check whether a particular user has any fingerprints enrolled + * Verify a fingerprint for a particular user, or, if the device + supports it, verify that the fingerprint matches against + any of the fingerprints enrolled + +- Point Of Sale authentication (in a bar, the fingerprint reader is + used to see who accesses a particular point of sale/till, in place + of PIN code authentication and/or tokens) + * Given a list of users, verify which one has scanned their finger + diff --git a/README.transifex b/README.transifex new file mode 100644 index 0000000..02a2858 --- /dev/null +++ b/README.transifex @@ -0,0 +1,11 @@ +Transifex.net Token Verification +================================= + +The list of tokens bellow guarantee the respective users to be able to enable +submission on components using the following repository url: + +https://gitlab.freedesktop.org/libfprint/fprintd/ + +Tokens: + +dKfMSehAGCsQ5gxT4r2DAp9PyEMsKAMp / hadess diff --git a/TODO b/TODO new file mode 100644 index 0000000..9fac396 --- /dev/null +++ b/TODO @@ -0,0 +1,6 @@ +Verify PAM messages fit with GDM/gnome-screensaver + +Automatically show the fingerprint registration when logged in and +not having any registered prints? +http://uk.youtube.com/watch?v=F_x_vwCltbc + diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 0000000..88d0879 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,182 @@ +dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR) +dnl +dnl example +dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) +dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local + +AC_DEFUN([AS_AC_EXPAND], +[ + EXP_VAR=[$1] + FROM_VAR=[$2] + + dnl first expand prefix and exec_prefix if necessary + prefix_save=$prefix + exec_prefix_save=$exec_prefix + + dnl if no prefix given, then use /usr/local, the default prefix + if test "x$prefix" = "xNONE"; then + prefix=$ac_default_prefix + fi + dnl if no exec_prefix given, then use prefix + if test "x$exec_prefix" = "xNONE"; then + exec_prefix=$prefix + fi + + full_var="$FROM_VAR" + dnl loop until it doesn't change anymore + while true; do + new_full_var="`eval echo $full_var`" + if test "x$new_full_var"="x$full_var"; then break; fi + full_var=$new_full_var + done + + dnl clean up + full_var=$new_full_var + AC_SUBST([$1], "$full_var") + + dnl restore prefix and exec_prefix + prefix=$prefix_save + exec_prefix=$exec_prefix_save +]) + +dnl GNOME_COMPILE_WARNINGS +dnl Turn on many useful compiler warnings +dnl For now, only works on GCC +AC_DEFUN([GNOME_COMPILE_WARNINGS],[ + dnl ****************************** + dnl More compiler warnings + dnl ****************************** + + AC_ARG_ENABLE(compile-warnings, + AC_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@], + [Turn on compiler warnings]),, + [enable_compile_warnings="m4_default([$1],[yes])"]) + + warnCFLAGS= + if test "x$GCC" != xyes; then + enable_compile_warnings=no + fi + + warning_flags= + realsave_CFLAGS="$CFLAGS" + + case "$enable_compile_warnings" in + no) + warning_flags= + ;; + minimum) + warning_flags="-Wall" + ;; + yes) + warning_flags="-Wall -Wmissing-prototypes" + ;; + maximum|error) + warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith" + CFLAGS="$warning_flags $CFLAGS" + for option in -Wno-sign-compare; do + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $option" + AC_MSG_CHECKING([whether gcc understands $option]) + AC_TRY_COMPILE([], [], + has_option=yes, + has_option=no,) + CFLAGS="$SAVE_CFLAGS" + AC_MSG_RESULT($has_option) + if test $has_option = yes; then + warning_flags="$warning_flags $option" + fi + unset has_option + unset SAVE_CFLAGS + done + unset option + if test "$enable_compile_warnings" = "error" ; then + warning_flags="$warning_flags -Werror" + fi + ;; + *) + AC_MSG_ERROR(Unknown argument '$enable_compile_warnings' to --enable-compile-warnings) + ;; + esac + CFLAGS="$realsave_CFLAGS" + AC_MSG_CHECKING(what warning flags to pass to the C compiler) + AC_MSG_RESULT($warning_flags) + + AC_ARG_ENABLE(iso-c, + AC_HELP_STRING([--enable-iso-c], + [Try to warn if code is not ISO C ]),, + [enable_iso_c=no]) + + AC_MSG_CHECKING(what language compliance flags to pass to the C compiler) + complCFLAGS= + if test "x$enable_iso_c" != "xno"; then + if test "x$GCC" = "xyes"; then + case " $CFLAGS " in + *[\ \ ]-ansi[\ \ ]*) ;; + *) complCFLAGS="$complCFLAGS -ansi" ;; + esac + case " $CFLAGS " in + *[\ \ ]-pedantic[\ \ ]*) ;; + *) complCFLAGS="$complCFLAGS -pedantic" ;; + esac + fi + fi + AC_MSG_RESULT($complCFLAGS) + + WARN_CFLAGS="$warning_flags $complCFLAGS" + AC_SUBST(WARN_CFLAGS) +]) + +dnl For C++, do basically the same thing. + +AC_DEFUN([GNOME_CXX_WARNINGS],[ + AC_ARG_ENABLE(cxx-warnings, + AC_HELP_STRING([--enable-cxx-warnings=@<:@no/minimum/yes@:>@] + [Turn on compiler warnings.]),, + [enable_cxx_warnings="m4_default([$1],[minimum])"]) + + AC_MSG_CHECKING(what warning flags to pass to the C++ compiler) + warnCXXFLAGS= + if test "x$GXX" != xyes; then + enable_cxx_warnings=no + fi + if test "x$enable_cxx_warnings" != "xno"; then + if test "x$GXX" = "xyes"; then + case " $CXXFLAGS " in + *[\ \ ]-Wall[\ \ ]*) ;; + *) warnCXXFLAGS="-Wall -Wno-unused" ;; + esac + + ## -W is not all that useful. And it cannot be controlled + ## with individual -Wno-xxx flags, unlike -Wall + if test "x$enable_cxx_warnings" = "xyes"; then + warnCXXFLAGS="$warnCXXFLAGS -Wshadow -Woverloaded-virtual" + fi + fi + fi + AC_MSG_RESULT($warnCXXFLAGS) + + AC_ARG_ENABLE(iso-cxx, + AC_HELP_STRING([--enable-iso-cxx], + [Try to warn if code is not ISO C++ ]),, + [enable_iso_cxx=no]) + + AC_MSG_CHECKING(what language compliance flags to pass to the C++ compiler) + complCXXFLAGS= + if test "x$enable_iso_cxx" != "xno"; then + if test "x$GXX" = "xyes"; then + case " $CXXFLAGS " in + *[\ \ ]-ansi[\ \ ]*) ;; + *) complCXXFLAGS="$complCXXFLAGS -ansi" ;; + esac + + case " $CXXFLAGS " in + *[\ \ ]-pedantic[\ \ ]*) ;; + *) complCXXFLAGS="$complCXXFLAGS -pedantic" ;; + esac + fi + fi + AC_MSG_RESULT($complCXXFLAGS) + + WARN_CXXFLAGS="$CXXFLAGS $warnCXXFLAGS $complCXXFLAGS" + AC_SUBST(WARN_CXXFLAGS) +]) diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..9307ca2 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +olddir=`pwd` +cd "$srcdir" + +aclocal || exit 1 +autoheader || exit 1 +glib-gettextize -f -c || exit 1 +gtkdocize --copy || exit 1 +intltoolize -c -f || exit 1 +libtoolize -c || exit 1 +autoconf || exit 1 +automake -a -c || exit 1 + +cd "$olddir" + +if test -z "$NOCONFIGURE"; then + $srcdir/configure --enable-maintainer-mode $* +fi diff --git a/code-of-conduct.md b/code-of-conduct.md new file mode 100644 index 0000000..a429a42 --- /dev/null +++ b/code-of-conduct.md @@ -0,0 +1,3 @@ +This project and its community follow the [Freedesktop.org code of conduct] + +[Freedesktop.org code of conduct]: https://www.freedesktop.org/wiki/CodeOfConduct/ diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..41cd6a2 --- /dev/null +++ b/configure.ac @@ -0,0 +1,91 @@ +AC_INIT([fprintd], [1.90.0]) +AM_INIT_AUTOMAKE([1.11 dist-xz no-dist-gzip check-news]) +AC_CONFIG_SRCDIR([src/main.c]) +AC_CONFIG_HEADERS([config.h]) + +# Enable silent build when available (Automake 1.11) +m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])]) + +AC_PREREQ([2.50]) +AC_PROG_LIBTOOL +AC_PROG_CC +AM_PROG_CC_C_O + +GETTEXT_PACKAGE=fprintd +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"], [Define to the Gettext package name]) +AC_SUBST(GETTEXT_PACKAGE) +AM_GLIB_GNU_GETTEXT +IT_PROG_INTLTOOL([0.35.0]) + +PKG_CHECK_MODULES(FPRINT, [libfprint2 >= 1.90.0]) +AC_SUBST(FPRINT_LIBS) +AC_SUBST(FPRINT_CFLAGS) + +PKG_CHECK_MODULES(GLIB, glib-2.0 dbus-glib-1) +AC_SUBST(GLIB_CFLAGS) +AC_SUBST(GLIB_LIBS) + +PKG_CHECK_MODULES(DAEMON, glib-2.0 dbus-glib-1 gmodule-2.0 polkit-gobject-1 >= 0.91 gio-2.0 >= 2.26) +AC_SUBST(DAEMON_LIBS) +AC_SUBST(DAEMON_CFLAGS) + +AC_ARG_ENABLE(pam, AC_HELP_STRING([--enable-pam],[Build the fprintd PAM module]), enable_pam="$enableval", enable_pam=yes) +has_pam=no +if test x$enable_pam = xyes; then + has_pam=yes + AC_CHECK_HEADER([security/pam_modules.h], [has_pam=yes] , [has_pam=no]) + if test x$has_pam = xyes; then + has_pam=no + AC_CHECK_LIB(pam, pam_start, [PAM_LIBS="-lpam" + has_pam=yes], + has_pam=no) + fi + AC_SUBST(PAM_LIBS) +fi +AM_CONDITIONAL(HAVE_PAM, test "x$has_pam" = "xyes") + +AC_MSG_CHECKING(for PAM headers and library) +AC_MSG_RESULT([$has_pam]) + + +AC_CHECK_PROG([XMLLINT], [xmllint], [xmllint]) +AC_CHECK_PROG([XSLTPROC], [xsltproc], [xsltproc]) +AC_CHECK_PROG([POD2MAN], [pod2man], [pod2man]) +AM_CONDITIONAL(BUILD_MAN, test x"$POD2MAN" != "x") + +GTK_DOC_CHECK([1.3]) + +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), + [], + [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ + # StateDirectory was introduced in systemd 235 + PKG_CHECK_MODULES(SYSTEMD, systemd >= 235) + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +]) +AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$systemdsystemunitdir"]) + +AS_AC_EXPAND(DATADIR, $datadir) + +DBUS_SERVICES_DIR="$DATADIR/dbus-1/services" +AC_SUBST(DBUS_SERVICES_DIR) +AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is]) + +AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) +AC_DEFINE_UNQUOTED(SYSCONFDIR, "$SYSCONFDIR", [Where the configuration file will be located]) + +GNOME_COMPILE_WARNINGS + +AC_OUTPUT([ +Makefile +src/Makefile +data/Makefile +utils/Makefile +pam/Makefile +doc/Makefile +doc/version.xml +doc/dbus/Makefile +tests/Makefile +po/Makefile.in +]) diff --git a/data/Makefile.am b/data/Makefile.am new file mode 100644 index 0000000..964329f --- /dev/null +++ b/data/Makefile.am @@ -0,0 +1,44 @@ + +dbus_servicesdir = $(datadir)/dbus-1/system-services +dbus_services_in_files = net.reactivated.Fprint.service.in +dbus_services_DATA = $(dbus_services_in_files:.service.in=.service) + +$(dbus_services_DATA): $(dbus_services_in_files) + sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@ + +dbus_confdir = $(datadir)/dbus-1/system.d +dbus_conf_DATA = net.reactivated.Fprint.conf + +systemdservice_in_files = fprintd.service.in + +if HAVE_SYSTEMD +systemdservicedir = $(systemdsystemunitdir) +systemdservice_DATA = $(systemdservice_in_files:.service.in=.service) +$(systemdservice_DATA): $(systemdservice_in_files) Makefile + @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ +endif + +polkitdir = $(datadir)/polkit-1/actions +polkit_in_files = net.reactivated.fprint.device.policy.in + +@INTLTOOL_POLICY_RULE@ +polkit_DATA = $(polkit_in_files:.policy.in=.policy) + +confdir = $(sysconfdir)/ +conf_DATA = fprintd.conf + +man_MANS = + +if BUILD_MAN +man_MANS += fprintd.1 +fprintd.1: fprintd.pod + $(AM_V_GEN) pod2man -c "" -s 1 -q none -n fprintd -r freedesktop $< > $@ +endif + +EXTRA_DIST = $(dbus_services_in_files) $(dbus_conf_DATA) $(polkit_in_files) $(conf_DATA) $(systemdservice_in_files) fprintd.pod +CLEANFILES = $(polkit_DATA) $(dbus_services_DATA) $(systemdservice_DATA) fprintd.1 + +check: + @$(XMLLINT) --noout $(polkit_DATA) + + diff --git a/data/fprintd.1 b/data/fprintd.1 new file mode 100644 index 0000000..93d9afd --- /dev/null +++ b/data/fprintd.1 @@ -0,0 +1,204 @@ +.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` +. ds C' +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "fprintd 1" +.TH fprintd 1 "2010-08-16" "freedesktop" "" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +fprintd \- Fingerprint management daemon, and test applications +.SH "SYNOPSYS" +.IX Header "SYNOPSYS" +\&\fBfprintd-enroll\fR [username] +.PP +\&\fBfprintd-list\fR username [usernames...] +.PP +\&\fBfprintd-verify\fR [\-f finger] [usename] +.PP +\&\fBfprintd-delete\fR username [usernames...] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This manual page documents briefly the \fBfprintd\fR command-line utilities. +.PP +The \fBfprintd\fR daemon is accessed through \fBD\-Bus\fR by those command-line utilities. +.SH "ARGUMENTS" +.IX Header "ARGUMENTS" +.IP "\fBusername\fR" 8 +.IX Item "username" +The username for the user for which you want to query or modify the fingerprint database. +.Sp +Not that \fBfprintd-list\fR and \fBfprintd-delete\fR require at least one username to be passed, and support multiple usernames. +.Sp +\&\fBfprintd-enroll\fR and \fBfprintd-verify\fR will use the current username if none are passed on the command-line. +.IP "\fB\-f finger\fR" 8 +.IX Item "-f finger" +For \fBfprintd-enroll\fR, the finger to enroll. Possible values are: +.Sp +left-thumb, +left-index-finger, +left-middle-finger, +left-ring-finger, +left-little-finger, +right-thumb, +right-index-finger, +right-middle-finger, +right-ring-finger, +right-little-finger. +.Sp +The default is automatic, selecting the first available finger for swipe devices, or all the enrolled fingers, for press devices. +.SH "TEST APPLICATIONS" +.IX Header "TEST APPLICATIONS" +.SS "fprintd-enroll" +.IX Subsection "fprintd-enroll" +.RS 8 +Will enroll the user's right index finger into the database. +.RE +.SS "fprintd-list" +.IX Subsection "fprintd-list" +.RS 8 +Will list the user's enrolled fingerprints. +.RE +.SS "fprintd-verify" +.IX Subsection "fprintd-verify" +.RS 8 +Will enroll the user's right index finger into the database. +.RE +.SS "fprintd-enroll" +.IX Subsection "fprintd-enroll" +.RS 8 +Will enroll the user's right index finger into the database. +.RE +.SH "AUTHOR" +.IX Header "AUTHOR" +\&\fBfprintd\fR was written by Bastien Nocera and Daniel Drake. +.SH "DIRECTORIES" +.IX Header "DIRECTORIES" +By default, fprintd stores the fingerprints in \fB/var/lib/fprint/\fR +.SH "SEE ALSO" +.IX Header "SEE ALSO" +.IP "\fBdbus-daemon\fR, \fBgnome-about-me\fR" 8 +.IX Item "dbus-daemon, gnome-about-me" diff --git a/data/fprintd.conf b/data/fprintd.conf new file mode 100644 index 0000000..40b4b0c --- /dev/null +++ b/data/fprintd.conf @@ -0,0 +1,2 @@ +[storage] +type=file diff --git a/data/fprintd.pod b/data/fprintd.pod new file mode 100644 index 0000000..7085920 --- /dev/null +++ b/data/fprintd.pod @@ -0,0 +1,105 @@ +=head1 NAME + +fprintd - Fingerprint management daemon, and test applications + +=head1 SYNOPSYS + +B [-f finger] [usename] + +B username [usernames...] + +B [-f finger] [usename] + +B username [usernames...] + +=head1 DESCRIPTION + +This manual page documents briefly the B command-line utilities. + +The B daemon is accessed through B by those command-line utilities. + +=head1 ARGUMENTS + +=over 8 + +=item B + +The username for the user for which you want to query or modify the fingerprint database. + +Not that B and B require at least one username to be passed, and support multiple usernames. + +B and B will use the current username if none are passed on the command-line. + +=item B<-f finger> + +For B, the finger to enroll. Possible values are: + +left-thumb, +left-index-finger, +left-middle-finger, +left-ring-finger, +left-little-finger, +right-thumb, +right-index-finger, +right-middle-finger, +right-ring-finger, +right-little-finger. + +The default is automatic, selecting the first available finger for swipe devices, or all the enrolled fingers, for press devices. + +=back + +=head1 TEST APPLICATIONS + +=over 8 + +=back + +=head2 fprintd-enroll + +=over 8 + +Will enroll the user's right index finger into the database. + +=back + +=head2 fprintd-list + +=over 8 + +Will list the user's enrolled fingerprints. + +=back + +=head2 fprintd-verify + +=over 8 + +Will enroll the user's right index finger into the database. + +=back + +=head2 fprintd-enroll + +=over 8 + +Will enroll the user's right index finger into the database. + +=back + +=head1 AUTHOR + +B was written by Bastien Nocera and Daniel Drake. + +=head1 DIRECTORIES + +By default, fprintd stores the fingerprints in B + +=head1 SEE ALSO + +=over 8 + +=item B, B + +=back + diff --git a/data/fprintd.service.in b/data/fprintd.service.in new file mode 100644 index 0000000..9ea7a2a --- /dev/null +++ b/data/fprintd.service.in @@ -0,0 +1,33 @@ +[Unit] +Description=Fingerprint Authentication Daemon +Documentation=man:fprintd(1) + +[Service] +Type=dbus +BusName=net.reactivated.Fprint +ExecStart=@libexecdir@/fprintd + +# Filesystem lockdown +ProtectSystem=strict +ProtectKernelTunables=true +ProtectControlGroups=true +# This always corresponds to /var/lib/fprint +StateDirectory=fprint +ProtectHome=true +PrivateTmp=true + +# Network +PrivateNetwork=true +RestrictAddressFamilies=AF_UNIX AF_LOCAL AF_NETLINK + +# Execute Mappings +MemoryDenyWriteExecute=true + +# Modules +ProtectKernelModules=true + +# Real-time +RestrictRealtime=true + +# Privilege escalation +NoNewPrivileges=true diff --git a/data/net.reactivated.Fprint.conf b/data/net.reactivated.Fprint.conf new file mode 100644 index 0000000..1fd0c06 --- /dev/null +++ b/data/net.reactivated.Fprint.conf @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + diff --git a/data/net.reactivated.Fprint.service.in b/data/net.reactivated.Fprint.service.in new file mode 100644 index 0000000..8402e2e --- /dev/null +++ b/data/net.reactivated.Fprint.service.in @@ -0,0 +1,5 @@ +[D-BUS Service] +Name=net.reactivated.Fprint +Exec=@LIBEXECDIR@/fprintd +User=root +SystemdService=fprintd.service diff --git a/data/net.reactivated.fprint.device.policy.in b/data/net.reactivated.fprint.device.policy.in new file mode 100644 index 0000000..bf49192 --- /dev/null +++ b/data/net.reactivated.fprint.device.policy.in @@ -0,0 +1,42 @@ + + + + + + The FPrint Project + https://fprint.freedesktop.org/ + fprint + + + <_description>Verify a fingerprint + <_message>Privileges are required to verify fingerprints. + + no + no + yes + + + + + <_description>Enroll new fingerprints + <_message>Privileges are required to enroll new fingerprints. + + no + no + yes + + + + + <_description>Select a user to enroll + <_message>Privileges are required to enroll new fingerprints for other users. + + no + no + auth_admin_keep + + + + diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..6c2d0f8 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,81 @@ + +SUBDIRS = dbus + +NULL = + +AUTOMAKE_OPTIONS = 1.7 + +# The name of the module. +DOC_MODULE=fprintd + +# The top-level SGML file. +DOC_MAIN_SGML_FILE=fprintd-docs.xml + +# Extra options to supply to gtkdoc-scan +SCAN_OPTIONS=--ignore-headers=config.h + +# The directory containing the source code. Relative to $(srcdir) +DOC_SOURCE_DIR=../src + +# Used for dependencies +HFILE_GLOB= +#$(top_srcdir)/policy/*.h +CFILE_GLOB= +#$(top_srcdir)/policy/*.c + +# Headers to ignore +IGNORE_HFILES= \ + $(NULL) + +# CFLAGS and LDFLAGS for compiling scan program. Only needed +# if $(DOC_MODULE).types is non-empty. +INCLUDES = \ + $(GLIB_CFLAGS) \ + -I$(top_srcdir)/src \ + $(NULL) + +GTKDOC_LIBS = \ + $(GLIB_LIBS) \ + $(top_builddir)/src/libfprintd.la \ + $(NULL) + +# Extra options to supply to gtkdoc-mkdb +MKDB_OPTIONS=--sgml-mode --output-format=xml + +# Extra options to supply to gtkdoc-mktmpl +MKTMPL_OPTIONS= + +# Non-autogenerated SGML files to be included in $(DOC_MAIN_SGML_FILE) +content_files = \ + version.xml \ + dbus/net.reactivated.Fprint.Manager.ref.xml \ + dbus/net.reactivated.Fprint.Device.ref.xml \ + $(NULL) + +# Images to copy into HTML directory +HTML_IMAGES = \ + $(NULL) + +# Extra options to supply to gtkdoc-fixref +FIXXREF_OPTIONS= + +DISTCLEANFILES = \ + net.reactivated.Fprint.Manager.ref.xml \ + net.reactivated.Fprint.Device.ref.xml + +MAINTAINERCLEANFILES = \ + *~ \ + Makefile.in \ + fprintd.types \ + fprintd-*.txt \ + $(NULL) + +if ENABLE_GTK_DOC +include $(top_srcdir)/gtk-doc.make +else +EXTRA_DIST = fprintd-docs.xml +endif + +# Version information for marking the documentation +EXTRA_DIST += version.xml.in + diff --git a/doc/dbus/Makefile.am b/doc/dbus/Makefile.am new file mode 100644 index 0000000..aa606b4 --- /dev/null +++ b/doc/dbus/Makefile.am @@ -0,0 +1,15 @@ + +noinst_DATA = net.reactivated.Fprint.Manager.ref.xml net.reactivated.Fprint.Device.ref.xml + +net.reactivated.Fprint.Manager.ref.xml : $(top_srcdir)/src/manager.xml $(top_srcdir)/doc/dbus/spec-to-docbook.xsl + echo """" > $@ + $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 >> $@ + +net.reactivated.Fprint.Device.ref.xml : $(top_srcdir)/src/device.xml $(top_srcdir)/doc/dbus/spec-to-docbook.xsl + echo """" > $@ + $(XSLTPROC) $(top_srcdir)/doc/dbus/spec-to-docbook.xsl $< | tail -n +2 >> $@ + +EXTRA_DIST = spec-to-docbook.xsl dbus-introspect-docs.dtd + +clean-local : + rm -f *~ *.ref.xml diff --git a/doc/dbus/dbus-introspect-docs.dtd b/doc/dbus/dbus-introspect-docs.dtd new file mode 100644 index 0000000..ca918fb --- /dev/null +++ b/doc/dbus/dbus-introspect-docs.dtd @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/dbus/spec-to-docbook.xsl b/doc/dbus/spec-to-docbook.xsl new file mode 100644 index 0000000..7a978de --- /dev/null +++ b/doc/dbus/spec-to-docbook.xsl @@ -0,0 +1,550 @@ + + + + + + + + + + + + + + + + + + + + + + interface + + + + Methods + + + + + + + + + + + Signals + + + + + + + + + + + Implemented Interfaces + + Objects implementing also implements + org.freedesktop.DBus.Introspectable, + org.freedesktop.DBus.Properties + + + + + + + Properties + + + + + + + + + + + Description + + + + + + + Details + + + + + + + + + Signal Details + + + + + + + + + + + Property Details + + + + + + + + + + + + + + + + +: + + + + + + + + + + + + + + + + + + + + + + <anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute></anchor>The "<xsl:value-of select="@name"/>" property + +'' + + + + + + + + + + + + + +: + + + + + + + + + + + + + + + + + + + + + <anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute></anchor>The <xsl:value-of select="@name"/> signal + + () + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <anchor role="description"><xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute></anchor><xsl:value-of select="."/> + + + + + + + +Since + + + + + + + + /> + + + + + + + is deprecated since version and should not be used in newly-written code. Use + + + + + : + + + :: + + + . + + + + + + + + + + + + + + + +instead. + + + + + + + + + + + + + + + + + +See also: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +: + + + + + + + + + + + + Errors + + + + : + + + + + + + + + + + + Permissions + + + + + + + + + + + + + + + + + + <anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> () + + () + + + + + + + + + + + + + + + + +:'' + + + + + + + + + + + + +::() + + + + + + + + + + + + +.() + + + + + +'' +, + + + + + +'' +, + + + + + + +'' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/fprintd-docs.xml b/doc/fprintd-docs.xml new file mode 100644 index 0000000..6b4cad9 --- /dev/null +++ b/doc/fprintd-docs.xml @@ -0,0 +1,82 @@ + + +]> + + + fprintd Reference Manual + Version &version; + + + Bastien + Nocera + +
+ hadess@hadess.net +
+
+
+
+ + + 2008 + The fprintd Authors + + + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free + Documentation License, Version 1.1 or any later + version published by the Free Software Foundation with no + Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. You may obtain a copy of the GNU Free + Documentation License from the Free Software + Foundation by visiting their Web site or by writing + to: + +
+ The Free Software Foundation, Inc., + 59 Temple Place - Suite 330, + Boston, MA 02111-1307, + USA +
+
+ + + Many of the names used by companies to distinguish their + products and services are claimed as trademarks. Where those + names appear in any GNOME documentation, and those trademarks + are made aware to the members of the GNOME Documentation + Project, the names have been printed in caps or initial caps. + +
+
+ + + D-Bus API Reference + + + This part documents the D-Bus interface used to access the + fprintd daemon. + + + + + + + + Index + + + + + + License + +FIXME: MISSING XINCLUDE CONTENT + + +
diff --git a/doc/version.xml.in b/doc/version.xml.in new file mode 100644 index 0000000..d78bda9 --- /dev/null +++ b/doc/version.xml.in @@ -0,0 +1 @@ +@VERSION@ diff --git a/git.mk b/git.mk new file mode 100644 index 0000000..f244116 --- /dev/null +++ b/git.mk @@ -0,0 +1,196 @@ +# git.mk +# +# Copyright 2009, Red Hat, Inc. +# Written by Behdad Esfahbod +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. +# +# The canonical source for this file is pango/git.mk, or whereever the +# header of pango/git.mk suggests in the future. +# +# To use in your project, import this file in your git repo's toplevel, +# then do "make -f git.mk". This modifies all Makefile.am files in +# your project to include git.mk. +# +# This enables automatic .gitignore generation. If you need to ignore +# more files, add them to the GITIGNOREFILES variable in your Makefile.am. +# But think twice before doing that. If a file has to be in .gitignore, +# chances are very high that it's a generated file and should be in one +# of MOSTLYCLEANFILES, CLEANFILES, DISTCLEANFILES, or MAINTAINERCLEANFILES. +# +# The only case that you need to manually add a file to GITIGNOREFILES is +# when remove files in one of mostlyclean-local, clean-local, distclean-local, +# or maintainer-clean-local. +# +# Note that for files like editor backup, etc, there are better places to +# ignore them. See "man gitignore". +# +# If "make maintainer-clean" removes the files but they are not recognized +# by this script (that is, if "git status" shows untracked files still), send +# me the output of "git status" as well as your Makefile.am and Makefile for +# the directories involved. +# +# For a list of toplevel files that should be in MAINTAINERCLEANFILES, see +# pango/Makefile.am. +# +# Don't EXTRA_DIST this file. It is supposed to only live in git clones, +# not tarballs. It serves no useful purpose in tarballs and clutters the +# build dir. +# +# This file knows how to handle autoconf, automake, libtool, gtk-doc, +# gnome-doc-utils, intltool, GSettings. +# +# +# KNOWN ISSUES: +# +# - Recursive configure doesn't work as $(top_srcdir)/git.mk inside the +# submodule doesn't find us. If you have configure.{in,ac} files in +# subdirs, add a proxy git.mk file in those dirs that simply does: +# "include $(top_srcdir)/../git.mk". Add more ..'s to your taste. +# And add those files to git. See vte/gnome-pty-helper/git.mk for +# example. +# + +git-all: git-mk-install + +git-mk-install: + @echo Installing git makefile + @any_failed=; find $(top_srcdir) -name Makefile.am | while read x; do \ + if grep 'include .*/git.mk' $$x >/dev/null; then \ + echo $$x already includes git.mk; \ + else \ + failed=; \ + echo "Updating $$x"; \ + { cat $$x; \ + echo ''; \ + echo '-include $$(top_srcdir)/git.mk'; \ + } > $$x.tmp || failed=1; \ + if test x$$failed = x; then \ + mv $$x.tmp $$x || failed=1; \ + fi; \ + if test x$$failed = x; then : else \ + echo Failed updating $$x; >&2 \ + any_failed=1; \ + fi; \ + fi; done; test -z "$$any_failed" + +.PHONY: git-all git-mk-install + + +### .gitignore generation + +$(srcdir)/.gitignore: Makefile.am $(top_srcdir)/git.mk + $(AM_V_GEN) \ + { \ + if test "x$(DOC_MODULE)" = x -o "x$(DOC_MAIN_SGML_FILE)" = x; then :; else \ + for x in \ + $(DOC_MODULE)-decl-list.txt \ + $(DOC_MODULE)-decl.txt \ + tmpl/$(DOC_MODULE)-unused.sgml \ + "tmpl/*.bak" \ + xml html \ + ; do echo /$$x; done; \ + fi; \ + if test "x$(DOC_MODULE)" = x -o "x$(DOC_LINGUAS)" = x; then :; else \ + for x in \ + $(_DOC_C_DOCS) \ + $(_DOC_LC_DOCS) \ + $(_DOC_OMF_ALL) \ + $(_DOC_DSK_ALL) \ + $(_DOC_HTML_ALL) \ + $(_DOC_POFILES) \ + $(_DOC_MOFILES) \ + $(DOC_H_FILE) \ + "*/.xml2po.mo" \ + "*/*.omf.out" \ + ; do echo /$$x; done; \ + fi; \ + if test "x$(gsettings_SCHEMAS)" = x; then :; else \ + for x in \ + $(gsettings_SCHEMAS:.xml=.valid) \ + $(gsettings__enum_file) \ + ; do echo /$$x; done; \ + fi; \ + if test -f $(srcdir)/po/Makefile.in.in; then \ + for x in \ + po/Makefile.in.in \ + po/Makefile.in \ + po/Makefile \ + po/POTFILES \ + po/stamp-it \ + po/.intltool-merge-cache \ + "po/*.gmo" \ + "po/*.mo" \ + po/$(GETTEXT_PACKAGE).pot \ + intltool-extract.in \ + intltool-merge.in \ + intltool-update.in \ + ; do echo /$$x; done; \ + fi; \ + if test -f $(srcdir)/configure; then \ + for x in \ + autom4te.cache \ + configure \ + config.h \ + stamp-h1 \ + libtool \ + config.lt \ + ; do echo /$$x; done; \ + fi; \ + for x in \ + .gitignore \ + $(GITIGNOREFILES) \ + $(CLEANFILES) \ + $(PROGRAMS) \ + $(check_PROGRAMS) \ + $(EXTRA_PROGRAMS) \ + $(LTLIBRARIES) \ + so_locations \ + .libs _libs \ + $(MOSTLYCLEANFILES) \ + "*.$(OBJEXT)" \ + "*.lo" \ + $(DISTCLEANFILES) \ + $(am__CONFIG_DISTCLEAN_FILES) \ + $(CONFIG_CLEAN_FILES) \ + TAGS ID GTAGS GRTAGS GSYMS GPATH tags \ + "*.tab.c" \ + $(MAINTAINERCLEANFILES) \ + $(BUILT_SOURCES) \ + $(DEPDIR) \ + Makefile \ + Makefile.in \ + "*.orig" \ + "*.rej" \ + "*.bak" \ + "*~" \ + ".*.sw[nop]" \ + ".dirstamp" \ + ; do echo /$$x; done; \ + } | \ + sed "s@^/`echo "$(srcdir)" | sed 's/\(.\)/[\1]/g'`/@/@" | \ + sed 's@/[.]/@/@g' | \ + LC_ALL=C sort | uniq > $@.tmp && \ + mv $@.tmp $@; + +all: $(srcdir)/.gitignore gitignore-recurse-maybe +gitignore-recurse-maybe: + @if test "x$(SUBDIRS)" = "x$(DIST_SUBDIRS)"; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) gitignore-recurse; \ + fi; +gitignore-recurse: + @for subdir in $(DIST_SUBDIRS); do \ + case " $(SUBDIRS) " in \ + *" $$subdir "*) :;; \ + *) test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) .gitignore gitignore-recurse || echo "Skipping $$subdir");; \ + esac; \ + done +gitignore: $(srcdir)/.gitignore gitignore-recurse + +maintainer-clean: gitignore-clean +gitignore-clean: + -rm -f $(srcdir)/.gitignore + +.PHONY: gitignore-clean gitignore gitignore-recurse gitignore-recurse-maybe diff --git a/pam/Makefile.am b/pam/Makefile.am new file mode 100644 index 0000000..86a326a --- /dev/null +++ b/pam/Makefile.am @@ -0,0 +1,22 @@ +if HAVE_PAM + +pammod_LTLIBRARIES = pam_fprintd.la +pammoddir=$(libdir)/security + +pam_fprintd_la_SOURCES = pam_fprintd.c $(MARSHALFILES) +pam_fprintd_la_CFLAGS = -fPIC $(WARN_CFLAGS) $(GLIB_CFLAGS) -DLOCALEDIR="\"$(localedir)\"" +pam_fprintd_la_LDFLAGS = -avoid-version -module -Wl,-z,nodelete +pam_fprintd_la_LIBADD = $(PAM_LIBS) $(GLIB_LIBS) + +MARSHALFILES = marshal.c marshal.h +GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0` +BUILT_SOURCES = $(MARSHALFILES) + +marshal.h: $(top_srcdir)/src/fprintd-marshal.list + ( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(top_srcdir)/src/fprintd-marshal.list --header > marshal.h ) +marshal.c: marshal.h + ( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(top_srcdir)/src/fprintd-marshal.list --body --header > marshal.c ) + +endif + +EXTRA_DIST = pam_fprintd.c fingerprint-strings.h diff --git a/pam/README b/pam/README new file mode 100644 index 0000000..9174deb --- /dev/null +++ b/pam/README @@ -0,0 +1,26 @@ +PAM module for fingerprint authentication +----------------------------------------- + +Using: +* Modify the appropriate PAM configuration file +(/etc/pam.d/system-auth-ac on Fedora systems), and add the line: +auth sufficient pam_fprintd.so +before the line: +auth sufficient pam_unix.so ... +* You can now enroll fingerprints using fprintd-enroll. The first available + fingerprint available will be used to log you in. + +Options: +* You can add the "debug" option on the pam configuration file line above, + this will log more information from PAM to the file specified in your + syslog configuration (/var/log/secure by default on Fedora) + +Known issues: +* pam_fprintd does not support identifying the user itself as + that would mean having the fingerprint reader on for all the time + the user selection is displayed, and could damage the hardware. + It could be fixed by having gdm/login only start the PAM conversation + when there is activity +* pam_fprintd doesn't support entering either the password or a fingerprint, + as pam_thinkfinger does, because it's a gross hack, and could be fixed + by having the login managers run 2 separate PAM stacks diff --git a/pam/fingerprint-strings.h b/pam/fingerprint-strings.h new file mode 100644 index 0000000..f9fd993 --- /dev/null +++ b/pam/fingerprint-strings.h @@ -0,0 +1,170 @@ +/* + * Helper functions to translate statuses and actions to strings + * Copyright (C) 2008 Bastien Nocera + * + * Experimental code. This will be moved out of fprintd into it's own + * package once the system has matured. + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +struct { + const char *dbus_name; + const char *place_str_generic; + const char *place_str_specific; + const char *swipe_str_generic; + const char *swipe_str_specific; +} fingers[] = { + { "any", + N_("Place your finger on the fingerprint reader"), + N_("Place your finger on %s"), + N_("Swipe your finger across the fingerprint reader"), + N_("Swipe your finger across %s") }, + { "left-thumb", + N_("Place your left thumb on the fingerprint reader"), + N_("Place your left thumb on %s"), + N_("Swipe your left thumb across the fingerprint reader"), + N_("Swipe your left thumb across %s") }, + { "left-index-finger", + N_("Place your left index finger on the fingerprint reader"), + N_("Place your left index finger on %s"), + N_("Swipe your left index finger across the fingerprint reader"), + N_("Swipe your left index finger across %s") }, + { "left-middle-finger", + N_("Place your left middle finger on the fingerprint reader"), + N_("Place your left middle finger on %s"), + N_("Swipe your left middle finger across the fingerprint reader"), + N_("Swipe your left middle finger across %s") }, + { "left-ring-finger", + N_("Place your left ring finger on the fingerprint reader"), + N_("Place your left ring finger on %s"), + N_("Swipe your left ring finger across the fingerprint reader"), + N_("Swipe your left ring finger across %s") }, + { "left-little-finger", + N_("Place your left little finger on the fingerprint reader"), + N_("Place your left little finger on %s"), + N_("Swipe your left little finger across the fingerprint reader"), + N_("Swipe your left little finger across %s") }, + { "right-thumb", + N_("Place your right thumb on the fingerprint reader"), + N_("Place your right thumb on %s"), + N_("Swipe your right thumb across the fingerprint reader"), + N_("Swipe your right thumb across %s") }, + { "right-index-finger", + N_("Place your right index finger on the fingerprint reader"), + N_("Place your right index finger on %s"), + N_("Swipe your right index finger across the fingerprint reader"), + N_("Swipe your right index finger across %s") }, + { "right-middle-finger", + N_("Place your right middle finger on the fingerprint reader"), + N_("Place your right middle finger on %s"), + N_("Swipe your right middle finger across the fingerprint reader"), + N_("Swipe your right middle finger across %s") }, + { "right-ring-finger", + N_("Place your right ring finger on the fingerprint reader"), + N_("Place your right ring finger on %s"), + N_("Swipe your right ring finger across the fingerprint reader"), + N_("Swipe your right ring finger across %s") }, + { "right-little-finger", + N_("Place your right little finger on the fingerprint reader"), + N_("Place your right little finger on %s"), + N_("Swipe your right little finger across the fingerprint reader"), + N_("Swipe your right little finger across %s") }, + { NULL, NULL, NULL, NULL, NULL } +}; + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + +G_GNUC_UNUSED static char *finger_str_to_msg(const char *finger_name, const char *driver_name, gboolean is_swipe) +{ + int i; + + if (finger_name == NULL) + return NULL; + + for (i = 0; fingers[i].dbus_name != NULL; i++) { + if (g_str_equal (fingers[i].dbus_name, finger_name)) { + if (is_swipe == FALSE) { + if (driver_name) + return g_strdup_printf (TR (fingers[i].place_str_specific), driver_name); + else + return g_strdup (TR (fingers[i].place_str_generic)); + } else { + if (driver_name) + return g_strdup_printf (TR (fingers[i].swipe_str_specific), driver_name); + else + return g_strdup (TR (fingers[i].swipe_str_generic)); + } + } + } + + return NULL; +} + +#pragma GCC diagnostic pop + +/* Cases not handled: + * verify-no-match + * verify-match + * verify-unknown-error + */ +G_GNUC_UNUSED static const char *verify_result_str_to_msg(const char *result, gboolean is_swipe) +{ + if (result == NULL) + return NULL; + + if (strcmp (result, "verify-retry-scan") == 0) { + if (is_swipe == FALSE) + return N_("Place your finger on the reader again"); + else + return N_("Swipe your finger again"); + } + if (strcmp (result, "verify-swipe-too-short") == 0) + return N_("Swipe was too short, try again"); + if (strcmp (result, "verify-finger-not-centered") == 0) + return N_("Your finger was not centered, try swiping your finger again"); + if (strcmp (result, "verify-remove-and-retry") == 0) + return N_("Remove your finger, and try swiping your finger again"); + + return NULL; +} + +/* Cases not handled: + * enroll-completed + * enroll-failed + * enroll-unknown-error + */ +G_GNUC_UNUSED static const char *enroll_result_str_to_msg(const char *result, gboolean is_swipe) +{ + if (result == NULL) + return NULL; + + if (strcmp (result, "enroll-retry-scan") == 0 || strcmp (result, "enroll-stage-passed") == 0) { + if (is_swipe == FALSE) + return N_("Place your finger on the reader again"); + else + return N_("Swipe your finger again"); + } + if (strcmp (result, "enroll-swipe-too-short") == 0) + return N_("Swipe was too short, try again"); + if (strcmp (result, "enroll-finger-not-centered") == 0) + return N_("Your finger was not centered, try swiping your finger again"); + if (strcmp (result, "enroll-remove-and-retry") == 0) + return N_("Remove your finger, and try swiping your finger again"); + + return NULL; +} + diff --git a/pam/pam_fprintd.c b/pam/pam_fprintd.c new file mode 100644 index 0000000..b2eee4d --- /dev/null +++ b/pam/pam_fprintd.c @@ -0,0 +1,530 @@ +/* + * pam_fprint: PAM module for fingerprint authentication through fprintd + * Copyright (C) 2007 Daniel Drake + * Copyright (C) 2008 Bastien Nocera + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#define PAM_SM_AUTH +#include + +#include "marshal.h" + +#define TR(s) dgettext(GETTEXT_PACKAGE, s) + +#include "fingerprint-strings.h" + +#define DEFAULT_MAX_TRIES 3 +#define DEFAULT_TIMEOUT 30 + +#define MAX_TRIES_MATCH "max-tries=" +#define TIMEOUT_MATCH "timeout=" + +#define D(pamh, ...) { \ + if (debug) { \ + char *s; \ + s = g_strdup_printf (__VA_ARGS__); \ + send_debug_msg (pamh, s); \ + g_free (s); \ + } \ +} + + +static gboolean debug = FALSE; +static guint max_tries = DEFAULT_MAX_TRIES; +static guint timeout = DEFAULT_TIMEOUT; + +static gboolean send_info_msg(pam_handle_t *pamh, const char *msg) +{ + const struct pam_message mymsg = { + .msg_style = PAM_TEXT_INFO, + .msg = msg, + }; + const struct pam_message *msgp = &mymsg; + const struct pam_conv *pc; + struct pam_response *resp; + int r; + + r = pam_get_item(pamh, PAM_CONV, (const void **) &pc); + if (r != PAM_SUCCESS) + return FALSE; + + if (!pc || !pc->conv) + return FALSE; + + return (pc->conv(1, &msgp, &resp, pc->appdata_ptr) == PAM_SUCCESS); +} + +static gboolean send_err_msg(pam_handle_t *pamh, const char *msg) +{ + const struct pam_message mymsg = { + .msg_style = PAM_ERROR_MSG, + .msg = msg, + }; + const struct pam_message *msgp = &mymsg; + const struct pam_conv *pc; + struct pam_response *resp; + int r; + + r = pam_get_item(pamh, PAM_CONV, (const void **) &pc); + if (r != PAM_SUCCESS) + return FALSE; + + if (!pc || !pc->conv) + return FALSE; + + return (pc->conv(1, &msgp, &resp, pc->appdata_ptr) == PAM_SUCCESS); +} + +static void send_debug_msg(pam_handle_t *pamh, const char *msg) +{ + gconstpointer item; + const char *service; + + if (pam_get_item(pamh, PAM_SERVICE, &item) != PAM_SUCCESS || !item) + service = ""; + else + service = item; + + openlog (service, LOG_CONS | LOG_PID, LOG_AUTHPRIV); + + syslog (LOG_AUTHPRIV|LOG_WARNING, "%s(%s): %s", "pam_fprintd", service, msg); + + closelog (); + +} + +static DBusGProxy *create_manager (pam_handle_t *pamh, DBusGConnection **ret_conn, GMainLoop **ret_loop) +{ + DBusGConnection *connection; + DBusConnection *conn; + DBusGProxy *manager; + DBusError error; + GMainLoop *loop; + GMainContext *ctx; + + /* Otherwise dbus-glib doesn't setup it value types */ + connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, NULL); + + if (connection != NULL) + dbus_g_connection_unref (connection); + + /* And set us up a private D-Bus connection */ + dbus_error_init (&error); + conn = dbus_bus_get_private (DBUS_BUS_SYSTEM, &error); + if (conn == NULL) { + D(pamh, "Error with getting the bus: %s", error.message); + dbus_error_free (&error); + return NULL; + } + + /* Set up our own main loop context */ + ctx = g_main_context_new (); + loop = g_main_loop_new (ctx, FALSE); + dbus_connection_setup_with_g_main (conn, ctx); + + connection = dbus_connection_get_g_connection (conn); + + manager = dbus_g_proxy_new_for_name(connection, + "net.reactivated.Fprint", + "/net/reactivated/Fprint/Manager", + "net.reactivated.Fprint.Manager"); + *ret_conn = connection; + *ret_loop = loop; + + return manager; +} + +static void close_and_unref (DBusGConnection *connection) +{ + DBusConnection *conn; + + conn = dbus_g_connection_get_connection (connection); + dbus_connection_close (conn); + dbus_g_connection_unref (connection); +} + +static void unref_loop (GMainLoop *loop) +{ + GMainContext *ctx; + + /* The main context was created separately, so + * we'll need to unref it ourselves */ + ctx = g_main_loop_get_context (loop); + g_main_loop_unref (loop); + g_main_context_unref (ctx); +} + +#define DBUS_TYPE_G_OBJECT_PATH_ARRAY (dbus_g_type_get_collection ("GPtrArray", DBUS_TYPE_G_OBJECT_PATH)) + +static DBusGProxy *open_device(pam_handle_t *pamh, DBusGConnection *connection, DBusGProxy *manager, gboolean *has_multiple_devices) +{ + GError *error = NULL; + const char *path; + DBusGProxy *dev; + GPtrArray *paths_array; + const char **paths; + + if (!dbus_g_proxy_call (manager, "GetDevices", &error, + G_TYPE_INVALID, DBUS_TYPE_G_OBJECT_PATH_ARRAY, + &paths_array, G_TYPE_INVALID)) { + D(pamh, "get_devices failed: %s", error->message); + g_error_free (error); + return NULL; + } + + if (paths_array == NULL || paths_array->len == 0) { + if (paths_array != NULL) + g_ptr_array_free (paths_array, TRUE); + D(pamh, "No devices found\n"); + return NULL; + } + + *has_multiple_devices = (paths_array->len > 1); + paths = (const char **)paths_array->pdata; + path = paths[0]; + + D(pamh, "Using device %s\n", path); + + dev = dbus_g_proxy_new_for_name(connection, + "net.reactivated.Fprint", + path, + "net.reactivated.Fprint.Device"); + + g_ptr_array_free (paths_array, TRUE); + + return dev; +} + +typedef struct { + guint max_tries; + char *result; + gboolean timed_out; + gboolean is_swipe; + pam_handle_t *pamh; + GMainLoop *loop; + + char *driver; +} verify_data; + +static void verify_result(GObject *object, const char *result, gboolean done, gpointer user_data) +{ + verify_data *data = user_data; + const char *msg; + + D(data->pamh, "Verify result: %s\n", result); + if (done != FALSE) { + data->result = g_strdup (result); + g_main_loop_quit (data->loop); + return; + } + + msg = TR(verify_result_str_to_msg (result, data->is_swipe)); + send_err_msg (data->pamh, msg); +} + +static void verify_finger_selected(GObject *object, const char *finger_name, gpointer user_data) +{ + verify_data *data = user_data; + char *msg; + + msg = finger_str_to_msg(finger_name, data->driver, data->is_swipe); + + D(data->pamh, "verify_finger_selected %s", msg); + send_info_msg (data->pamh, msg); + g_free (msg); +} + +static gboolean verify_timeout_cb (gpointer user_data) +{ + verify_data *data = user_data; + + data->timed_out = TRUE; + send_info_msg (data->pamh, "Verification timed out"); + g_main_loop_quit (data->loop); + + return FALSE; +} + +static int do_verify(GMainLoop *loop, pam_handle_t *pamh, DBusGProxy *dev, gboolean has_multiple_devices) +{ + GError *error = NULL; + GHashTable *props; + DBusGProxy *p; + verify_data *data; + int ret; + + data = g_new0 (verify_data, 1); + data->max_tries = max_tries; + data->pamh = pamh; + data->loop = loop; + + /* Get some properties for the device */ + p = dbus_g_proxy_new_from_proxy (dev, "org.freedesktop.DBus.Properties", NULL); + + if (dbus_g_proxy_call (p, "GetAll", NULL, G_TYPE_STRING, "net.reactivated.Fprint.Device", G_TYPE_INVALID, + dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), &props, G_TYPE_INVALID)) { + const char *scan_type; + if (has_multiple_devices) + data->driver = g_value_dup_string (g_hash_table_lookup (props, "name")); + scan_type = g_value_dup_string (g_hash_table_lookup (props, "scan-type")); + if (g_str_equal (scan_type, "swipe")) + data->is_swipe = TRUE; + g_hash_table_destroy (props); + } + + g_object_unref (p); + + dbus_g_proxy_add_signal(dev, "VerifyStatus", G_TYPE_STRING, G_TYPE_BOOLEAN, NULL); + dbus_g_proxy_add_signal(dev, "VerifyFingerSelected", G_TYPE_STRING, NULL); + dbus_g_proxy_connect_signal(dev, "VerifyStatus", G_CALLBACK(verify_result), + data, NULL); + dbus_g_proxy_connect_signal(dev, "VerifyFingerSelected", G_CALLBACK(verify_finger_selected), + data, NULL); + + ret = PAM_AUTH_ERR; + + while (ret == PAM_AUTH_ERR && data->max_tries > 0) { + GSource *source; + + /* Set up the timeout on our non-default context */ + source = g_timeout_source_new_seconds (timeout); + g_source_attach (source, g_main_loop_get_context (loop)); + g_source_set_callback (source, verify_timeout_cb, data, NULL); + + data->timed_out = FALSE; + + if (!dbus_g_proxy_call (dev, "VerifyStart", &error, G_TYPE_STRING, "any", G_TYPE_INVALID, G_TYPE_INVALID)) { + if (dbus_g_error_has_name(error, "net.reactivated.Fprint.Error.NoEnrolledPrints")) + ret = PAM_USER_UNKNOWN; + + D(pamh, "VerifyStart failed: %s", error->message); + g_error_free (error); + + g_source_destroy (source); + g_source_unref (source); + break; + } + + g_main_loop_run (loop); + + g_source_destroy (source); + g_source_unref (source); + + /* Ignore errors from VerifyStop */ + dbus_g_proxy_call (dev, "VerifyStop", NULL, G_TYPE_INVALID, G_TYPE_INVALID); + + if (data->timed_out) { + ret = PAM_AUTHINFO_UNAVAIL; + break; + } else { + if (g_str_equal (data->result, "verify-no-match")) { + send_err_msg (data->pamh, "Failed to match fingerprint"); + ret = PAM_AUTH_ERR; + } else if (g_str_equal (data->result, "verify-match")) + ret = PAM_SUCCESS; + else if (g_str_equal (data->result, "verify-unknown-error")) + ret = PAM_AUTHINFO_UNAVAIL; + else if (g_str_equal (data->result, "verify-disconnected")) { + ret = PAM_AUTHINFO_UNAVAIL; + g_free (data->result); + break; + } else { + send_info_msg (data->pamh, "An unknown error occurred"); + ret = PAM_AUTH_ERR; + g_free (data->result); + break; + } + g_free (data->result); + data->result = NULL; + } + data->max_tries--; + } + + dbus_g_proxy_disconnect_signal(dev, "VerifyStatus", G_CALLBACK(verify_result), data); + dbus_g_proxy_disconnect_signal(dev, "VerifyFingerSelected", G_CALLBACK(verify_finger_selected), data); + + g_free (data->driver); + g_free (data); + + return ret; +} + +static gboolean user_has_prints(DBusGProxy *dev, const char *username) +{ + char **fingers; + gboolean have_prints; + + if (!dbus_g_proxy_call (dev, "ListEnrolledFingers", NULL, + G_TYPE_STRING, username, G_TYPE_INVALID, + G_TYPE_STRV, &fingers, G_TYPE_INVALID)) { + /* If ListEnrolledFingers fails then verification should + * also fail (both use the same underlying call), so we + * report FALSE here and bail out early. */ + return FALSE; + } + + have_prints = fingers != NULL && g_strv_length (fingers) > 0; + g_strfreev (fingers); + + return have_prints; +} + +static void release_device(pam_handle_t *pamh, DBusGProxy *dev) +{ + GError *error = NULL; + if (!dbus_g_proxy_call (dev, "Release", &error, G_TYPE_INVALID, G_TYPE_INVALID)) { + D(pamh, "ReleaseDevice failed: %s\n", error->message); + g_error_free (error); + } +} + +static gboolean claim_device(pam_handle_t *pamh, DBusGProxy *dev, const char *username) +{ + GError *error = NULL; + + if (!dbus_g_proxy_call (dev, "Claim", &error, G_TYPE_STRING, username, G_TYPE_INVALID, G_TYPE_INVALID)) { + D(pamh, "failed to claim device %s\n", error->message); + g_error_free (error); + return FALSE; + } + + return TRUE; +} + +static int do_auth(pam_handle_t *pamh, const char *username) +{ + DBusGProxy *manager; + DBusGConnection *connection; + DBusGProxy *dev; + GMainLoop *loop; + gboolean have_prints; + gboolean has_multiple_devices; + int ret = PAM_AUTHINFO_UNAVAIL; + + manager = create_manager (pamh, &connection, &loop); + if (manager == NULL) + return PAM_AUTHINFO_UNAVAIL; + + dev = open_device(pamh, connection, manager, &has_multiple_devices); + g_object_unref (manager); + if (!dev) { + unref_loop (loop); + close_and_unref (connection); + return PAM_AUTHINFO_UNAVAIL; + } + + have_prints = user_has_prints(dev, username); + D(pamh, "prints registered: %s\n", have_prints ? "yes" : "no"); + + if (have_prints) { + if (claim_device (pamh, dev, username)) { + ret = do_verify (loop, pamh, dev, has_multiple_devices); + release_device (pamh, dev); + } + } + + unref_loop (loop); + g_object_unref (dev); + close_and_unref (connection); + + return ret; +} + +PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, + const char **argv) +{ + const char *rhost = NULL; + const char *username; + guint i; + int r; + + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + +#if !GLIB_CHECK_VERSION (2, 36, 0) + g_type_init(); +#endif + + dbus_g_object_register_marshaller (fprintd_marshal_VOID__STRING_BOOLEAN, + G_TYPE_NONE, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID); + + pam_get_item(pamh, PAM_RHOST, (const void **)(const void*) &rhost); + + /* NULL or empty rhost if the host information is not available or set. + * "localhost" if the host is local. + * We want to not run for known remote hosts */ + if (rhost != NULL && + *rhost != '\0' && + strcmp (rhost, "localhost") != 0) { + return PAM_AUTHINFO_UNAVAIL; + } + + r = pam_get_user(pamh, &username, NULL); + if (r != PAM_SUCCESS) + return PAM_AUTHINFO_UNAVAIL; + + for (i = 0; i < argc; i++) { + if (argv[i] != NULL) { + if(g_str_equal (argv[i], "debug")) { + g_message ("debug on"); + debug = TRUE; + } + else if (strncmp(argv[i], MAX_TRIES_MATCH, strlen (MAX_TRIES_MATCH)) == 0 && strlen(argv[i]) == strlen (MAX_TRIES_MATCH) + 1) { + max_tries = atoi (argv[i] + strlen (MAX_TRIES_MATCH)); + if (max_tries < 1) + max_tries = DEFAULT_MAX_TRIES; + D(pamh, "max_tries specified as: %d", max_tries); + } + else if (strncmp(argv[i], TIMEOUT_MATCH, strlen (TIMEOUT_MATCH)) == 0 && strlen(argv[i]) <= strlen (TIMEOUT_MATCH) + 2) { + timeout = atoi (argv[i] + strlen (TIMEOUT_MATCH)); + if (timeout < 10) + timeout = DEFAULT_TIMEOUT; + D(pamh, "timeout specified as: %d", timeout); + } + } + } + + r = do_auth(pamh, username); + + return r; +} + +PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, + const char **argv) +{ + return PAM_SUCCESS; +} + +PAM_EXTERN int pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, + const char **argv) +{ + return PAM_SUCCESS; +} + diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..94537bf --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,71 @@ +ar +as +ast +az +be +bg +bn_IN +ca +ca@valencia +cs +cy +da +de +el +en_GB +eo +es +et +eu +fa +fi +fo +fr +fur +ga +gl +gu +he +hi +hr +hu +ia +id +it +ja +ka +kk +kn +ko +lt +lv +ml +mr +ms +nb +nl +nn +oc +or +pa +pl +pt +pt_BR +ro +ru +sk +sl +sq +sr +sr@latin +sv +ta +te +th +tr +uk +vi +wa +zh_CN +zh_HK +zh_TW diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..b4f402b --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,5 @@ +data/net.reactivated.fprint.device.policy.in +src/main.c +src/manager.c +src/device.c +pam/fingerprint-strings.h diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 0000000..b88d120 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Arabic (http://www.transifex.com/freedesktop/fprintd/language/ar/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ar\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 && n%100<=99 ? 4 : 5;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "أكّد البصمة" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "الصلاحيات مطلوبة لتأكيد البصمة." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "تسجيل بصمات جديدة" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "الصلاحيات مطلوبة لتسجيل بصمات جديدة." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "اختر مستخدما لتسجيل بصمته" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "الصلاحيات مطلوبة لتسجيل بصمات جديدة للمستخدمين الآخرين." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "لم يُحجز الجهاز قبل استخدامه" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "الجهاز يستخدمه مستخدم آخر الآن" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "ضع إبهامك الأيسر على %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "ضع سبابتك اليسرى على %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "ضع أصبعك الوسطى اليسرى على %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "ضع بنصرك الأيسر على %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "ضع خنصرك الأيسر على %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "ضع إبهامك الأيمن على %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "ضع سبابتك اليمنى على %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "ضع أصبعك الوسطى اليمنى على %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "ضع بنصرك الأيمن على %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "ضع خنصرك الأيمن على %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "ضع أصبعك على القارئ مرة أخرى" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "انقر بأصبعك مرة أخرى" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "النقرة كانت سريعة، حاول ثانيا" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "لم يكن أصبعك موسطّا، حاول ثانيا" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "ارفع أصبعك، ثم حاول ثانيا" diff --git a/po/as.po b/po/as.po new file mode 100644 index 0000000..9b705c6 --- /dev/null +++ b/po/as.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Assamese (http://www.transifex.com/freedesktop/fprintd/language/as/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: as\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/ast.po b/po/ast.po new file mode 100644 index 0000000..eb443dd --- /dev/null +++ b/po/ast.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-27 03:15+0000\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Asturian (http://www.transifex.com/freedesktop/fprintd/language/ast/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ast\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/az.po b/po/az.po new file mode 100644 index 0000000..bd34efe --- /dev/null +++ b/po/az.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Azerbaijani (http://www.transifex.com/freedesktop/fprintd/language/az/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: az\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/be.po b/po/be.po new file mode 100644 index 0000000..b8e79e8 --- /dev/null +++ b/po/be.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2018-04-08 18:46+0000\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Belarusian (http://www.transifex.com/freedesktop/fprintd/language/be/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..a18b3a9 --- /dev/null +++ b/po/bg.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Alexander Shopov , 2011 +# Tony Ivanov , 2017 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-12-26 22:04+0000\n" +"Last-Translator: Tony Ivanov \n" +"Language-Team: Bulgarian (http://www.transifex.com/freedesktop/fprintd/language/bg/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Проверка на отпечатък" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Необходими са допълнителни привилегии, за проверка на отпечатъци." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Добавяне на нови отпечатъци" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Необходими са допълнителни привилегии, за да добавяте нови отпечатъци." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Изберете потребител за отпечатъците" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Необходими са допълнителни привилегии, за да добавяте нови отпечатъци за други потребители." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Устройството не е било заявено преди употребата" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Устройството е заето от друг потребител" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Поставете вашия пръст на четеца за пръстови отпечатъци" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Поставете вашият пръст на %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Поставете левия си палец върху %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Поставете левия си показалец върху %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Поставете левия си среден пръст върху %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Поставете левия си безименен пръст върху %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Поставете лявото си кутре върху %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Поставете десния си палец върху %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Поставете десния си показалец върху %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Поставете десния си среден пръст върху %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Поставете десния си безименен пръст върху %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Поставете дясното си кутре върху %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Отново поставете пръста си върху четеца" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Отново прекарайте пръста си върху четеца" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Прекалено бързо прекарахте пръста си, опитайте отново" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Пръстът ви не бе центриран, прекарайте го отново" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Махнете пръста си и го прекарайте отново" diff --git a/po/bn_IN.po b/po/bn_IN.po new file mode 100644 index 0000000..e460391 --- /dev/null +++ b/po/bn_IN.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Bengali (India) (http://www.transifex.com/freedesktop/fprintd/language/bn_IN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: bn_IN\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..8389521 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Robert Antoni Buj Gelonch , 2015 +# xavier , 2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:46+0000\n" +"Last-Translator: Robert Antoni Buj Gelonch \n" +"Language-Team: Catalan (http://www.transifex.com/freedesktop/fprintd/language/ca/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Comprova una empremta" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Es requereixen privilegis per verificar empremtes." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Inscriu empremtes noves" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Es requereixen privilegis per inscriure empremtes noves." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Selecciona un usuari per inscriure" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Es requereixen privilegis per inscriure noves empremtes per a altres usuaris." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "El dispositiu no estava preparat" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "El dispositiu ja l'està fent servir un altre usuari" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Poseu el dit al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Poseu el dit a %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Passeu el dit pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Passeu el dit per %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Poseu el dit gros esquerre al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Poseu el dit gros esquerre a %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Passeu el dit gros esquerre pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Passeu el dit gros esquerre per %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Poseu el dit índex esquerre al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Poseu el dit índex esquerre a %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Passeu el dit índex esquerre pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Passeu el dit índex esquerre per %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Poseu el dit del mig esquerre al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Poseu el dit del mig esquerre a %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Passeu el dit del mig esquerre pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Passeu el dit anular esquerre per %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Poseu el dit anular esquerre al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Poseu el dit anular esquerre a %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Passeu el dit anular esquerre pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Passeu el dit anular esquerre per %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Poseu el dit petit esquerre al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Poseu el dit petit esquerre a %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Passeu el dit petit esquerre pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Passeu el dit petit esquerre per %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Poseu el dit gros dret al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Poseu el dit gros dret a %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Passeu el dit gros dret pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Passeu el dit gros dret per %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Poseu el dit índex dret al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Poseu el dit índex dret a %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Passeu el dit índex dret pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Passeu el dit índex dret per %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Poseu el dit del mig dret al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Poseu el dit del mig dret a %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Passeu el dit del mig dret pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Passeu el dit anular dret per %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Poseu el dit anular dret al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Poseu el dit anular dret a %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Passeu el dit anular dret pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Passeu el dit anular dret per %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Poseu el dit petit dret al lector d'empremtes" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Poseu el dit petit dret a %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Passeu el dit petit dret pel lector d'empremtes" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Passeu el dit petit dret per %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Poseu el dit un altre cop al lector" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Passeu el dit un altre cop" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Lectura incorrecta, torneu-ho a intentar" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "El dit no estava centrat, intenteu passar el dit de nou" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Retireu el dit i intenteu passar el dit de nou" diff --git a/po/ca@valencia.po b/po/ca@valencia.po new file mode 100644 index 0000000..fb9e058 --- /dev/null +++ b/po/ca@valencia.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Catalan (Valencian) (http://www.transifex.com/freedesktop/fprintd/language/ca%40valencia/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ca@valencia\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..5c3c8f1 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Marek Černocký , 2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Marek Černocký \n" +"Language-Team: Czech (http://www.transifex.com/freedesktop/fprintd/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cs\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Ověřit otisk prstů" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "K ověření otisků prstů jsou zapotřebí oprávnění." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Registrovat nové otisky prstů" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "K registraci nových otisků prstů jsou zapotřebí oprávnění." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Zvolte uživatele k registraci" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "K registraci nových otisků prstů pro jiné uživatele jsou zapotřebí oprávnění." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Zařízení nebylo před použitím získáno" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Zařízení je již používáno jiným uživatelem" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Přiložte svůj prst na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Přiložte svůj prst na %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Přejeďte svým prstem přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Přejeďte svým prstem přes %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Přiložte palec levé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Přiložte palec levé ruky na %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Přejeďte palcem levé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Přejeďte palcem levé ruky přes %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Přiložte ukazováček levé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Přiložte ukazováček levé ruky na %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Přejďte ukazováčkem levé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Přejďte ukazováčkem levé ruky přes %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Přiložte prostředníček levé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Přiložte prostředníček levé ruky na %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Přejeďte prostředníčkem levé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Přejeďte prostředníčkem levé ruky přes %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Přiložte prsteníček levé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Přiložte prsteníček levé ruky na %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Přejeďte prsteníčkem levé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Přejeďte prsteníčkem levé ruky přes %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Přiložte malíček levé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Přiložte malíček levé ruky na %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Přejeďte malíčkem levé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Přejeďte malíčkem levé ruky přes %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Přiložte palec pravé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Přiložte palec pravé ruky na %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Přejeďte palcem pravé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Přejeďte palcem pravé ruky přes %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Přiložte ukazováček pravé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Přiložte ukazováček pravé ruky na %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Přejeďte ukazováčkem pravé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Přejeďte ukazováčkem pravé ruky přes %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Přiložte prostředníček pravé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Přiložte prostředníček pravé ruky na %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Přejeďte prostředníčkem pravé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Přejeďte prostředníčkem pravé ruky přes %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Přiložte prsteníček pravé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Přiložte prsteníček pravé ruky na %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Přejeďte prsteníčkem pravé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Přejeďte prsteníčkem pravé ruky přes %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Přiložte malíček pravé ruky na snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Přiložte malíček pravé ruky na %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Přejeďte malíčkem pravé ruky přes snímač otisku prstů" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Přejeďte malíčkem pravé ruky přes %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Přiložte prst na čtečku znovu" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Přejeďte prstem znovu" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Přejetí bylo příliš rychlé, zkuste to znovu" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Prst nebyl přiložen na střed, zkuste prstem přejet znovu" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Sejměte prst a zkuste s ním přejet znovu" diff --git a/po/cy.po b/po/cy.po new file mode 100644 index 0000000..4b07863 --- /dev/null +++ b/po/cy.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Welsh (http://www.transifex.com/freedesktop/fprintd/language/cy/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: cy\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..ff3e84f --- /dev/null +++ b/po/da.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Joe Hansen , 2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 21:51+0000\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish (http://www.transifex.com/freedesktop/fprintd/language/da/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: da\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verificer et fingeraftryk" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Privilegier er krævet for at verificere fingeraftryk." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Tilmeld nye fingeraftryk" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Privilegier er krævet for at tilmelde nye fingeraftryk." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Vælg en bruger at tilmelde" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Privilegier er krævet for at tilmelde nye fingeraftryk for andre brugere." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Enhed var ikke hævdet før brug" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Enhed allerede i brug af anden bruger" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Placer din finger på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Placer din finger på %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Rul din finger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Rul din finger over %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Placer din venstre tommeltot på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Placer din venstre tommeltot på %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Rul din venstre tommeltot over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Rul din venstre tommeltot over %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Placer din venstre pegefinger på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Placer din venstre pegefinger på %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Rul din venstre pegefinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Rul din venstre pegefiner over %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Placer din venstre langfinger på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Placer din venstre langfinger på %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Rul din venstre langfinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Rul din venstre langfinger over %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Placer din venstre ringfinger på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Placer din venstre ringfinger på %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Rul din venstre ringfinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Rul din venstre ringfinger over %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Placer din venstre lillefinger på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Placer din venstre lillefinger på %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Rul din venstre lillefinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Rul din venstre lillefinger over %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Placer din højre tommeltot på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Placer din højre tommeltot på %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Rul din højre tommeltot over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Rul din højre tommeltot over %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Placer din højre pegefinger på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Placer din højre pegefinger på %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Rul din højre pegefinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Rul din højre pegefinger over %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Placer din højre langfinger på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Placer din højre langfinger på %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Rul din højre langfinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Rul din højre langfinger over %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Placer din højre ringfinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Placer din højre ringfinger på %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Rul din højre ringfinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Rul din højre ringfinger over %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Placer din højre lillefinger på fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Placer din højre lillefinger på %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Rul din højre lillefinger over fingeraftrykslæseren" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Rul din højre lillefinger over %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Placer din finger på læseren igen" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Rul din finger igen" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Rul var for kort, prøv igen" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Din finger var ikke centreret, prøv at rul din finger igen" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Fjern din finger, og prøv at rul din finger igen" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..fb6573e --- /dev/null +++ b/po/de.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Ettore Atalan , 2014 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Ettore Atalan \n" +"Language-Team: German (http://www.transifex.com/freedesktop/fprintd/language/de/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: de\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Einen Fingerabdruck überprüfen" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Systemverwalterrechte sind zum Überprüfen neuer Fingerabdrücke erforderlich." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Neue Fingerabdrücke eintragen" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Systemverwalterrechte sind zum Eintragen neuer Fingerabdrücke erforderlich." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Wählen Sie einen Benutzer zum Eintragen aus" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Systemverwalterrechte sind zum Eintragen neuer Fingerabdrücke für andere Benutzer erforderlich." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Nutzung des Gerätes wurde vorher nicht angefragt" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Gerät wird bereits von einem anderen Benutzer verwendet" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Legen Sie Ihren Finger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Legen Sie Ihren Finger auf %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem Finger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Wischen Sie mit Ihrem Finger über %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Legen Sie Ihren linken Daumen auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Legen Sie Ihren linken Daumen auf %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem linken Daumen über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Wischen Sie mit linken Daumen über %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Legen Sie Ihren linken Zeigefinger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Legen Sie Ihren linken Zeigefinger auf %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem linken Zeigefinger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Wischen Sie mit Ihrem linken Zeigefinger über %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Legen Sie Ihren linken Mittelfinger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Legen Sie Ihren linken Zeigefinger auf %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem linken Mittelfinger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Wischen Sie mit Ihrem linken Mittelfinger über %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Legen Sie Ihren linken Ringfinger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Legen Sie Ihren linken Ringfinger auf %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem linken Ringfinger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Wischen Sie mit Ihrem linken Ringfinger über %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Legen Sie Ihren linken kleinen Finger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Legen Sie Ihren linken kleinen Finger auf %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem linken kleinen Finger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Wischen Sie mit Ihrem linken kleinen Finger über %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Legen Sie Ihren rechten Daumen auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Legen Sie Ihren rechten Daumen auf %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem rechten Daumen über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Wischen Sie mit Ihrem rechten Daumen über %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Legen Sie Ihren rechten Zeigefinger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Legen Sie Ihren rechten Zeigefinger auf %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem rechten Zeigefinger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Wischen Sie mit Ihrem rechten Zeigefinger über %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Legen Sie Ihren rechten Mittelfinger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Legen Sie Ihren rechten Mittelfinger auf %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem rechten Mittelfinger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Wischen Sie mit Ihrem rechten Mittelfinger über %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Legen Sie Ihren rechten Ringfinger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Legen Sie Ihren rechten Ringfinger auf %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem rechten Ringfinger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Wischen Sie mit Ihrem rechten Ringfinger über %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Legen Sie Ihren rechten kleinen Finger auf den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Legen Sie Ihren rechten kleinen Finger auf %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Wischen Sie mit Ihrem rechten kleinen Finger über den Fingerabdruckleser" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Wischen Sie mit Ihrem rechten kleinen Finger über %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Legen Sie Ihren Finger erneut auf den Leser" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Wischen Sie erneut mit Ihrem Finger" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Das Wischen war zu kurz, versuchen Sie es erneut" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Ihr Finger war nicht zentriert, versuchen Sie erneut Ihren Finger zu wischen" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Entfernen Sie Ihren Finger und versuchen Sie erneut Ihren Finger zu wischen" diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..0a72d37 --- /dev/null +++ b/po/el.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# geost , 2011 +# geost , 2011 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:46+0000\n" +"Last-Translator: thanos \n" +"Language-Team: Greek (http://www.transifex.com/freedesktop/fprintd/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Επιβεβαιώστε ένα δακτυλικό αποτύπωμα" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Απαιτούνται προνόμια για την επαλήθευση των δακτυλικών αποτυπωμάτων." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Καταγραφή νέων δακτυλικών αποτυπωμάτων" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Απαιτούνται προνόμια για τη καταγραφή καινούργιων δακτυλικών αποτυπωμάτων." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Επιλέξτε ένα χρήστη για να κάνετε καταγραφή αποτυπωμάτων" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Απαιτούνται προνόμια για την καταγραφή νέων δακτυλικών αποτυπωμάτων για άλλους χρήστες." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Η συσκευή δεν ζητήθηκε πριν από τη χρήση" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Η συσκευή χρησιμοποιείται ήδη από έναν άλλο χρήστη" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Τοποθετήστε το δάκτυλο σας στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Τοποθετήστε το δάκτυλο σας στο %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Περάστε ξανά το δάκτυλο σας από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Περάστε ξανά το δάκτυλο σας πάνω από το %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Τοποθετήστε το αριστερό σας αντίχειρα στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Τοποθετήστε τον αριστερό σας αντίχειρα στο %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Περάστε το αριστερό σας αντίχειρα πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Περάστε τον αριστερό σας αντίχειρα πάνω από το %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Τοποθετήστε τον αριστερό σας δείκτη στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Τοποθετήστε τον αριστερό σας δείκτη στο %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Περάστε τον αριστερό σας δείκτη πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Περάστε τον αριστερό σας δείκτη πάνω από το %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Τοποθετήστε τον αριστερό σας μέσο στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Τοποθετήστε τον αριστερό σας μέσο στο %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Περάστε τον αριστερό σας μέσο πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Περάστε τον αριστερό σας μέσο πάνω από το %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Τοποθετήστε τον αριστερό σας παράμεσο στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Τοποθετήστε τον αριστερό σας παράμεσο στο %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Περάστε τον αριστερό σας παράμεσο πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Περάστε τον αριστερό σας παράμεσο πάνω από το %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Τοποθετήστε το αριστερό σας μικρό δάκτυλο στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Τοποθετήστε το αριστερό σας μικρό δάκτυλο στο %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Περάστε το αριστερό σας μικρό δάκτυλο πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Περάστε το αριστερό σας μικρό πάνω από το %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Τοποθετήστε το δεξιό σας αντίχειρα στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Τοποθετήστε τον δεξιό σας αντίχειρα στο %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Περάστε το δεξιό σας αντίχειρα πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Περάστε τον δεξιό σας αντίχειρα πάνω από το %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Τοποθετήστε τον δεξιό σας δείκτη στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Τοποθετήστε τον δεξιό σας δείκτη στο %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Περάστε τον δεξιό σας δείκτη πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Περάστε τον δεξιό σας δείκτη πάνω από τον %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Τοποθετήστε τον δεξιό σας μέσο στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Τοποθετήστε τον δεξιό σας μέσο στο %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Περάστε τον δεξιό σας μέσο πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Περάστε τον δεξιό σας μέσο πάνω από τον %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Τοποθετήστε τον δεξιό σας παράμεσο στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Τοποθετήστε τον δεξιό σας παράμεσο στο %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Περάστε τον δεξιό σας παράμεσο πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Περάστε τον δεξιό σας παράμεσο πάνω από το %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Τοποθετήστε το δεξιό σας μικρό δάκτυλο στον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Τοποθετήστε το δεξιό σας μικρό δάκτυλο στο %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Περάστε το δεξιό σας μικρό δάκτυλο πάνω από τον αναγνώστη δακτυλικών αποτυπωμάτων" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Περάστε το δεξιό σας μικρό δάκτυλο πάνω από το %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Τοποθετήστε ξανά το δάκτυλό σας στον αναγνώστη" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Περάστε ξανά το δάκτυλο σας" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Το πέρασμα ήταν πολύ σύντομο, προσπαθήστε ξανά" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Το δάκτυλο σας δεν ήταν κεντραρισμένο, προσπαθήστε να περάσετε ξανά το δάκτυλο σας" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Απομακρύνετε το δάκτυλο σας και προσπαθήστε να το ξαναπεράσετε" diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..aa7340c --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Chris Leonard , 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Bruce Cowan \n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/freedesktop/fprintd/language/en_GB/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en_GB\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verify a fingerprint" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Privileges are required to verify fingerprints." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Enroll new fingerprints" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Privileges are required to enroll new fingerprints." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Select a user to enroll" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Privileges are required to enroll new fingerprints for other users." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Device was not claimed before use" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Device already in use by another user" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Place your finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Place your finger on %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Swipe your finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Swipe your finger across %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Place your left thumb on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Place your left thumb on %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Swipe your left thumb across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Swipe your left thumb across %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Place your left index finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Place your left index finger on %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Swipe your left index finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Swipe your left index finger across %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Place your left middle finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Place your left middle finger on %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Swipe your left middle finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Swipe your left middle finger across %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Place your left ring finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Place your left ring finger on %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Swipe your left ring finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Swipe your left ring finger across %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Place your left little finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Place your left little finger on %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Swipe your left little finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Swipe your left little finger across %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Place your right thumb on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Place your right thumb on %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Swipe your right thumb across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Swipe your right thumb across %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Place your right index finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Place your right index finger on %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Swipe your right index finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Swipe your right index finger across %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Place your right middle finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Place your right middle finger on %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Swipe your right middle finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Swipe your right middle finger across %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Place your right ring finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Place your right ring finger on %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Swipe your right ring finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Swipe your right ring finger across %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Place your right little finger on the fingerprint reader" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Place your right little finger on %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Swipe your right little finger across the fingerprint reader" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Swipe your right little finger across %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Place your finger on the reader again" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Swipe your finger again" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Swipe was too short, try again" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Your finger was not centred, try swiping your finger again" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Remove your finger, and try swiping your finger again" diff --git a/po/eo.po b/po/eo.po new file mode 100644 index 0000000..e476541 --- /dev/null +++ b/po/eo.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Kristjan SCHMIDT , 2011 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 10:24+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Esperanto (http://www.transifex.com/freedesktop/fprintd/language/eo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Kontroli fingrospuron" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Sistemprivilegioj estas bezonate por kontroli fingrospurojn." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Registri novajn fingrospurojn" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Sistemprivilegioj estas bezonate por registri novajn fingrospurojn." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Elektu uzanton or registri" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Sistemprivilegioj estas bezonate por registri novajn fingrospurojn por aliaj uzantoj." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Ne pretendis la aparaton antaŭ uzo" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "La aparato jam estas uzate de alia uzanto" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Metu vian maldekstran dikfingron sur %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Metu vian maldekstran montrofingron sur %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Metu vian maldekstran mezfingron sur %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Metu vian maldekstran ringfingron sur %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Metu vian maldekstran etfingron sur %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Metu vian dekstran dikfingron sur %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Metu vian dekstran montrofingron sur %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Metu vian dekstran mezfingron sur %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Metu vian dekstran ringfingron sur %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Metu vian dekstran etfingron sur %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Metu vian fingron denove sur la legilo" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Turnetu vian fingron denove" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Tunado estas tro mallonge, provu denove" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Via fingro ne estis en la mezo, provu turneti vian fingron denove" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Forigu vian fingron, kaj provu turneti vian fingron denove" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..1e6abb7 --- /dev/null +++ b/po/es.po @@ -0,0 +1,273 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Adolfo Jayme Barrientos, 2015 +# Adolfo Jayme Barrientos, 2014 +# Daniel Mustieles , 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Adolfo Jayme Barrientos\n" +"Language-Team: Spanish (http://www.transifex.com/freedesktop/fprintd/language/es/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: es\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Comprobar una huella" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Se necesitan privilegios para comprobar huellas." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Registrar huellas nuevas" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Se requieren privilegios para registrar huellas nuevas." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Seleccionar un usuario para registrar" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Se requieren privilegios para registrar huellas nuevas para otros usuarios." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "No se llamó al dispositivo antes de usarlo" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Otro usuario ya está utilizando el dispositivo" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Coloque su dedo en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Coloque su dedo en %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Deslice su dedo por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Deslice su dedo por %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Coloque su pulgar izquierdo en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Coloque su pulgar izquierdo en %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Deslice su pulgar izquierdo por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Deslice su pulgar izquierdo por %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Coloque su dedo índice izquierdo en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Coloque su dedo índice izquierdo en %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Deslice su dedo índice izquierdo por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Deslice su dedo índice izquierdo por %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Coloque su dedo corazón izquierdo en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Coloque su dedo corazón izquierdo en %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Deslice su dedo corazón izquierdo por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Deslice su dedo corazón izquierdo por %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Coloque su dedo anular izquierdo en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Coloque su dedo anular izquierdo en %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Deslice su dedo anular izquierdo por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Deslice su dedo anular izquierdo por %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Coloque su meñique izquierdo en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Coloque su dedo meñique izquierdo en %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Deslice su meñique izquierdo por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Deslice su meñique izquierdo por %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Coloque su pulgar derecho en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Coloque su pulgar derecho en %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Deslice su pulgar derecho por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Deslice su pulgar derecho por %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Coloque su dedo índice derecho en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Coloque su dedo índice derecho en %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Deslice su dedo índice derecho por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Deslice su dedo índice derecho por %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Coloque su dedo corazón derecho en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Coloque su dedo corazón derecho en %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Deslice su dedo corazón derecho por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Deslice su dedo corazón derecho por %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Coloque su dedo anular derecho en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Coloque su dedo anular derecho en %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Deslice su dedo anular derecho por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Deslice su dedo anular derecho por %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Coloque su meñique derecho en el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Coloque su dedo meñique derecho en %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Deslice su meñique derecho por el lector de huellas dactilares" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Deslice su meñique derecho por %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Coloque de nuevo su dedo en el lector" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Deslice su dedo de nuevo" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "El deslizamiento fue demasiado corta, inténtelo de nuevo" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Su dedo no estaba centrado, intente deslizarlo de nuevo" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Quite su dedo e intente deslizarlo de nuevo" diff --git a/po/et.po b/po/et.po new file mode 100644 index 0000000..47aa3f8 --- /dev/null +++ b/po/et.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Estonian (http://www.transifex.com/freedesktop/fprintd/language/et/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: et\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000..7c77985 --- /dev/null +++ b/po/eu.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Basque (http://www.transifex.com/freedesktop/fprintd/language/eu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/fa.po b/po/fa.po new file mode 100644 index 0000000..bf39b76 --- /dev/null +++ b/po/fa.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Persian (http://www.transifex.com/freedesktop/fprintd/language/fa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..adb620f --- /dev/null +++ b/po/fi.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Jiri Grönroos , 2013,2018 +# Ville Skyttä , 2011,2016 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2018-01-25 07:36+0000\n" +"Last-Translator: Jiri Grönroos \n" +"Language-Team: Finnish (http://www.transifex.com/freedesktop/fprintd/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Vahvista sormenjälki" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Laite on jo toisen käyttäjän käytössä" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Aseta sormesi sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Aseta sormesi lukijaan %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Aseta vasen peukalo sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Aseta vasen peukalosi lukijaan %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Aseta vasen etusormi sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Aseta vasen etusormesi lukijaan %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Aseta vasen keskisormi sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Aseta vasen keskisormesi lukijaan %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Aseta vasen nimetön sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Aseta vasen nimettömäsi lukijaan %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Aseta vasen pikkusormi sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Aseta vasen pikkusormesi lukijaan %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Aseta oikea peukalo sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Aseta oikea peukalosi lukijaan %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Aseta oikea etusormi sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Aseta oikea etusormesi lukijaan %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Aseta oikea keskisormi sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Aseta oikea keskisormesi lukijaan %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Aseta oikea nimetön sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Aseta oikea nimettömäsi lukijaan %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Aseta oikea pikkusormi sormenjälkilukijalle" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Aseta oikea pikkusormesi lukijaan %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Aseta sormesi lukijaan uudelleen" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Pyyhkäise sormellasi uudelleen" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Pyyhkäisy oli liian lyhyt, yritä uudelleen" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Sormesi ei ollut lukijan keskellä, yritä pyyhkäistä sormellasi uudelleen" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/fo.po b/po/fo.po new file mode 100644 index 0000000..1ea30c9 --- /dev/null +++ b/po/fo.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Gunleif Joensen , 2011 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Faroese (http://www.transifex.com/freedesktop/fprintd/language/fo/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fo\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Vátta eitt fingramerki" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Serrættindi eru krøvd til at vátta fingramerki" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Skráset nýggj fingramerki" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Serrættindi eru krøvd til at skráseta nýggj gingramerki." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Vel ein brúkara at skráseta" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Serrættindi eru krøvd, til at skráseta nýggj fingramerki fyri arðar brúkarar." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Tóleind varð ikki kravd áðrenn nýtslu" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Tóleind er longu í brúka, av einum ørðum brúkara" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Set vinstra tummil á %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Set vinstra peikifingur á %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Set vinstra longutong á %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Set vinstra ringfingur á %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Set vinstra lítlafingur á %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Set høgra tummil á %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Set høgra peikifingur á %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Set høgra longutong á %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Set høgra ringfingur á %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Set høgra lítlafingur á %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Set fingurin á lesaran umaftur" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Drag fingurin enn eina ferð" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Dragið var ov stutt, royn aftur" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Fingurin var ikki á miðjuni, royn at draga fingurin ein ferð afturat" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Flyt fingurin, og royn aftur at draga hann" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..0f8e335 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Claude Paroz , 2012 +# Claude Paroz , 2011 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:42+0000\n" +"Last-Translator: Claude Paroz \n" +"Language-Team: French (http://www.transifex.com/freedesktop/fprintd/language/fr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Vérifier une empreinte digitale" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Des permissions sont nécessaires pour contrôler des empreintes digitales." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Introduire de nouvelles empreintes" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Des permissions sont nécessaires pour introduire de nouvelles empreintes digitales." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Choisir un utilisateur pour l'introduction" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Des permissions sont nécessaires pour introduire de nouvelles empreintes digitales pour d'autres utilisateurs." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Le périphérique n'a pas été réservé avant utilisation" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Le périphérique est déjà utilisé par un autre utilisateur" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Placez votre doigt sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Placez votre doigt sur %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Faites glisser votre doigt sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Faites glisser votre doigt sur %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Placez votre pouce gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Placez votre pouce gauche sur %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Faites glisser votre pouce gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Faites glisser votre pouce gauche sur %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Placez votre index gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Placez votre index gauche sur %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Faites glisser votre index gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Faites glisser votre index gauche sur %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Placez votre majeur gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Placez votre majeur gauche sur %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Faites glisser votre majeur gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Faites glisser votre majeur gauche sur %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Placez votre annulaire gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Placez votre annulaire gauche sur %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Faites glisser votre annulaire gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Faites glisser votre annulaire gauche sur %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Placez votre auriculaire gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Placez votre auriculaire gauche sur %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Faites glisser votre auriculaire gauche sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Faites glisser votre auriculaire gauche sur %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Placez votre pouce droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Placez votre pouce droit sur %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Faites glisser votre pouce droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Faites glisser votre pouce droit sur %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Placez votre index droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Placez votre index droit sur %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Faites glisser votre index droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Faites glisser votre index droit sur %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Placez votre majeur droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Placez votre majeur droit sur %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Faites glisser votre majeur droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Faites glisser votre majeur droit sur %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Placez votre annulaire droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Placez votre annulaire droit sur %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Faites glisser votre annulaire droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Faites glisser votre annulaire droit sur %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Placez votre auriculaire droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Placez votre auriculaire droit sur %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Faites glisser votre auriculaire droit sur le lecteur d'empreintes" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Faites glisser votre auriculaire droit sur %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Placez à nouveau votre doigt sur le lecteur" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Glissez à nouveau votre doigt" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Le glissement était trop bref, essayez une nouvelle fois" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Votre doigt n'était pas centré, essayez de le glisser une nouvelle fois" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Enlevez votre doigt du lecteur et essayez de le glisser une nouvelle fois" diff --git a/po/fur.po b/po/fur.po new file mode 100644 index 0000000..481d2d3 --- /dev/null +++ b/po/fur.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Fabio Tomat , 2017 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-11-30 14:32+0000\n" +"Last-Translator: Fabio Tomat \n" +"Language-Team: Friulian (http://www.transifex.com/freedesktop/fprintd/language/fur/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: fur\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verifiche une impronte digjitâl" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "I privileçs a son necessaris par verificâ lis improntis digjitâls." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Regjistre gnovis improntis digjitâls" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "I privileçs a son necessaris par regjistrâ gnovis improntis digjitâls." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Selezione un utent di regjistrâ" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "I privileçs a son necessaris par regjistrâ gnovis improntis digjitâls par altris utents." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Il dispositîf nol è stât rivendicât prime jessi doprât" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Il dispositîf al è za doprât di un altri utent" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Met il to dêt sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Met il to dêt su %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Fâs cori il to dêt sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Fâs cori il to dêt su %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Met il poleâr de man çampe sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Met il poleâr de man çampe su %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Fâs cori il poleâr de man çampe sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Fâs cori il poleâr de man çampe su %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Met l'indiç de man çampe sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Met l'indiç de man çampe su %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Fâs cori l'indiç de man çampe sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Fâs cori l'indiç de man çampe su %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Met il dêt di mieç de man çampe sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Met il dêt di mieç de man çampe su %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Fâs cori il dêt di mieç de man çampe sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Fâs cori il dêt di mieç de man çampe su %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Met il dêt dal anel de man çampe sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Met il dêt dal anel de man çampe su %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Fâs cori il dêt dal anel de man çampe sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Fâs cori il dêt dal anel de man çampe su %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Met il dêt piçul de man çampe su letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Met il dêt piçul de man çampe su %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Fâs cori il dêt piçul de man çampe su letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Fâs cori il dêt piçul de man çampe su %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Met il poleâr de man drete sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Met il poleâr de man drete su %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Fâs cori il poleâr de man drete sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Fâs cori il poleâr de man drete su %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Met l'indiç de man drete sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Met l'indiç de man drete su %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Fâs cori l'indiç de man drete sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Fâs cori l'indiç de man drete su %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Met il dêt di mieç de man drete sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Met il dêt di mieç de man drete su %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Fâs cori il dêt di mieç de man drete sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Fâs cori il dêt di mieç de man drete su %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Met il dêt dal anel de man drete sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Met il dêt dal anel de man drete su %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Fâs cori il dêt dal anel de man drete sul letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Fâs cori il dêt dal anel de man drete su %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Met il dêt piçul de man drete su letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Met il dêt piçul de man drete su %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Fâs cori il dêt piçul de man drete su letôr di improntis digjitâls" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Fâs cori il dêt piçul de man drete su %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Torne met il dêt sul letôr" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Torne fâs cori il dêt" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "La passade e jere masse curte, torne prove" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Il dêt nol jere centrât, prove a tornâ a fâ cori il dêt di gnûf" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Gjave il dêt e prove a tornâ a fâ cori il dêt di gnûf" diff --git a/po/ga.po b/po/ga.po new file mode 100644 index 0000000..0478434 --- /dev/null +++ b/po/ga.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Irish (http://www.transifex.com/freedesktop/fprintd/language/ga/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ga\n" +"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..57babbd --- /dev/null +++ b/po/gl.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Fran Diéguez , 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-23 18:02+0000\n" +"Last-Translator: Fran Diéguez \n" +"Language-Team: Galician (http://www.transifex.com/freedesktop/fprintd/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verificar a pegada dixital" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Requírense privilexios para verificar pegadas dixitais." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Rexistrar novas pegadas dixitais" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Requírense privilexios para rexistrar novas pegadas dixitais." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Seleccione o usuario a rexistrar" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Requírense privilexios para rexistrar novas pegadas dixitais para outros usuarios." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "O dispositivo non foi solicitado antes do seu uso" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "O dispositivo está sendo usado por outro usuario" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Poña o seu dedo sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Poña o seu dedo en %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Pase o seu dedo sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Pase o seu dedo sobre %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Poña o seu dedo gordo esquerdo sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Dispoña o dedo polgar esquerdo en %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Pase o seu dedo gordo esquerdo sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Pase o seu dedo gordo esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Poña o seu dedo índice esquerdo sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Dispoña o seu dedo índice esquerdo en %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Pase o seu dedo índice esquerdo sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Pase o seu dedo índice esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Poña o seu dedo corazón esquerdo sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Dispoña o seu dedo mediano esquerdo en %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Pase o seu dedo corazón esquerdo sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Pase o seu dedo corazón esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Poña o seu dedo anular dereito no lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Dispoña o seu dedo anular esquerdo en %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Pase o seu dedo anular esquerdo polo lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Poña o seu dedo anular esquerdo por %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Poña o seu dedo anular esquerdo no lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Dispoña o seu dedo maimiño esquerdo en %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Pase o seu dedo maimiño esquerdo polo lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Pase o seu dedo maimiño esquerdo por %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Poña o seu dedo gordo dereito no lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Dispoña o seu dedo polgar dereito en %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Pase o seu dedo gordo dereito polo lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Pase o seu dedo gordo dereito sobre %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Poña o seu dedo índice dereito no lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Dispoña o seu dedo índice dereito en %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Pase o seu dedo índice dereito sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Pase o seu dedo índice dereito sobre %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Poña o seu dedo corazón dereito no lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Dispoña o seu dedo mediano dereito en %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Pase o seu dedo corazón dereito polo lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Pase o seu dedo corazón dereito por %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Poña o seu dedo anular dereito no lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Dispoña o seu dedo anular dereito en %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Pase o seu dedo anular dereito polo lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Pase o seu dedo anular dereito por %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Poña o seu dedo maimiño dereito sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Dispoña o seu dedo maimiño dereito en %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Pase o seu dedo maimiño dereito sobre o lector de pegadas dixitais" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Pase o seu dedo maimiño dereito sobre %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Dispoña de novo o seu dedo no lector" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Deslice de novo o seu dedo" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "A pasada foi moi curta, ténteo de novo" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "O seu dedo non estaba centrado, tente a deslizalo de novo" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Retire o seu dedo e tente deslizalo de novo" diff --git a/po/gu.po b/po/gu.po new file mode 100644 index 0000000..167db02 --- /dev/null +++ b/po/gu.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Gujarati (http://www.transifex.com/freedesktop/fprintd/language/gu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: gu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/he.po b/po/he.po new file mode 100644 index 0000000..3964531 --- /dev/null +++ b/po/he.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Hebrew (http://www.transifex.com/freedesktop/fprintd/language/he/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: he\n" +"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 0000000..ebbc313 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Hindi (http://www.transifex.com/freedesktop/fprintd/language/hi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 0000000..4de85ec --- /dev/null +++ b/po/hr.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Tomislav Krznar , 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 14:12+0000\n" +"Last-Translator: Tomislav Krznar \n" +"Language-Team: Croatian (http://www.transifex.com/freedesktop/fprintd/language/hr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hr\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" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Provjeri otiske prstiju" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Potrebne su ovlasti za provjeru otisaka prstiju." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Unesi nove otiske prstiju" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Potrebne su ovlasti za unošenje novih otisaka prstiju." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Odaberite korisnika za unos" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Potrebne su ovlasti za unošenje novih otisaka prstiju za druge korisnike." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Uređaj nije zauzet prije korištenja" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Uređaj već koristi drugi korisnik" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Postavite prst na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Postavite prst na %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Povucite prst preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Povucite prst preko %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Postavite palac lijeve ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Postavite palac lijeve ruke na %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Povucite palac lijeve ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Povucite palac lijeve ruke preko %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Postavite kažiprst lijeve ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Postavite kažiprst lijeve ruke na %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Povucite kažiprst lijeve ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Povucite kažiprst lijeve ruke preko %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Postavite srednji prst lijeve ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Postavite srednji prst lijeve ruke na %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Povucite srednji prst lijeve ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Povucite srednji prst lijeve ruke preko %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Postavite prstenjak lijeve ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Postavite prstenjak lijeve ruke na %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Povucite prstenjak lijeve ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Povucite prstenjak lijeve ruke preko %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Postavite mali prst lijeve ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Postavite mali prst lijeve ruke na %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Povucite mali prst lijeve ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Povucite mali prst lijeve ruke preko %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Postavite palac desne ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Postavite palac desne ruke na %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Povucite palac desne ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Povucite palac desne ruke preko %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Postavite kažiprst desne ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Postavite kažiprst desne ruke na %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Povucite kažiprst desne ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Povucite kažiprst desne ruke preko %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Postavite srednji prst desne ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Postavite srednji prst desne ruke na %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Povucite srednji prst desne ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Povucite srednji prst desne ruke preko %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Postavite prstenjak desne ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Postavite prstenjak desne ruke na %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Povucite prstenjak desne ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Povucite prstenjak desne ruke preko %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Postavite mali prst desne ruke na čitač otisaka prstiju" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Postavite mali prst desne ruke na %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Povucite mali prst desne ruke preko čitača otisaka prstiju" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Povucite mali prst desne ruke preko %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Postavite prst na čitač još jednom" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Povucite prst još jednom" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Niste dovoljno dugo povlačili, pokušajte ponovo" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Vaš prst nije bio centriran, pokušajte ga povući ponovo" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Maknite prst i pokušajte ga povući ponovo" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..e942a05 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Gabor Kelemen , 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: kelemeng \n" +"Language-Team: Hungarian (http://www.transifex.com/freedesktop/fprintd/language/hu/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: hu\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Ujjlenyomat ellenőrzése" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Jogosultság szükséges az ujjlenyomatok ellenőrzéséhez." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Új ujjlenyomatok felvétele" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Jogosultság szükséges új ujjlenyomatok felvételéhez." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Válassza ki a felveendő felhasználót" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Jogosultság szükséges új ujjlenyomatok felvételéhez más felhasználóknak." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Az eszközt használat előtt nem foglalták le" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Az eszközt már másik felhasználó használja" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra az ujját" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Helyezze az ujját ide: %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Húzza le az ujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Húzza le az ujját ezen: %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a bal hüvelykujját" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Helyezze a bal hüvelykujját ide: %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Húzza le a bal hüvelykujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Húzza le a bal hüvelykujját ezen: %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a bal mutatóujját" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Helyezze a bal mutatóujját ide: %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Húzza le a bal mutatóujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Húzza le a bal mutatóujját ezen: %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a bal középső ujját" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Helyezze a bal középső ujját ide: %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Húzza le a bal középső ujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Húzza le a bal középső ujját ezen: %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a bal gyűrűsujját" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Helyezze a bal gyűrűsujját ide: %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Húzza le a bal gyűrűsujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Húzza le a bal gyűrűsujját ezen: %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a bal kisujját" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Helyezze a bal kisujját ide: %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Húzza le a bal kisujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Húzza le a bal kisujját ezen: %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a jobb hüvelykujját" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Helyezze a jobb hüvelykujját ide: %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Húzza le a jobb hüvelykujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Húzza le a jobb hüvelykujját ezen: %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a jobb mutatóujját" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Helyezze a jobb mutatóujját ide: %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Húzza le a jobb mutatóujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Húzza le a jobb mutatóujját ezen: %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a jobb középső ujját" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Helyezze a jobb középső ujját ide: %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Húzza le a jobb középső ujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Húzza le a jobb középső ujját ezen: %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a jobb gyűrűsujját" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Helyezze a jobb gyűrűsujját ide: %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Húzza le a jobb gyűrűsujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Húzza le a jobb gyűrűsujját ezen: %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Helyezze az ujjlenyomat-olvasóra a jobb kisujját" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Helyezze a jobb kisujját ide: %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Húzza le a jobb kisujját az ujjlenyomat-olvasón" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Húzza le a jobb kisujját ezen: %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Helyezze ismét az olvasóra az ujját" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Húzza le ismét az ujját" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "A lehúzás túl gyors volt, próbálja újra" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Az ujja nem volt középen, próbálj ismét lehúzni" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Vegye el az ujját és próbálja újra lehúzni" diff --git a/po/ia.po b/po/ia.po new file mode 100644 index 0000000..b8070ce --- /dev/null +++ b/po/ia.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Martijn Dekker , 2015 +# Nik Kalach , 2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 14:10+0000\n" +"Last-Translator: Martijn Dekker \n" +"Language-Team: Interlingua (http://www.transifex.com/freedesktop/fprintd/language/ia/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ia\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verificar un impression digital" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Privilegios es necesse pro verificar impressiones digital." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Registrar nove impressiones digital" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Privilegios es necesse pro registrar nove impressiones digital." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Selige un usator a registrar" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Privilegios es necesse pro registrar nove impressiones digital pro altere usatores." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Le dispositivo non era reservate ante le uso" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Le dispositivo es in uso per altere usator" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Placia le digito sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Placia le digito sur %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Passa le digito trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Passa le digito trans %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Placia le pollice sinistre sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Placia le pollice sinistre sur %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Passa le pollice sinistre trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Passa le pollice sinistre trans %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Placia le indice sinistre sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Placia le indice sinistre sur %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Passa le indice sinistre trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Passa le indice sinistre trans %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Placia le digito medie sinistre sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Placia le digito medie sinistre sur %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Passa le digito medie sinistre trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Passa le digito medie sinistre trans %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Placia le digito anular sinistre sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Placia le digito anular sinistre sur %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Passa le digito anular sinistre trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Passa le digito anular sinistre trans %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Placia le digito auricular sinistre sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Placia le digito auricular sinistre sur %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Passa le digito auricular sinistre trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Passa le digito auricular sinistre trans %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Placia le pollice dextere sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Placia le pollice dextere sur %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Passa le pollice dextere trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Passa le pollice dextere trans %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Placia le indice dextere sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Placia le indice dextere sur %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Passa le indice dextere trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Passa le indice dextere trans %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Placia le digito medie dextere sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Placia le digito medie dextere sur %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Passa le digito medie dextere trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Passa le digito medie dextere trans %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Placia le digito anular dextere sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Placia le digito anular dextere sur %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Passa le digito anular dextere trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Passa le digito anular dextere trans %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Placia le digito auricular dextere sur le lector de impressiones" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Placia le digito auricular dextere sur %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Passa le digito auricular dextere trans le lector de impressiones" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Passa le digito auricular dextere trans %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Placia le digito sur le lector de novo" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Passa le digito de novo" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Le passada esseva troppo curte, tenta de novo" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Le digito non esseva centrate. Tenta de passar le digito de novo" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Remove le digito e tenta de passar lo de novo" diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..abf21c7 --- /dev/null +++ b/po/id.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Andika Triwidada , 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Andika Triwidada \n" +"Language-Team: Indonesian (http://www.transifex.com/freedesktop/fprintd/language/id/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: id\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Periksa kebenaran sidik jari" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Diperlukan hak khusus untuk memeriksa kebenaran sidik jari." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Mendaftar sidik jari baru" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Diperlukan hak khusus untuk mendaftarkan sidik jari baru." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Pilih pengguna untuk didaftar" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Diperlukan hak khusus untuk mendaftarkan sidik jari baru bagi pengguna lain." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Perangkat tak diklaim sebelum dipakai" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Perangkat telah sedang dipakai oleh pengguna lain" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Tempatkan jari Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Tempatkan jari Anda pada %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Sapukan jari Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Sapukan jari Anda pada %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Tempatkan jempol kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Letakkan jempol kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Sapukan jempol kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Sapukan jempol kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Tempatkan telunjuk kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Letakkan telunjuk kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Sapukan telunjuk kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Sapukan telunjuk kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Tempatkan jari tengah kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Letakkan jari tengah kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Sapukan jari tengah kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Sapukan jari tengah kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Tempatkan jari manis kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Letakkan jari manis kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Sapukan jari manis kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Sapukan jari manis kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Tempatkan kelingking kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Letakkan kelingking kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Sapukan kelingking kiri Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Sapukan kelingking kiri Anda pada %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Tempatkan jempol kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Letakkan jempol kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Sapukan jempol kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Sapukan jempol kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Tempatkan telunjuk kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Letakkan telunjuk kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Sapukan telunjuk kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Sapukan telunjuk kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Tempatkan jari tengah kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Letakkan jari tengah kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Sapukan jari tengah kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Sapukan jari tengah kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Tempatkan jari manis kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Letakkan jari manis kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Sapukan jari manis kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Sapukan jari manis kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Tempatkan kelingking kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Letakkan kelingking kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Sapukan kelingking kanan Anda pada pembaca sidik jari" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Sapukan kelingking kanan Anda pada %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Letakkan jari Anda pada pembaca lagi" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Gesekkan lagi jari Anda" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Gesekan terlalu pendek, coba lagi" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Jari Anda tidak di tengah, coba gesekkan jari Anda lagi" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Angkat jari Anda, lalu coba gesekkan lagi" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..64b65d2 --- /dev/null +++ b/po/it.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Milo Casagrande , 2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Milo Casagrande \n" +"Language-Team: Italian (http://www.transifex.com/freedesktop/fprintd/language/it/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: it\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verifica una impronta" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Sono richiesti dei privilegi per verificare le impronte." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Registra nuove impronte" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Sono richiesti dei privilegi per registrare nuove impronte." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Seleziona un utente da registrare" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Sono richiesti dei privilegi per registrare nuove impronte per altri utenti." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Il device non è stato richiesto prima dell'uso" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Un altro utente sta già usando il device" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Posizionare il dito sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Posizionare il dito su %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Passare il dito sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Passare il dito su %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Posizionare il pollice sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Posizionare il pollice sinistro su %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Passare il pollice sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Passare il pollice sinistro su %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Posizionare l'indice sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Posizionare l'indice sinistro su %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Passare l'indice sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Passare l'indice sinistro su %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Posizionare il medio sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Posizionare il medio sinistro su %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Passare il medio sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Passare il medio sinistro su %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Posizionare l'anulare sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Posizionare l'anulare sinistro su %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Passare l'anulare sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Passare l'anulare sinistro su %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Posizionare il mignolo sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Posizionare il mignolo sinistro su %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Passare il mignolo sinistro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Passare il mignolo sinistro su %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Posizionare il pollice destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Posizionare il pollice destro su %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Passare il pollice destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Passare il pollice destro su %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Posizionare l'indice destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Posizionare l'indice destro su %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Passare l'indice destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Passare l'indice destro su %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Posizionare il medio destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Posizionare il medio destro su %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Passare il medio destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Passare il medio destro su %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Posizionare l'anulare destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Posizionare l'anulare destro su %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Passare l'anulare destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Passare l'anulare destro su %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Posizionare il mignolo destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Posizionare il mignolo destro su %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Passare il mignolo destro sul lettore di impronte" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Passare il mignolo destro su %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Posizionare nuovamente il dito sul lettore" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Passare nuovamente il dito" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Il passaggio è stato troppo corto, riprovare" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Il dito non era centrato, riperete un altro passaggio" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Rimuovere il dito e ripetere un altro passaggio" diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..e5f8f4e --- /dev/null +++ b/po/ja.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Tomoyuki KATO , 2011, 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 10:41+0000\n" +"Last-Translator: Tomoyuki KATO \n" +"Language-Team: Japanese (http://www.transifex.com/freedesktop/fprintd/language/ja/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "指紋の検証" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "指紋を検証するには特権が必要になります。" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "新しい指紋の登録" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "新しい指紋を登録するには特権が必要になります。" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "登録するユーザーの選択" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "他のユーザーに対する新しい指紋を登録するには特権が必要になります。" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "装置が使用前に要求されませんでした" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "装置がすでに他のユーザーにより使用されています" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "指紋読取装置に指を置いてください" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "%s に指を置いてください" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "指紋読取装置に指をなぞってください" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "%s に指をなぞってください" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "指紋読取装置に左の親指を置いてください" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "%s に左の親指を置いてください" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "指紋読取装置に左の親指をなぞってください" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "%s に左の親指をなぞってください" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "指紋読取装置に左の人指し指を置いてください" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "%s に左の人指し指を置いてください" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "指紋読取装置に左の人指し指をなぞってください" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "%s に左の人指し指をなぞってください" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "指紋読取装置に左の中指を置いてください" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "%s に左の中指を置いてください" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "指紋読取装置に左の人指し指をなぞってください" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "%s に左の中指をなぞってください" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "指紋読取装置に左の薬指を置いてください" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "%s に左の薬指を置いてください" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "指紋読取装置に左の薬指をなぞってください" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "%s に左の薬指をなぞってください" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "指紋読取装置に左の小指を置いてください" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "%s に左の小指を置いてください" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "指紋読取装置に左の小指をなぞってください" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "%s に左の小指をなぞってください" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "指紋読取装置に右の親指を置いてください" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "%s に右の親指を置いてください" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "指紋読取装置に右の親指をなぞってください" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "%s に右の親指をなぞってください" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "指紋読取装置に右の人指し指を置いてください" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "%s に右の人差し指を置いてください" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "指紋読取装置に右の人差し指をなぞってください" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "%s に右の人指し指をなぞってください" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "指紋読取装置に右の中指を置いてください" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "%s に右の中指を置いてください" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "指紋読取装置に右の中指をなぞってください" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "%s に右の中指をなぞってください" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "指紋読取装置に右の薬指を置いてください" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "%s に右の薬指を置いてください" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "指紋読取装置に右の薬指をなぞってください" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "%s に右の薬指をなぞってください" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "指紋読取装置に右の薬指を置いてください" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "%s に右の小指を置いてください" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "指紋読取装置に右の薬指をなぞってください" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "%s に右の小指をなぞってください" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "もう一度読み取り装置に指を置いてください" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "もう一度指をなぞってください" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "なぞる幅が短すぎます、もう一度試してください" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "指が真ん中にありませんでした、もう一度指をなぞってみてください" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "指をどかして、もう一度指をなぞってみてください" diff --git a/po/ka.po b/po/ka.po new file mode 100644 index 0000000..f8f5654 --- /dev/null +++ b/po/ka.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Georgian (http://www.transifex.com/freedesktop/fprintd/language/ka/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ka\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/kk.po b/po/kk.po new file mode 100644 index 0000000..f935a2b --- /dev/null +++ b/po/kk.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Kazakh (http://www.transifex.com/freedesktop/fprintd/language/kk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kk\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/kn.po b/po/kn.po new file mode 100644 index 0000000..66d9d82 --- /dev/null +++ b/po/kn.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Kannada (http://www.transifex.com/freedesktop/fprintd/language/kn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: kn\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..69c4b56 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,276 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Seong-ho Cho , 2013 +# Seong-ho Cho , 2011 +# Seong-ho Cho , 2011,2013 +# Shinjo Park , 2015 +# Seong-ho Cho , 2011,2013 +# Shinjo Park , 2015 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:46+0000\n" +"Last-Translator: Shinjo Park \n" +"Language-Team: Korean (http://www.transifex.com/freedesktop/fprintd/language/ko/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ko\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "지문 검증" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "지문을 검증하려면 권한이 필요합니다." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "새 지문 등록" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "새 지문을 등록하려면 권한이 필요합니다." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "등록할 사용자를 선택하십시오" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "다른 사용자의 새 지문을 등록하려면 권한이 필요합니다." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "장치 사용 전 사용 등록되지 않았음" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "다른 사용자가 장치 사용 중" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "지문 인식기에 손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "%s에 손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "지문 인식기에 손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "%s에 손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "왼손 엄지손가락을 지문 인식기에 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "%s에 왼손 엄지손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "왼손 엄지손가락을 지문 인식기에 문지르십시오" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "%s에 왼손 엄지손가락를 문지르십시오" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "지문 인식기에 왼손 집게손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "%s에 왼손 집게손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "지문 인식기에 왼손 집게손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "%s에 왼손 집게손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "지문 인식기에 왼손 가운뎃손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "%s에 왼손 가운뎃손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "지문 인식기에 왼손 가운뎃손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "%s에 왼손 가운뎃손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "지문 인식기에 왼손 약손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "%s에 왼손 약손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "지문 인식기에 왼손 약손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "%s에 왼손 약손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "지문 인식기에 왼손 새끼손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "%s에 왼손 새끼손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "지문 인식기에 왼손 새끼손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "%s에 왼손 새끼손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "지문 인식기에 오른손 엄지손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "%s에 오른손 엄지손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "지문 인식기에 오른손 엄지손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "%s에 오른손 엄지손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "지문 인식기에 오른손 집게손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "%s에 오른손 집게손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "지문 인식기에 오른손 집게손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "%s에 오른손 집게손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "지문 인식기에 오른손 가운뎃손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "%s에 오른손 가운뎃손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "지문 인식기에 오른손 가운뎃손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "%s에 오른손 가운뎃손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "지문 인식기에 오른손 약손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "%s에 오른손 약손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "지문 인식기에 오른손 약손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "%s에 오른손 약손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "지문 인식기에 오른손 새끼손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "%s에 오른손 새끼손가락을 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "지문 인식기에 오른손 새끼손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "%s에 오른손 새끼손가락을 문지르십시오" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "인식기에 손가락을 다시 올려놓으십시오" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "인식기에 손가락을 다시 문지르십시오" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "문지르는 시간이 짧습니다. 다시 시도해 주십시오" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "손가락이 가운데에 있지 않았습니다. 손가락을 인식기에 다시 문질러 보십시오" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "손가락을 뗀 다음 인식기에 다시 문질러 보십시오" diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000..65c5280 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Lithuanian (http://www.transifex.com/freedesktop/fprintd/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 0000000..ad1acf4 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Rūdolfs Mazurs , 2011 +# Rūdolfs Mazurs , 2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 10:32+0000\n" +"Last-Translator: Rūdolfs Mazurs \n" +"Language-Team: Latvian (http://www.transifex.com/freedesktop/fprintd/language/lv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lv\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Pārbaudīt pirkstu nospiedumu" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Ir nepieciešamas privilēģijas, lai pārbaudītu pirkstu nospiedumus." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Reģistrēt jaunus pirkstu nospiedumus" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Ir nepieciešamas privilēģijas, lai reģistrētu jaunus pirkstu nospiedumus." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Izvēlieties lietotāju, kuram reģistrēt" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Ir nepieciešamas privilēģijas, lai reģistrētu citu lietotāju pirkstu nospiedumus." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Ierīce nav norādīta pirms lietošanas" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Ierīci jau lieto cits lietotājs" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Novietojiet pirkstu uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Novietojiet pirkstu uz %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Novelciet pirkstu gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Novelciet pirkstu gar %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Novietojiet kreiso īkšķi uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Novietojiet kreiso īkšķi uz %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Novelciet kreiso īkšķi gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Novelciet kreiso īkšķi gar %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Novietojiet kreiso rādītājpirkstu uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Novietojiet savu kreiso rādītājpirkstu uz %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Novelciet kreiso rādītājpirkstu gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Novelciet kreiso rādītājpirkstu gar %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Novietojiet kreiso vidējo pirkstu uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Novietojiet savu kreiso vidējo pirkstu uz %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Novelciet kreiso vidējo pirkstu gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Novelciet kreiso vidējo pirkstu gar %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Novietojiet kreiso zeltnesi uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Novietojiet savu kreiso zeltnesi uz %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Novelciet kreiso zeltnesi gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Novelciet kreiso zeltnesi gar %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Novietojiet kreiso mazo pirkstiņu uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Novietojiet savu kreiso mazo pirkstiņu uz %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Novelciet kreiso mazo pirkstiņu gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Novelciet kreiso mazo pirkstiņu gar %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Novietojiet labo īkšķi uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Novietojiet labo īkšķi uz %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Novelciet labo rādītājpirkstu gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Novelciet labo īkšķi gar %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Novietojiet labo rādītājpirkstu uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Novietojiet savu labo rādītājpirkstu uz %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Novelciet labo rādītājpirkstu gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Novelciet labo rādītājpirkstu gar %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Novietojiet labo vidējo pirkstu uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Novietojiet savu labo vidējo pirkstu uz %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Novelciet labo vidējo pirkstu gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Novelciet labo vidējo pirkstu gar %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Novietojiet labo zeltnesi uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Novietojiet savu labo zeltnesi uz %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Novelciet labo zeltnesi gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Novelciet labo zeltnesi gar %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Novietojiet labo mazo pirkstiņu uz pirkstu nospiedumu lasītāja" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Novietojiet savu labo mazo pirkstiņu uz %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Novelciet labo mazo pirkstiņu gar pirkstu nospiedumu lasītāju" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Novelciet labo mazo pirkstiņu gar %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Novietojiet savu pirkstu uz lasītāja vēlreiz" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Velciet savu pirkstu atkal" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Vilciens bija pārāk īss, mēģiniet vēlreiz" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Pirksts nebija centrēts, mēģiniet vilkt pirkstu vēlreiz" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Noņemt pirkstu un mēģiniet vilkt pirkstu vēlreiz" diff --git a/po/ml.po b/po/ml.po new file mode 100644 index 0000000..df86ca4 --- /dev/null +++ b/po/ml.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Malayalam (http://www.transifex.com/freedesktop/fprintd/language/ml/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ml\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/mr.po b/po/mr.po new file mode 100644 index 0000000..e614d8a --- /dev/null +++ b/po/mr.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Marathi (http://www.transifex.com/freedesktop/fprintd/language/mr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: mr\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/ms.po b/po/ms.po new file mode 100644 index 0000000..c293b10 --- /dev/null +++ b/po/ms.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Malay (http://www.transifex.com/freedesktop/fprintd/language/ms/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ms\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 0000000..94aa3fe --- /dev/null +++ b/po/nb.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Norwegian Bokmål (http://www.transifex.com/freedesktop/fprintd/language/nb/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nb\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..b463d82 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Richard E. van der Luit , 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 10:52+0000\n" +"Last-Translator: Richard E. van der Luit \n" +"Language-Team: Dutch (http://www.transifex.com/freedesktop/fprintd/language/nl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verifieer een vingerafdruk" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "U hebt rechten nodig om vingerafdrukken te verifiëren" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Meldt nieuwe vingerafdrukken aan" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "U hebt rechten nodig om nieuwe vingerafdrukken aan te melden" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Selecteer een gebruiker om aan te melden" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "U hebt rechten nodig om nieuwe vingerafdrukken van andere gebruikers aan te melden" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Apparaat was niet geclaimd voor gebruik" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Apparaat wordt reeds door een andere gebruiker gebruikt" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Plaats uw vinger op de lezer" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Plaats uw vinger op %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Veeg met uw vinger over de lezer" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Veeg met uw vinger over %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Plaats uw linker duim op de lezer" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Plaats uw linker duim op %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Veeg met uw linker duim over de lezer" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Veeg met uw linker duim over %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Plaats uw linker wijsvinger op de lezer" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Plaats uw linker wijsvinger op %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Veeg met uw linker wijsvinger over de lezer" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Veeg met uw linker wijsvinger over %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Plaats uw linker middelvinger op de lezer" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Plaats uw linker middelvinger op %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Veeg met uw linker middelvinger over de lezer" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Veeg met uw linker middelvinger over %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Plaats uw linker ringvinger op de lezer" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Plaats uw linker ringvinger op %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Veeg met uw linker ringvinger over de lezer" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Veeg met uw linker ringvinger over %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Plaats uw linker pink op de lezer" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Plaats uw linker pink op %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Veeg met uw linker pink over de lezer" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Veeg met uw linker pink over %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Plaats uw rechter duim op de lezer" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Plaats uw rechter duim op %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Veeg met uw rechter duim over de lezer" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Veeg met uw rechter duim over %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Plaats uw rechter wijsvinger op de lezer" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Plaats uw rechter wijsvinger op %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Veeg met uw rechter wijsvinger over de lezer" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Veeg met uw rechter wijsvinger over %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Plaats uw rechter middelvinger op de lezer" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Plaats uw rechter middelvinger op %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Veeg met uw rechter middelvinger over de lezer" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Veeg met uw rechter middelvinger over %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Plaats uw rechter ringvinger op de lezer" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Plaats uw rechter ringvinger op %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Veeg met uw rechter ringvinger over de lezer" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Veeg met uw rechter ringvinger over %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Plaats uw rechter pink op de lezer" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Plaats uw rechter pink op %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Veeg met uw rechter pink over de lezer" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Veeg met uw rechter pink over %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Plaats uw vinger opnieuw op de lezer" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Veeg nogmaals met uw vinger" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "U streek te kort, probeert u het nog eens" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Uw vinger zat niet goed in het midden, probeer nogmaals met uw vinger te vegen" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Haal uw vinger weer weg en probeer nogmaals met die vinger te vegen" diff --git a/po/nn.po b/po/nn.po new file mode 100644 index 0000000..253fab7 --- /dev/null +++ b/po/nn.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Norwegian Nynorsk (http://www.transifex.com/freedesktop/fprintd/language/nn/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: nn\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/oc.po b/po/oc.po new file mode 100644 index 0000000..3de9249 --- /dev/null +++ b/po/oc.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Cédric Valmary , 2016 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-23 20:04+0000\n" +"Last-Translator: Cédric Valmary \n" +"Language-Team: Occitan (post 1500) (http://www.transifex.com/freedesktop/fprintd/language/oc/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: oc\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verificra una emprencha digitala" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "De permissions son necessaris per contrarotlar d'emprenchas digitalas." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Introduire d'emprenchas novèlas" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "De permissions son necessàrias per introduire de novèlas emprenchas digitalas." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Causir un utilizaire per l'introduccion" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "De permissions son necessàrias per introduire de novèlas emprenchas digitalas per d'autres utilizaires." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Lo periferic es pas estat reservat abans utilizacion" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Lo periferic es ja utilizat per un autre utilizaire" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Plaçatz vòstre det sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Plaçatz vòstre det sus %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre det sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Fasètz lisar vòstre det sus %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Plaçatz vòstre poce esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Plaçatz vòstre poce esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Fasètz lisar vòstre poce esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Fasètz lisar vòstre poce esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Plaçatz vòstre indèx esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Plaçatz vòstre indèx esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre indèx esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Fasètz lisar vòstre indèx esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Plaçatz vòstre major esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Plaçatz vòstre major esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre major esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Fasètz lisar vòstre major esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Plaçatz vòstre anular esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Plaçatz vòstre anular esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre anular esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Fasètz lisar vòstre anular esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Plaçatz vòstre auricular esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Plaçatz vòstre auricular esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre auricular esquèrra sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Fasètz lisar vòstre auricular esquèrra sus %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Plaçatz vòstre poce drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Plaçatz vòstre poce drech sus %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Fasètz lisar vòstre poce drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Fasètz lisar vòstre poce drech sus %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Plaçatz vòstre indèx drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Plaçatz vòstre indèx drech sus %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre indèx drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Fasètz lisar vòstre indèx drech sus %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Plaçatz vòstre major drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Plaçatz vòstre major drech sus %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre major drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Fasètz lisar vòstre major drech sus %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Plaçatz vòstre anular drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Plaçatz vòstre anular drech sus %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre anular drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Fasètz lisar vòstre anular drech sus %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Plaçatz vòstre auricular drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Plaçatz vòstre auricular drech sus %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Fasètz lisar vòstre auricular drech sul lector d'emprenchas" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Fasètz lisar vòstre auricular drech sus %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Plaçatz tornamai vòstre det sul lector" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Lisatz tornamai vòstre det" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Lo lisament èra tròp brèu, ensajatz un còp de mai" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Vòstre det èra pas centrat, ensajatz de lo lisar un còp de mai" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Levatz vòstre det del lector e ensajatz de lo lisar un còp de mai" diff --git a/po/or.po b/po/or.po new file mode 100644 index 0000000..3f217f3 --- /dev/null +++ b/po/or.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Oriya (http://www.transifex.com/freedesktop/fprintd/language/or/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: or\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/pa.po b/po/pa.po new file mode 100644 index 0000000..a2df588 --- /dev/null +++ b/po/pa.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# A S Alam , 2012-2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:46+0000\n" +"Last-Translator: A S Alam \n" +"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/freedesktop/fprintd/language/pa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pa\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "ਉਂਗਲ-ਨਿਸ਼ਾਨ ਦੀ ਜਾਂਚ" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "ਉਂਗਲ-ਨਿਸ਼ਾਨ ਜਾਂਚ ਕਰਨ ਲਈ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ।" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "ਨਵੇਂ ਉਂਗਲ-ਨਿਸ਼ਾਨ ਲਵੋ" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "ਨਵੇਂ ਉਂਗਲ-ਨਿਸ਼ਾਨ ਲੈਣ ਲਈ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ।" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "ਚਾਲੂ ਕਰਨ ਲਈ ਯੂਜ਼ਰ ਚੁਣੋ" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "ਹੋਰ ਯੂਜ਼ਰ ਲਈ ਨਵੇਂ ਉਂਗਲ-ਨਿਸ਼ਾਨ ਲੈਣ ਲਈ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ।" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "ਜੰਤਰ ਪਹਿਲਾਂ ਕਦੇ ਵਰਤਿਆ ਨਹੀਂ ਗਿਆ ਸੀ" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "ਜੰਤਰ ਕਿਸੇ ਹੋਰ ਯੂਜ਼ਰ ਵਲੋਂ ਪਹਿਲਾਂ ਹੀ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "ਆਪਣੀ ਉਂਗਲ ਫਿੰਗਰਪਰਿੰਟ ਰੀਡਰ ਉੱਤੇ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "ਆਪਣੀ ਉਂਗਲ %s ਉੱਤੇ ਰੱਖੋ ਜੀ" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "ਆਪਣੀ ਉਂਗਲ ਫਿੰਗਰਪਰਿੰਟ ਰੀਡਰ ਉੱਤੇ ਘਸਾਉ" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "ਆਪਣੀ ਉਂਗਲ %s ਉੱਤੇ ਪੂਰੀ ਘਸਾਉ" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "ਫਿੰਗਰਪਰਿੰਟ ਰੀਡਰ ਉੱਤੇ ਆਪਣਾ ਖੱਬਾ ਅੰਗੂਠਾ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "%s ਉੱਤੇ ਆਪਣਾ ਖੱਬਾ ਅੰਗੂਠਾ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "%s ਉੱਤੇ ਆਪਣੀ ਖੱਬੀ ਇੰਡੈਸਕ ਉਂਗਲ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "%s ਉੱਤੇ ਆਪਣੀ ਖੱਬੀ ਵਿਚਕਾਰਲੀ ਉਂਗਲ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "%s ਉੱਤੇ ਆਪਣੀ ਮੁੰਦਰੀ ਵਾਲੀ ਉਂਗਲ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "%s ਉੱਤੇ ਆਪਣੀ ਖੱਬੀ ਚੀਚੀ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "%s ਉੱਤੇ ਆਪਣਾ ਸੱਜਾ ਅੰਗੂਠਾ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "%s ਉੱਤੇ ਆਪਣੀ ਸੱਜੀ ਇੰਡੈਕਸ ਉਂਗਲ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "%s ਉੱਤੇ ਆਪਣੀ ਸੱਜੀ ਵਿਚਕਾਰਲੀ ਉਂਗਲ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "%s ਉੱਤੇ ਆਪਣੀ ਸੱਜੀ ਮੁੰਦਰੀ ਵਾਲੀ ਉਂਗਲ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "%s ਉੱਤੇ ਆਪਣੀ ਸੱਜੀ ਚੀਚੀ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "ਰੀਡਰ ਉੱਤੇ ਆਪਣੀ ਉਂਗਲ ਮੁੜ ਰੱਖੋ" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "ਆਪਣੀ ਉਂਗਲ ਮੁੜ ਘਸਾਉ" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "ਉਂਗਲ ਥੋੜੀ ਘਸਾਈ ਹੈ, ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "ਤੁਹਾਡੀ ਉਂਗਲ ਕੇਂਦਰ ਵਿੱਚ ਨਹੀਂ ਸੀ, ਆਪਣੀ ਉਂਗਲ ਫੇਰ ਘਸਾਉ ਜੀ" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "ਆਪਣੀ ਉਂਗਲ ਘਸਾਉ ਅਤੇ ਫੇਰ ਆਪਣੀ ਉਂਗਲ ਦੁਬਾਰਾ ਘਸਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..40e8450 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Piotr Drąg , 2012,2016 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Polish (http://www.transifex.com/freedesktop/fprintd/language/pl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Weryfikowanie odcisków palców" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Wymagane są uprawnienia, aby zweryfikować odciski palców." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Pobieranie odcisków palców" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Wymagane są uprawnienia, aby pobrać nowe odciski palców." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Wybór użytkownika do pobrania" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Wymagane są uprawnienia, aby pobrać nowe odciski palców dla innych użytkowników." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Urządzenie nie zostało zajęte przed użyciem" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Urządzenie jest już używane przez innego użytkownika" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Proszę umieścić palec na urządzeniu" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Proszę umieścić palec na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Proszę przeciągnąć palec na urządzeniu" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Proszę przeciągnąć palec na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Proszę umieścić lewy kciuk na urządzeniu" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Proszę umieścić lewy kciuk na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Proszę przeciągnąć lewy kciuk na urządzeniu" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Proszę przeciągnąć lewy kciuk na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Proszę umieścić lewy palec wskazujący na urządzeniu" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Proszę umieścić lewy palec wskazujący na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Proszę przeciągnąć lewy palec wskazujący na urządzeniu" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Proszę przeciągnąć lewy palec wskazujący na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Proszę umieścić lewy palec środkowy na urządzeniu" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Proszę umieścić lewy palec środkowy na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Proszę przeciągnąć lewy palec środkowy na urządzeniu" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Proszę przeciągnąć lewy palec środkowy na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Proszę umieścić lewy palec serdeczny na urządzeniu" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Proszę umieścić lewy palec serdeczny na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Proszę przeciągnąć lewy palec serdeczny na urządzeniu" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Proszę przeciągnąć lewy palec serdeczny na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Proszę umieścić lewy mały palec na urządzeniu" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Proszę umieścić lewy mały palec na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Proszę przeciągnąć lewy mały palec na urządzeniu" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Proszę przeciągnąć lewy mały palec na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Proszę umieścić prawy kciuk na urządzeniu" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Proszę umieścić prawy kciuk na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Proszę przeciągnąć prawy kciuk na urządzeniu" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Proszę przeciągnąć prawy kciuk na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Proszę umieścić prawy palec wskazujący na urządzeniu" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Proszę umieścić prawy palec wskazujący na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Proszę przeciągnąć prawy palec wskazujący na urządzeniu" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Proszę przeciągnąć prawy palec wskazujący na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Proszę umieścić prawy palec środkowy na urządzeniu" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Proszę umieścić prawy palec środkowy na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Proszę przeciągnąć prawy palec środkowy na urządzeniu" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Proszę przeciągnąć prawy palec środkowy na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Proszę umieścić prawy palec serdeczny na urządzeniu" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Proszę umieścić prawy palec serdeczny na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Proszę przeciągnąć prawy palec serdeczny na urządzeniu" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Proszę przeciągnąć prawy palec serdeczny na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Proszę umieścić prawy mały palec na urządzeniu" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Proszę umieścić prawy mały palec na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Proszę przeciągnąć prawy mały palec na urządzeniu" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Proszę przeciągnąć prawy mały palec na urządzeniu %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Proszę ponownie umieścić palec na urządzeniu" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Proszę ponownie przeciągnąć palec" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Przeciągnięcie było zbyt krótkie, proszę spróbować ponownie" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Palec nie został wyśrodkowany, proszę ponownie przeciągnąć palec" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Proszę odsunąć palec i spróbować ponownie przeciągnąć palec na urządzeniu" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..fa3a8f4 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Pedro Albuquerque , 2015 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 21:51+0000\n" +"Last-Translator: Pedro Albuquerque \n" +"Language-Team: Portuguese (http://www.transifex.com/freedesktop/fprintd/language/pt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verificar uma impressão digital" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "São necessários privilégios para verificar impressões digitais." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Inscrever novas impressões digitais" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "São necessários privilégios para inscrever novas impressões digitais." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Selecione um utilizador para inscrever" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "São necessários privilégios para inscrever novas impressões digitais para outros utilizadores." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "O dispositivo não foi reclamado antes de usar" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "O dispositivo já está em uso por outro utilizador" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Ponha o dedo no leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Ponha o dedo em %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Deslize o dedo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Deslize o dedo sobre %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Ponha o polegar esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Ponha o polegar esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Deslize o polegar esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Deslize o polegar esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Ponha o indicador esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Ponha o indicador esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Deslize o indicador esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Deslize o indicador esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Ponha o médio esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Ponha o médio esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Deslize o médio esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Deslize o médio esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Ponha o anelar esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Ponha o anelar esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Deslize o anelar esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Deslize o anelar esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Ponha o mindinho esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Ponha o mindinho esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Deslize o mindinho esquerdo sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Deslize o mindinho esquerdo sobre %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Ponha o polegar direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Ponha o polegar direito sobre %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Deslize o polegar direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Deslize o polegar direito sobre %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Ponha o indicador direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Ponha o indicador direito sobre %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Deslize o indicador direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Deslize o indicador direito sobre %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Ponha o médio direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Ponha o médio direito sobre %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Deslize o médio direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Deslize o médio direito sobre %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Ponha o anelar direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Ponha o anelar direito sobre %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Deslize o anelar direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Deslize o anelar direito sobre %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Ponha o mindinho direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Ponha o mindinho direito sobre %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Deslize o mindinho direito sobre o leitor de impressões digitais" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Deslize o mindinho direito sobre %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Deslize o dedo sobre o leitor novamente" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Deslize o dedo novamente" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Deslizou pouco, tente novamente" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "O dedo não estava centrado, tente deslizar o dedo novamente" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Retire o dedo e tente deslizar novamente" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..69285ed --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Rafael Fontenelle , 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 11:53+0000\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/freedesktop/fprintd/language/pt_BR/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verificar uma impressão digital" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Privilégios são necessários para verificar impressões digitais." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Inscrever novas impressões digitais" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Privilégios são necessários para inscrever novas impressões digitais." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Selecione um usuário para inscrever" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Privilégios são necessários para inscrever novas impressões digitais para outros usuários." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Dispositivo não foi requerido antes de usar" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Dispositivo já em uso por outro usuário" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Coloque seu dedo no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Coloque seu dedo no %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Passe seu dedo pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Passe seu dedo pelo %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Coloque seu dedo polegar esquerdo no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Coloque seu dedo polegar esquerdo no %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Passe seu dedo polegar esquerdo pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Passe seu dedo polegar esquerdo pelo %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Coloque seu dedo indicador esquerdo no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Coloque seu dedo indicador esquerdo no %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Passe seu dedo indicador esquerdo pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Passe seu dedo indicador esquerdo pelo %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Coloque seu dedo médio esquerdo no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Coloque seu dedo médio esquerdo no %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Passe seu dedo médio esquerdo pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Passe seu dedo médio esquerdo pelo %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Coloque seu dedo anular esquerdo no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Coloque seu dedo anular esquerdo no %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Passe seu dedo anular esquerdo pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Passe seu dedo anular esquerdo pelo %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Coloque seu dedo mindinho esquerdo no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Coloque seu dedo mindinho esquerdo no %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Passe seu dedo midinho esquerdo pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Passe seu dedo midinho esquerdo pelo %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Coloque seu dedo polegar direito no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Pressione seu dedo polegar direito no %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Passe seu dedo polegar direito pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Passe seu dedo polegar direito pelo %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Coloque seu dedo indicador direito no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Coloque seu dedo indicador direito no %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Passe seu dedo indicador direito pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Passe seu dedo indicador direito pelo %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Coloque seu dedo médio direito no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Coloque seu dedo médio direito no %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Passe seu dedo médio direito pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Passe seu dedo médio direito pelo %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Coloque seu dedo anular direito no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Coloque seu dedo anular direito no %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Passe seu dedo anular direito pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Passe seu dedo anular direito pelo %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Coloque seu dedo midinho direito no leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Coloque seu dedo mindinho dirieto no %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Passe seu dedo mindinho direito pelo leitor de impressão digital" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Passe seu dedo mindinho direito pelo %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Coloque seu dedo no leitor novamente" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Passe seu dedo novamente" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Passou por tempo muito curto, tente novamente" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Seu dedo não estava no centro, tente pressioná-lo novamente" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Remova seu dedo e tente pressioná-lo novamente." diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..611be92 --- /dev/null +++ b/po/ro.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Romanian (http://www.transifex.com/freedesktop/fprintd/language/ro/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ro\n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verifică o amprentă" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Sunt necesare privilegii pentru a verifica amprentele." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Înscrie amprente noi" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Sunt necesare privilegii pentru a înscrie amprente noi." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Alegeți un utilizator de înscris" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Sunt necesare privilegii pentru a înscrie amprente noi pentru alți utilizatori." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Dispozitivul nu a fost solicitat înainte de utilizare" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Dispozitivul este deja utilizat de un alt utilizator" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Plasați degetul mare de la mâna stângă pe %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Plasați degetul arătător de la mâna stângă pe %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Plasați degetul mijlociu de la mâna stângă pe %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Plasați degetul inelar de la mâna stângă pe %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Plasați degetul mic de la mâna stângă pe %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Plasați degetul mare de la mâna dreaptă pe %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Plasați degetul arătător de la mâna dreaptă pe %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Plasați degetul mijlociu de la mâna dreaptă pe %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Plasați degetul inelar de la mâna dreaptă pe %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Plasați degetul mic de la mâna dreaptă pe %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Plasați din nou degetul pe cititor" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Treceți degetul din nou" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Trecerea degetului a fost prea scurtă, mai încercați o dată" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Degetul nu a fost centrat, încercați să-l mai treceți o dată" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Luați degetul și mai încercați să-l treceți o dată" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..adc1a19 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Yuri Kozlov , 2011, 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:46+0000\n" +"Last-Translator: Yuri Kozlov \n" +"Language-Team: Russian (http://www.transifex.com/freedesktop/fprintd/language/ru/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ru\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Проверка отпечатков пальцев" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Для проверки отпечатков пальцев требуются права доступа." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Ввод новых отпечатков пальцев" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Для ввода отпечатков пальцев требуются права доступа." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Выбор пользователя для ввода отпечатков пальцев" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Для ввода отпечатков пальцев других пользователей требуются права доступа." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Устройство не затребовано перед использованием" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Устройство уже используется другим пользователем" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Положите пальцы на считывающее устройство" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Положите палец на %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Проведите пальцем по считывающему устройству" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Проведите пальцем по %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Положите большой палец левой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Положите большой палец левой руки на %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Проведите большим пальцем левой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Проведите большим пальцем левой руки по %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Положите указательный палец левой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Положите указательный палец левой руки на %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Проведите указанным пальцем левой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Проведите указательным пальцем левой руки по %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Положите средний палец левой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Положите средний палец левой руки на %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Проведите средним пальцем левой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Проведите средним пальцем левой руки по %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Положите безымянный палец левой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Положите безымянный палец левой руки на %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Проведите безымянным пальцем левой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Проведите безымянным пальцем левой руки по %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Положите мизинец левой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Положите мизинец левой руки на %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Проведите мизинцем левой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Проведите мизинцем левой руки по %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Положите большой палец правой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Положите большой палец правой руки на %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Проведите большим пальцем правой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Проведите большим пальцем правой руки по %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Положите указательный палец правой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Положите указательный палец правой руки на %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Проведите указанным пальцем правой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Проведите указательным пальцем правой руки по %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Положите средний палец правой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Положите средний палец правой руки на %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Проведите средним пальцем правой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Проведите средним пальцем правой руки по %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Положите безымянный палец правой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Положите безымянный палец правой руки на %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Проведите безымянным пальцем правой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Проведите безымянным пальцем правой руки по %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Положите мизинец правой руки на считывающее устройство" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Положите мизинец правой руки на %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Проведите мизинцем правой руки по считывающему устройству" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Проведите мизинцем правой руки по %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Положите палец на считывающее устройство ещё раз" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Проведите пальцем ещё раз" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Вы провели пальцем слишком маленький отрезок, попробуйте ещё раз" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Ваш палец находился не по центру, попробуйте провести ещё раз" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Уберите палец и попробуйте провести ещё раз" diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..6a8ad4f --- /dev/null +++ b/po/sk.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# pavolzetor , 2012 +# Pavol Šimo , 2011 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:37+0000\n" +"Last-Translator: pavolzetor \n" +"Language-Team: Slovak (http://www.transifex.com/freedesktop/fprintd/language/sk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Overiť odtlačok prsta" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Na overenie odtlačkov prstov sú potrebné oprávnenia." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Zaregistrovať nové odtlačky prstov" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Na registrovanie nových odtlačkov prstov sú potrebné oprávnenia." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Zvoliť používateľa na registráciu" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Na registrovanie nových odtlačkov prstov pre iných používateľov sú potrebné oprávnenia." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Zariadenie nebolo pred použitím vyžiadané" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Zariadenia je už používané iným používateľom" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Položte prst na čítačku" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Položte prst na %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Prejdite prstom po čítačke" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Prejdite vaším prstom po %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Položte palec ľavej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Položte palec ľavej ruky na %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Prejdite palcom ľavej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Prejdite palcom ľavej ruky po %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Položte ukazovák ľavej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Položte ukazovák ľavej ruky na %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Prejdite ukazovákom ľavej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Prejdite ukazovákom ľavej ruky po %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Položte prostredník ľavej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Položte prostredník ľavej ruky na %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Prejdite prostredníkom ľavej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Prejdite prostredníkom ľavej ruky po %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Položte prstenník ľavej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Položte prstenník ľavej ruky na %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Prejdite prsteníkom ľavej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Prejdite prsteníkom ľavej ruky po %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Položte malíček ľavej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Položte malíček ľavej ruky na %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Prejdite malíčkom ľavej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Prejdite malíčkom ľavej ruky po %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Položte malíček pravej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Položte palec pravej ruky na %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Prejdite malíčkom pravej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Prejdite palcom pravej ruky po %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Položte ukazovák pravej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Položte ukazovák pravej ruky na %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Prejdite ukazovákom pravej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Prejdite ukazovákom pravej ruky po %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Položte prostredník pravej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Položte prostredník pravej ruky na %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Prejdite prostredníkom pravej ruky po %s" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Prejdite prostredníkom pravej ruky po %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Položte prstenník pravej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Položte prstenník pravej ruky na %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Prejdite prstenníkom pravej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Prejdite prstenníkom pravej ruky po %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Položte malíček pravej ruky na čítačku" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Položte malíček pravej ruky na %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Prejdite malíčkom pravej ruky po čítačke" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Prejdite malíčkom pravej ruky po %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Položte prst na čítačku znova" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Prejdite prstom znova" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Prechod bol príliš krátky, skúste to znova" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Prst nebol položený na stred, skúste prstom prejsť znova" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Zodvihnite svoj prst a skúste ním prejsť znova" diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 0000000..ec90f1c --- /dev/null +++ b/po/sl.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Matej Urbančič <>, 2012 +# Martin Srebotnjak , 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Matej Urbančič <>\n" +"Language-Team: Slovenian (http://www.transifex.com/freedesktop/fprintd/language/sl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sl\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Overjanje prstnega odtisa" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Za overjanje prstnih odtisov so zahtevana skrbniška dovoljenja." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Vpis novih prstnih odtisov" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Za vpis novih prstnih odtisov so zahtevana skrbniška dovoljenja." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Izbor uporabnika za vpis prstnega odtisa" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Za vpis prstnih odtisov drugih uporabnikov so zahtevana skrbniška dovoljenja." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Naprava je prevzeta pred uporabo" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Napravo uporablja drug uporabnik" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Položite prst na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Položite prst na %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "S prstom podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "S prstom podrsnite po %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Položite levi palec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Položite levi palec na %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Z levim palcem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Z levim palcem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Položite levi kazalec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Položite levi kazalec na %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Z levim kazalcem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Z levim kazalcem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Položite levi sredinec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Položite levi sredinec na %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Z levim sredincem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Z levim sredincem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Položite levi prstanec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Položite levi prstanec na %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Z levim prstancem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Z levim prstancem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Položite levi mezinec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Položite levi mezinec na %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Z levim mezincem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Z levim mezincem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Položite desni palec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Položite desni palec na %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Z desnim palcem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Z desnim palcem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Položite desni kazalec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Položite desni kazalec na %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Z desnim kazalcem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Z desnim kazalcem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Položite desni sredinec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Položite desni sredinec na %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Z desnim sredincem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Z desnim sredincem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Položite desni prstanec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Položite desni prstanec na %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Z desnim prstancem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Z desnim prstancem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Položite desni mezinec na bralnik prstnih odtisov" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Položite desni mezinec na %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Z desnim mezincem podrsnite po bralniku prstnih odtisov" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Z desnim mezincem podrsnite po %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Ponovno položite prst na bralnik" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Znova povlecite prst preko bralnika." + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Prst ste povlekli prehitro. Poskusite znova." + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Prsta niste postavili na sredino, poskusite znova povleči prst preko bralnika." + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Dvignite prst in poskusite znova povleči prst preko bralnika." diff --git a/po/sq.po b/po/sq.po new file mode 100644 index 0000000..15533cf --- /dev/null +++ b/po/sq.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Albanian (http://www.transifex.com/freedesktop/fprintd/language/sq/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sq\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..733cc15 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Мирослав Николић , 2012,2014 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Мирослав Николић \n" +"Language-Team: Serbian (http://www.transifex.com/freedesktop/fprintd/language/sr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr\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" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Провери отисак прста" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Потребна су овлашћења за проверу отисака прстију." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Направи нове отиске прстију" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Потребна су овлашћења за стварање нових отисака прстију." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Изабери корисника за давање отисака" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Потребна су овлашћења за учитавање отисака прстију за друге кориснике." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Уређај није позван пре коришћења" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Неки други корисник користи овај уређај" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Поставите прст на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Поставите прста на %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Превуците прст преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Превуците прст преко %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Ставите палац леве руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Ставите палац леве руке на %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Превуците палац леве руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Превуците палац леве руке преко %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Ставите кажипрст леве руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Ставите кажипрст леве руке на %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Превуците кажипрст леве руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Превуците кажипрст леве руке преко %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Ставите средњи прст леве руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Ставите средњи прст леве руке на %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Превуците средњи прст леве руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Превуците средњи прст леве руке преко %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Ставите домали прст леве руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Ставите домали прст леве руке на %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Превуците домали прст леве руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Превуците домали прст леве руке преко %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Ставите мали прст леве руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Ставите мали прст леве руке на %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Превуците мали прст леве руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Превуците мали прст леве руке преко %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Ставите палац десне руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Ставите палац десне руке на %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Превуците палац десне руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Превуците палац десне руке преко %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Ставите кажипрст десне руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Ставите кажипрст десне руке на %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Превуците кажипрст десне руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Превуците кажипрст десне руке преко %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Ставите средњи прст десне руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Ставите средњи прст десне руке на %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Превуците средњи прст десне руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Превуците средњи прст десне руке преко %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Ставите домали прст десне руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Ставите домали прст десне руке на %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Превуците домали прст десне руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Превуците домали прст десне руке преко %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Ставите мали прст десне руке на читач отисака прстију" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Ставите мали прст десне руке на %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Превуците мали прст десне руке преко читача отисака прстију" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Превуците мали прст десне руке преко %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Поново ставите прст на читач" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Поново превуците прст преко читача" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Сувише сте брзо превукли прст, покушајте поново" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Прст није био на средини читача, покушајте поново да превучете прст" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Склоните прст и покушајте поново да га превучете" diff --git a/po/sr@latin.po b/po/sr@latin.po new file mode 100644 index 0000000..78f7d00 --- /dev/null +++ b/po/sr@latin.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Serbian (Latin) (http://www.transifex.com/freedesktop/fprintd/language/sr%40latin/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sr@latin\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" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..a13e469 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Anders Jonsson \n" +"Language-Team: Swedish (http://www.transifex.com/freedesktop/fprintd/language/sv/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: sv\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Verifiera fingeravtryck" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Privilegier krävs för att verifiera fingeravtryck." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Registrera nya fingeravtryck" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Privilegier krävs för att registrera nya fingeravtryck." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Välj användare att registrera" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Privilegier krävs för att registrera nya fingeravtryck för andra användare." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Enheten har inte tagits över innan användning" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Enheten används redan av en annan användare" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Placera ditt finger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Placera ditt finger på %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Dra ditt finger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Dra ditt finger längs %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Placera din vänstra tumme på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Placera din vänstra tumme på %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Dra din vänstra tumme längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Dra din vänstra tumme längs %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Placera ditt vänstra pekfinger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Placera ditt vänstra pekfinger på %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Dra ditt vänstra pekfinger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Dra ditt vänstra pekfinger längs %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Placera ditt vänstra långfinger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Placera ditt vänstra långfinger på %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Dra ditt vänstra långfinger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Dra ditt vänstra långfinger längs %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Placera ditt vänstra ringfinger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Placera ditt vänstra ringfinger på %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Dra ditt vänstra ringfinger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Dra ditt vänstra ringfinger längs %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Placera ditt vänstra lillfinger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Placera ditt vänstra lillfinger på %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Dra ditt vänstra lillfinger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Dra ditt vänstra lillfinger längs %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Placera din högra tumme på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Placera din högra tumme på %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Dra din högra tumme längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Dra din högra tumme längs %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Placera ditt högra pekfinger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Placera ditt högra pekfinger på %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Dra ditt högra pekfinger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Dra ditt högra pekfinger längs %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Placera ditt högra långfinger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Placera ditt högra långfinger på %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Dra ditt högra långfinger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Dra ditt högra långfinger längs %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Placera ditt högra ringfinger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Placera ditt högra ringfinger på %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Dra ditt högra ringfinger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Dra ditt högra ringfinger längs %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Placera ditt högra lillfinger på fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Placera ditt högra lillfinger på %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Dra ditt högra lillfinger längs fingeravtrycksläsaren" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Dra ditt högra lillfinger längs %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Placera ditt finger på läsaren igen" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Dra ditt finger igen" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Dragningen var för kort, försök igen" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Ditt finger var inte centrerat. Prova att dra ditt finger igen" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Ta bort ditt finger och prova att dra ditt finger igen" diff --git a/po/ta.po b/po/ta.po new file mode 100644 index 0000000..3baded0 --- /dev/null +++ b/po/ta.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Tamil (http://www.transifex.com/freedesktop/fprintd/language/ta/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: ta\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/te.po b/po/te.po new file mode 100644 index 0000000..c9dd009 --- /dev/null +++ b/po/te.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Telugu (http://www.transifex.com/freedesktop/fprintd/language/te/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: te\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/th.po b/po/th.po new file mode 100644 index 0000000..b9d5a4b --- /dev/null +++ b/po/th.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Thai (http://www.transifex.com/freedesktop/fprintd/language/th/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: th\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000..0b6b9ce --- /dev/null +++ b/po/tr.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Caner Başaran , 2014 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:46+0000\n" +"Last-Translator: Necdet Yücel \n" +"Language-Team: Turkish (http://www.transifex.com/freedesktop/fprintd/language/tr/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: tr\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Bir parmak izini doğrula" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Parmak izini doğrulamak için ayrıcalıklar gerekiyor." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Yeni parmak izlerini kaydet" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Yeni parmak izlerini kaydetmek için ayrıcalıklar gerekiyor." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Kaydetmesi için bir kullanıcı seçin" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Diğer kullanıcıların yeni parmak izleri kaydetmeleri için ayrıcalıklar gerekiyor." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Aygıt kullanılmadan önce talep edilmedi" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Aygıt halen başka bir kullanıcı tarafından kullanılıyor" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Parmağınızı %s üzerine koyun" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Sol başparmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Sol başparmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Sol başparmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Sol başparmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Sol işaret parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Sol işaret parmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Sol işaret parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Sol işaret parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Sol orta parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Sol orta parmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Sol orta parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Sol orta parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Sol yüzük parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Sol yüzük parmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Sol yüzük parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Sol yüzük parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Sol küçük parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Sol küçük parmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Sol küçük parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Sol küçük parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Sağ başparmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Sağ başparmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Sağ başparmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Sağ başparmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Sağ işaret parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Sağ işaret parmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Sağ işaret parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Sağ işaret parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Sağ orta parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Sağ orta parmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Sağ orta parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Sağ orta parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Sağ yüzük parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Sağ yüzük parmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Sağ yüzük parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Sağ yüzük parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Sağ küçük parmağınızı parmak izi okuyucuya yerleştirin" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Sağ küçük parmağınızı %s üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Sağ küçük parmağınızı parmak izi okuyucu üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Sağ küçük parmağınızı %s üzerinde kaydırın" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Parmağınızı tekrar okuyucu üzerine yerleştirin" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Parmağınızı tekrar kaydırın" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Çok kısa kaydırdınız, tekrar deneyin" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Parmağınız ortalanmadı, parmağınızı tekrar kaydırmayı deneyin" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Parmağınızı kaldırın ve tekrar kaydırmayı deneyin" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..f61dce9 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Richard Hughes , 2011 +# Yuri Chornoivan , 2009, 2010, 2011, 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian (http://www.transifex.com/freedesktop/fprintd/language/uk/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: uk\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "Перевірити відбиток" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "Для перевірки відбитків пальців потрібні відповідні права доступу." + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "Реєстрація нових відбитків пальців" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "Для реєстрації нових відбитків потрібні відповідні права доступу." + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "Виберіть користувача для реєстрації" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "Для реєстрації нових відбитків для інших користувачів потрібні відповідні права доступу." + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "Перед використанням пристрій не було зарезервовано" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "Пристрій вже використовується іншим користувачем" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "Прикладіть ваш палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "Прикладіть ваш палець на %s" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "Проведіть вашим пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "Проведіть вашим пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "Прикладіть ваш лівий великий палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "Прикладіть лівий великий палець до %s" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "Проведіть вашим лівим великим пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "Проведіть вашим лівим великим пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "Прикладіть ваш лівий вказівний палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "Прикладіть лівий вказівний палець до %s" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "Проведіть вашим лівим вказівним пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "Проведіть вашим лівим вказівним пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "Прикладіть ваш лівий середній палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "Прикладіть лівий середній палець до %s" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "Проведіть вашим лівим середнім пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "Проведіть вашим лівим середнім пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "Прикладіть ваш лівий безіменний палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "Прикладіть лівий безіменний палець до %s" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "Проведіть вашим лівим безіменним пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "Проведіть вашим лівим безіменним пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "Прикладіть ваш лівий мізинець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "Прикладіть лівий мізинець до %s" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "Проведіть вашим лівим мізинцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "Проведіть вашим лівим мізинцем вздовж %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "Прикладіть ваш правий великий палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "Прикладіть правий великий палець до %s" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "Проведіть вашим правим великим пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "Проведіть вашим правим великим пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "Прикладіть ваш правий вказівний палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "Прикладіть правий вказівний палець до %s" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "Проведіть вашим правим вказівним пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "Проведіть вашим правим вказівним пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "Прикладіть ваш правий середній палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "Прикладіть правий середній палець до %s" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "Проведіть вашим правим середнім пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "Проведіть вашим правим середнім пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "Прикладіть ваш правий безіменний палець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "Прикладіть правий безіменний палець до %s" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "Проведіть вашим правим безіменним пальцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "Проведіть вашим правим безіменним пальцем вздовж %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "Прикладіть ваш правий мізинець до пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "Прикладіть правий мізинець до %s" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "Проведіть вашим правим мізинцем вздовж пристрою для зчитування" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "Проведіть вашим правим мізинцем вздовж %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "Прикладіть ваш палець до пристрою зчитування ще раз" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "Натисніть вашим пальцем ще раз" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "Натискання було занадто коротким, повторіть спробу" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "Ваш палець було розташовано не у центрі, спробуйте натиснути пальцем ще раз" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "Приберіть ваш палець і повторіть спробу натискання" diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 0000000..d9de462 --- /dev/null +++ b/po/vi.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Vietnamese (http://www.transifex.com/freedesktop/fprintd/language/vi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/wa.po b/po/wa.po new file mode 100644 index 0000000..b4a31cd --- /dev/null +++ b/po/wa.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-08-03 17:23+0000\n" +"Last-Translator: hadess \n" +"Language-Team: Walloon (http://www.transifex.com/freedesktop/fprintd/language/wa/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: wa\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..c7308ae --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,273 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Frank Hill , 2014 +# Wylmer Wang, 2011 +# Wylmer Wang, 2013 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:46+0000\n" +"Last-Translator: Mingye Wang \n" +"Language-Team: Chinese (China) (http://www.transifex.com/freedesktop/fprintd/language/zh_CN/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "验证指纹" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "验证指纹需要更高的权限。" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "登记新的指纹" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "需要更高的权限来登记新指纹。" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "选择要登记的用户" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "需要更高的权限来为其他用户登记指纹。" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "设备使用前没有声明" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "设备正由另一用户使用" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "请把您的手指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "把您的手指放在 %s 上" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "请把您的手指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "请把您的手指划过 %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "请把您的左手拇指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "请把您的左手大拇指放在 %s 上" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "请把您的左手拇指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "请把您的左手拇指划过 %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "请把您的左手食指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "请把您的左手食指放在 %s 上" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "请把您的左手食指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "请把您的左手食指划过 %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "请把您的左手中指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "请把您的左手中指放在 %s 上" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "请把您的左手中指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "请把您的左手食指划过 %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "请把您的左手无名指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "请把您的左手无名指放在 %s 上" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "请把您的左手无名指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "请把您的左手无名指划过 %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "请把您的左手小指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "请把您的左手小指放在 %s 上" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "请把您的左手小指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "请把您的左手小指划过 %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "请把您的右手拇指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "请把您的右手拇指放在 %s 上" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "请把您的右手拇指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "请把您的右手拇指划过 %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "请把您的右手食指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "请把您的右手食指放在 %s 上" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "请把您的右手食指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "请把您的右手食指划过 %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "请把您的右手中指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "请把您的右手中指放在 %s 上" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "请把您的右手中指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "请把您的右手中指划过 %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "请把您的右手无名指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "请把您的右手无名指放在 %s 上" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "请把您的右手无名指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "请把您的右手无名指划过 %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "请把您的右手小指放在指纹读取器上" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "请把您的右手小指放在 %s 上" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "请把您的右手小指划过指纹读取器" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "请把您的右手小指划过 %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "请再次把您的手指放在阅读器上" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "请再次摁下您的手指" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "摁的时间太短,请再试" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "您的手指没有放正,请再摁一次" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "移开您的手指,并重新试着摁下" diff --git a/po/zh_HK.po b/po/zh_HK.po new file mode 100644 index 0000000..6fc6050 --- /dev/null +++ b/po/zh_HK.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2010-11-30 07:44+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/freedesktop/fprintd/language/zh_HK/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_HK\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "" diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..42f5879 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Cheng-Chia Tseng , 2011, 2012 +msgid "" +msgstr "" +"Project-Id-Version: fprintd\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-06 14:07+0100\n" +"PO-Revision-Date: 2017-09-19 09:08+0000\n" +"Last-Translator: Cheng-Chia Tseng \n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/freedesktop/fprintd/language/zh_TW/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../data/net.reactivated.fprint.device.policy.in.h:1 +msgid "Verify a fingerprint" +msgstr "驗證指紋" + +#: ../data/net.reactivated.fprint.device.policy.in.h:2 +msgid "Privileges are required to verify fingerprints." +msgstr "需要有特權才能驗證指紋。" + +#: ../data/net.reactivated.fprint.device.policy.in.h:3 +msgid "Enroll new fingerprints" +msgstr "登記新指紋" + +#: ../data/net.reactivated.fprint.device.policy.in.h:4 +msgid "Privileges are required to enroll new fingerprints." +msgstr "需要有特權才能登記新指紋。" + +#: ../data/net.reactivated.fprint.device.policy.in.h:5 +msgid "Select a user to enroll" +msgstr "選取使用者以登記" + +#: ../data/net.reactivated.fprint.device.policy.in.h:6 +msgid "Privileges are required to enroll new fingerprints for other users." +msgstr "需要有特權才能為其他使用者登記新指紋。" + +#: ../src/device.c:385 +#, c-format +msgid "Device was not claimed before use" +msgstr "在使用前裝置未提出要求" + +#: ../src/device.c:395 +#, c-format +msgid "Device already in use by another user" +msgstr "裝置正被其他使用者使用" + +#: ../pam/fingerprint-strings.h:31 +msgid "Place your finger on the fingerprint reader" +msgstr "請將您的手指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:32 +#, c-format +msgid "Place your finger on %s" +msgstr "將您的手指放在 %s 上" + +#: ../pam/fingerprint-strings.h:33 +msgid "Swipe your finger across the fingerprint reader" +msgstr "請將您的手指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:34 +#, c-format +msgid "Swipe your finger across %s" +msgstr "請將您的手指抹過 %s" + +#: ../pam/fingerprint-strings.h:36 +msgid "Place your left thumb on the fingerprint reader" +msgstr "請將您的左拇指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:37 +#, c-format +msgid "Place your left thumb on %s" +msgstr "請將您的左拇指放在 %s 上" + +#: ../pam/fingerprint-strings.h:38 +msgid "Swipe your left thumb across the fingerprint reader" +msgstr "請將您的左拇指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:39 +#, c-format +msgid "Swipe your left thumb across %s" +msgstr "請將您的左拇指抹過 %s" + +#: ../pam/fingerprint-strings.h:41 +msgid "Place your left index finger on the fingerprint reader" +msgstr "請將您的左食指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:42 +#, c-format +msgid "Place your left index finger on %s" +msgstr "請將您的左食指放在 %s 上" + +#: ../pam/fingerprint-strings.h:43 +msgid "Swipe your left index finger across the fingerprint reader" +msgstr "請將您的左食指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:44 +#, c-format +msgid "Swipe your left index finger across %s" +msgstr "請將您的左食指抹過 %s" + +#: ../pam/fingerprint-strings.h:46 +msgid "Place your left middle finger on the fingerprint reader" +msgstr "請將您的左中指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:47 +#, c-format +msgid "Place your left middle finger on %s" +msgstr "請將您的左中指放在 %s 上" + +#: ../pam/fingerprint-strings.h:48 +msgid "Swipe your left middle finger across the fingerprint reader" +msgstr "請將您的左中指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:49 +#, c-format +msgid "Swipe your left middle finger across %s" +msgstr "請將您的左中指抹過 %s" + +#: ../pam/fingerprint-strings.h:51 +msgid "Place your left ring finger on the fingerprint reader" +msgstr "請將您的左無名指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:52 +#, c-format +msgid "Place your left ring finger on %s" +msgstr "請將您的左無名指放在 %s 上" + +#: ../pam/fingerprint-strings.h:53 +msgid "Swipe your left ring finger across the fingerprint reader" +msgstr "請將您的左無名指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:54 +#, c-format +msgid "Swipe your left ring finger across %s" +msgstr "請將您的左無名指抹過 %s" + +#: ../pam/fingerprint-strings.h:56 +msgid "Place your left little finger on the fingerprint reader" +msgstr "請將您的左小指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:57 +#, c-format +msgid "Place your left little finger on %s" +msgstr "請將您的左小指放在 %s 上" + +#: ../pam/fingerprint-strings.h:58 +msgid "Swipe your left little finger across the fingerprint reader" +msgstr "請將您的左小指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:59 +#, c-format +msgid "Swipe your left little finger across %s" +msgstr "請將您的左小指抹過 %s" + +#: ../pam/fingerprint-strings.h:61 +msgid "Place your right thumb on the fingerprint reader" +msgstr "請將您的右拇指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:62 +#, c-format +msgid "Place your right thumb on %s" +msgstr "請將您的右拇指放在 %s 上" + +#: ../pam/fingerprint-strings.h:63 +msgid "Swipe your right thumb across the fingerprint reader" +msgstr "請將您的右拇指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:64 +#, c-format +msgid "Swipe your right thumb across %s" +msgstr "請將您的右拇指抹過 %s" + +#: ../pam/fingerprint-strings.h:66 +msgid "Place your right index finger on the fingerprint reader" +msgstr "請將您的右食指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:67 +#, c-format +msgid "Place your right index finger on %s" +msgstr "請將您的右食指放在 %s 上" + +#: ../pam/fingerprint-strings.h:68 +msgid "Swipe your right index finger across the fingerprint reader" +msgstr "請將您的右食指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:69 +#, c-format +msgid "Swipe your right index finger across %s" +msgstr "請將您的右食指抹過 %s" + +#: ../pam/fingerprint-strings.h:71 +msgid "Place your right middle finger on the fingerprint reader" +msgstr "請將您的右中指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:72 +#, c-format +msgid "Place your right middle finger on %s" +msgstr "請將您的右中指放在 %s 上" + +#: ../pam/fingerprint-strings.h:73 +msgid "Swipe your right middle finger across the fingerprint reader" +msgstr "請將您的右中指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:74 +#, c-format +msgid "Swipe your right middle finger across %s" +msgstr "請將您的右中指抹過 %s" + +#: ../pam/fingerprint-strings.h:76 +msgid "Place your right ring finger on the fingerprint reader" +msgstr "請將您的右無名指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:77 +#, c-format +msgid "Place your right ring finger on %s" +msgstr "請將您的右無名指放在 %s 上" + +#: ../pam/fingerprint-strings.h:78 +msgid "Swipe your right ring finger across the fingerprint reader" +msgstr "請將您的右無名指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:79 +#, c-format +msgid "Swipe your right ring finger across %s" +msgstr "請將您的右無名指抹過 %s" + +#: ../pam/fingerprint-strings.h:81 +msgid "Place your right little finger on the fingerprint reader" +msgstr "請將您的右小指放在指紋讀取器上" + +#: ../pam/fingerprint-strings.h:82 +#, c-format +msgid "Place your right little finger on %s" +msgstr "請將您的右小指放在 %s 上" + +#: ../pam/fingerprint-strings.h:83 +msgid "Swipe your right little finger across the fingerprint reader" +msgstr "請將您的右小指抹過指紋讀取器" + +#: ../pam/fingerprint-strings.h:84 +#, c-format +msgid "Swipe your right little finger across %s" +msgstr "請將您的右小指抹過 %s" + +#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157 +msgid "Place your finger on the reader again" +msgstr "請再次將您的手指放在讀取器上" + +#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159 +msgid "Swipe your finger again" +msgstr "再次抹過您的手指" + +#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162 +msgid "Swipe was too short, try again" +msgstr "抹動長度過短,請重試" + +#: ../pam/fingerprint-strings.h:138 ../pam/fingerprint-strings.h:164 +msgid "Your finger was not centered, try swiping your finger again" +msgstr "您的手指並非位於中央,請再次嘗試抹過您的手指" + +#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166 +msgid "Remove your finger, and try swiping your finger again" +msgstr "請移開您的手指,並再次嘗試抹過您的手指" diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..f0cb3dd --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,54 @@ +BUILT_SOURCES = manager-dbus-glue.h device-dbus-glue.h $(MARSHALFILES) $(interfaces_DATA) +noinst_HEADERS = $(BUILT_SOURCES) + +CLEANFILES = $(BUILT_SOURCES) +EXTRA_DIST = manager.xml device.xml fprintd-marshal.list + +libexec_PROGRAMS = fprintd +noinst_LTLIBRARIES = libfprintd.la + +AM_CFLAGS = \ + $(WARN_CFLAGS) \ + $(FPRINT_CFLAGS) \ + $(DAEMON_CFLAGS) \ + -DG_LOG_DOMAIN=\""fprintd"\" \ + -DLOCALEDIR=\""$(datadir)/locale"\" \ + -DPLUGINDIR=\""$(libdir)/fprintd/modules"\" + +libfprintd_la_SOURCES = \ + manager.c device.c \ + $(MARSHALFILES) \ + fprintd.h +libfprintd_la_LIBADD = $(FPRINT_LIBS) $(DAEMON_LIBS) +libfprintd_la_LDFLAGS = -no-undefined + +fprintd_SOURCES = \ + main.c \ + file_storage.c file_storage.h storage.h +fprintd_LDADD = libfprintd.la + +interfaces_DATA = net.reactivated.Fprint.Manager.xml net.reactivated.Fprint.Device.xml +net.reactivated.Fprint.Manager.xml: manager.xml + cat $< > $@ +net.reactivated.Fprint.Device.xml: device.xml + cat $< > $@ +interfacesdir = $(datadir)/dbus-1/interfaces/ + +manager-dbus-glue.h: manager.xml + dbus-binding-tool --prefix=fprint_manager --mode=glib-server $< --output=$@ + +device-dbus-glue.h: device.xml + dbus-binding-tool --prefix=fprint_device --mode=glib-server $< --output=$@ + +MARSHALFILES = fprintd-marshal.c fprintd-marshal.h +GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0` + +fprintd-marshal.h: fprintd-marshal.list + ( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(srcdir)/fprintd-marshal.list --header > fprintd-marshal.h ) +fprintd-marshal.c: fprintd-marshal.h + ( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(srcdir)/fprintd-marshal.list --body --header > fprintd-marshal.c ) + +install-data-hook: + if test -w $(DESTDIR)$(prefix)/; then \ + mkdir -p $(DESTDIR)$(localstatedir)/lib/fprint; \ + fi diff --git a/src/device.c b/src/device.c new file mode 100644 index 0000000..4609f31 --- /dev/null +++ b/src/device.c @@ -0,0 +1,1381 @@ +/* + * /net/reactivated/Fprint/Device/foo object implementation + * Copyright (C) 2008 Daniel Drake + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "fprintd-marshal.h" +#include "fprintd.h" +#include "storage.h" + +static char *fingers[] = { + "unknown", + "left-thumb", + "left-index-finger", + "left-middle-finger", + "left-ring-finger", + "left-little-finger", + "right-thumb", + "right-index-finger", + "right-middle-finger", + "right-ring-finger", + "right-little-finger" +}; + +extern DBusGConnection *fprintd_dbus_conn; + +static void fprint_device_claim(FprintDevice *rdev, + const char *username, + DBusGMethodInvocation *context); +static void fprint_device_release(FprintDevice *rdev, + DBusGMethodInvocation *context); +static void fprint_device_verify_start(FprintDevice *rdev, + const char *finger_name, DBusGMethodInvocation *context); +static void fprint_device_verify_stop(FprintDevice *rdev, + DBusGMethodInvocation *context); +static void fprint_device_enroll_start(FprintDevice *rdev, + const char *finger_name, DBusGMethodInvocation *context); +static void fprint_device_enroll_stop(FprintDevice *rdev, + DBusGMethodInvocation *context); +static void fprint_device_list_enrolled_fingers(FprintDevice *rdev, + const char *username, + DBusGMethodInvocation *context); +static void fprint_device_delete_enrolled_fingers(FprintDevice *rdev, + const char *username, + DBusGMethodInvocation *context); +static void fprint_device_delete_enrolled_fingers2(FprintDevice *rdev, + DBusGMethodInvocation *context); + +#include "device-dbus-glue.h" + +typedef enum { + ACTION_NONE = 0, + ACTION_IDENTIFY, + ACTION_VERIFY, + ACTION_ENROLL +} FprintDeviceAction; + +struct session_data { + /* method invocation for async ClaimDevice() */ + DBusGMethodInvocation *context_claim_device; + + /* method invocation for async ReleaseDevice() */ + DBusGMethodInvocation *context_release_device; +}; + +struct FprintDevicePrivate { + guint32 id; + FpDevice *dev; + struct session_data *session; + + PolkitAuthority *auth; + + /* The current user of the device, if claimed */ + char *sender; + + /* The current user of the device, or if allowed, + * what was passed as a username argument */ + char *username; + + /* type of storage */ + int storage_type; + + /* Hashtable of connected clients */ + GHashTable *clients; + + /* Required to restart the operation on a retry failure. */ + FpPrint *verify_data; + GPtrArray *identify_data; + gint enroll_data; + + /* whether we're running an identify, or a verify */ + FprintDeviceAction current_action; + GCancellable *current_cancellable; + DBusGMethodInvocation *current_cancel_context; + /* Whether the device was disconnected */ + gboolean disconnected; +}; + +typedef struct FprintDevicePrivate FprintDevicePrivate; + +#define DEVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), FPRINT_TYPE_DEVICE, FprintDevicePrivate)) + +enum fprint_device_properties { + FPRINT_DEVICE_CONSTRUCT_DEV = 1, + FPRINT_DEVICE_IN_USE, + FPRINT_DEVICE_NAME, + FPRINT_DEVICE_NUM_ENROLL, + FPRINT_DEVICE_SCAN_TYPE +}; + +enum fprint_device_signals { + SIGNAL_VERIFY_STATUS, + SIGNAL_VERIFY_FINGER_SELECTED, + SIGNAL_ENROLL_STATUS, + NUM_SIGNALS, +}; + +static GObjectClass *parent_class = NULL; +static guint32 last_id = ~0; +static guint signals[NUM_SIGNALS] = { 0, }; + +static void fprint_device_finalize(GObject *object) +{ + FprintDevice *self = (FprintDevice *) object; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(self); + + g_hash_table_destroy (priv->clients); + /* FIXME close and stuff */ +} + +static void fprint_device_set_property(GObject *object, guint property_id, + const GValue *value, GParamSpec *pspec) +{ + FprintDevice *self = (FprintDevice *) object; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(self); + + switch (property_id) { + case FPRINT_DEVICE_CONSTRUCT_DEV: + priv->dev = g_value_dup_object(value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; + } +} + +static void fprint_device_get_property(GObject *object, guint property_id, + GValue *value, GParamSpec *pspec) +{ + FprintDevice *self = (FprintDevice *) object; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(self); + + switch (property_id) { + case FPRINT_DEVICE_CONSTRUCT_DEV: + g_value_set_object(value, priv->dev); + break; + case FPRINT_DEVICE_IN_USE: + g_value_set_boolean(value, g_hash_table_size (priv->clients) != 0); + break; + case FPRINT_DEVICE_NAME: + g_value_set_static_string (value, fp_device_get_name (priv->dev)); + break; + case FPRINT_DEVICE_NUM_ENROLL: + if (priv->dev) + g_value_set_int (value, fp_device_get_nr_enroll_stages (priv->dev)); + else + g_value_set_int (value, -1); + break; + case FPRINT_DEVICE_SCAN_TYPE: { + const char *type; + + if (fp_device_get_scan_type (priv->dev) == FP_SCAN_TYPE_PRESS) + type = "press"; + else + type = "swipe"; + + g_value_set_static_string (value, type); + break; + } + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; + } +} + +static void fprint_device_class_init(FprintDeviceClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS(klass); + GParamSpec *pspec; + + dbus_g_object_type_install_info(FPRINT_TYPE_DEVICE, + &dbus_glib_fprint_device_object_info); + parent_class = g_type_class_peek_parent(klass); + + gobject_class->finalize = fprint_device_finalize; + gobject_class->set_property = fprint_device_set_property; + gobject_class->get_property = fprint_device_get_property; + g_type_class_add_private(klass, sizeof(FprintDevicePrivate)); + + pspec = g_param_spec_object("dev", "Device", + "Set device construction property", + FP_TYPE_DEVICE, + G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_READABLE); + g_object_class_install_property(gobject_class, + FPRINT_DEVICE_CONSTRUCT_DEV, pspec); + + pspec = g_param_spec_boolean("in-use", "In use", + "Whether the device is currently in use", FALSE, + G_PARAM_READABLE); + g_object_class_install_property(gobject_class, + FPRINT_DEVICE_IN_USE, pspec); + + pspec = g_param_spec_string("name", "Name", + "The product name of the device", NULL, + G_PARAM_READABLE); + g_object_class_install_property(gobject_class, + FPRINT_DEVICE_NAME, pspec); + + pspec = g_param_spec_string("scan-type", "Scan Type", + "The scan type of the device", "press", + G_PARAM_READABLE); + g_object_class_install_property(gobject_class, + FPRINT_DEVICE_SCAN_TYPE, pspec); + + pspec = g_param_spec_int("num-enroll-stages", "Number of enrollments stages", + "Number of enrollment stages for the device.", + -1, G_MAXINT, -1, G_PARAM_READABLE); + g_object_class_install_property(gobject_class, + FPRINT_DEVICE_NUM_ENROLL, pspec); + + signals[SIGNAL_VERIFY_STATUS] = g_signal_new("verify-status", + G_TYPE_FROM_CLASS(gobject_class), G_SIGNAL_RUN_LAST, 0, NULL, NULL, + fprintd_marshal_VOID__STRING_BOOLEAN, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_BOOLEAN); + signals[SIGNAL_ENROLL_STATUS] = g_signal_new("enroll-status", + G_TYPE_FROM_CLASS(gobject_class), G_SIGNAL_RUN_LAST, 0, NULL, NULL, + fprintd_marshal_VOID__STRING_BOOLEAN, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_BOOLEAN); + signals[SIGNAL_VERIFY_FINGER_SELECTED] = g_signal_new("verify-finger-selected", + G_TYPE_FROM_CLASS(gobject_class), G_SIGNAL_RUN_LAST, 0, NULL, NULL, + g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +} + +static void fprint_device_init(FprintDevice *device) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(device); + priv->id = ++last_id; + + /* Setup PolicyKit */ + priv->auth = polkit_authority_get_sync (NULL, NULL); + priv->clients = g_hash_table_new_full (g_str_hash, + g_str_equal, + g_free, + NULL); +} + +G_DEFINE_TYPE(FprintDevice, fprint_device, G_TYPE_OBJECT); + +FprintDevice *fprint_device_new(FpDevice *dev) +{ + return g_object_new(FPRINT_TYPE_DEVICE, "dev", dev, NULL); +} + +guint32 _fprint_device_get_id(FprintDevice *rdev) +{ + return DEVICE_GET_PRIVATE(rdev)->id; +} + +static const char * +finger_num_to_name (int finger_num) +{ + if (finger_num == -1) + return "any"; + if (finger_num < FP_FINGER_UNKNOWN || finger_num > FP_FINGER_RIGHT_LITTLE) + return NULL; + return fingers[finger_num]; +} + +static int +finger_name_to_num (const char *finger_name) +{ + guint i; + + if (finger_name == NULL || *finger_name == '\0' || g_str_equal (finger_name, "any")) + return -1; + + for (i = 0; i < G_N_ELEMENTS (fingers); i++) { + if (g_str_equal (finger_name, fingers[i])) + return i; + } + + /* Invalid, let's try that */ + return -1; +} + +static const char * +verify_result_to_name (gboolean match, GError *error) +{ + if (!error) { + if (match) + return "verify-match"; + else + return "verify-no-match"; + } + + if (error->domain == FP_DEVICE_RETRY) { + switch (error->code) { + case FP_DEVICE_RETRY_TOO_SHORT: + return "verify-swipe-too-short"; + case FP_DEVICE_RETRY_CENTER_FINGER: + return "verify-finger-not-centered"; + case FP_DEVICE_RETRY_REMOVE_FINGER: + return "verify-remove-and-retry"; + default: + return "verify-retry-scan"; + } + } else { + /* Which errors should be mapped to disconnection? + * Are drivers/libfprint/fprintd really in agreement here? + */ + if (g_error_matches (error, FP_DEVICE_ERROR, FP_DEVICE_ERROR_PROTO)) + return "verify-disconnect"; + + return "verify-unknown-error"; + } +} + +static const char * +enroll_result_to_name (gboolean completed, gboolean enrolled, GError *error) +{ + if (!error) { + if (!completed) + return "enroll-stage-passed"; + else if (enrolled) + return "enroll-completed"; + else + return "enroll-failed"; + } + + if (error->domain == FP_DEVICE_RETRY) { + switch (error->code) { + case FP_DEVICE_RETRY_TOO_SHORT: + return "enroll-swipe-too-short"; + case FP_DEVICE_RETRY_CENTER_FINGER: + return "enroll-finger-not-centered"; + case FP_DEVICE_RETRY_REMOVE_FINGER: + return "verify-remove-and-retry"; + default: + return "enroll-remove-and-retry"; + } + } else { + /* Which errors should be mapped to disconnection? + * Are drivers/libfprint/fprintd really in agreement here? + */ + if (g_error_matches (error, FP_DEVICE_ERROR, FP_DEVICE_ERROR_PROTO)) + return "enroll-disconnected"; + else if (g_error_matches (error, FP_DEVICE_ERROR, FP_DEVICE_ERROR_DATA_FULL)) + return "enroll-data-full"; + + return "enroll-unknown-error"; + } +} + +static void +set_disconnected (FprintDevicePrivate *priv, const char *res) +{ + if (g_str_equal (res, "enroll-disconnected") || + g_str_equal (res, "verify-disconnected")) + priv->disconnected = TRUE; +} + +static gboolean +_fprint_device_check_claimed (FprintDevice *rdev, + DBusGMethodInvocation *context, + GError **error) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + char *sender; + gboolean retval; + + /* The device wasn't claimed, exit */ + if (priv->sender == NULL) { + g_set_error (error, FPRINT_ERROR, FPRINT_ERROR_CLAIM_DEVICE, + _("Device was not claimed before use")); + return FALSE; + } + + sender = dbus_g_method_get_sender (context); + retval = g_str_equal (sender, priv->sender); + g_free (sender); + + if (retval == FALSE) { + g_set_error (error, FPRINT_ERROR, FPRINT_ERROR_ALREADY_IN_USE, + _("Device already in use by another user")); + } + + return retval; +} + +static gboolean +_fprint_device_check_polkit_for_action (FprintDevice *rdev, DBusGMethodInvocation *context, const char *action, GError **error) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + char *sender; + PolkitSubject *subject; + PolkitAuthorizationResult *result; + GError *_error = NULL; + + /* Check that caller is privileged */ + sender = dbus_g_method_get_sender (context); + subject = polkit_system_bus_name_new (sender); + g_free (sender); + + result = polkit_authority_check_authorization_sync (priv->auth, + subject, + action, + NULL, + POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION, + NULL, &_error); + g_object_unref (subject); + + if (result == NULL) { + g_set_error (error, FPRINT_ERROR, + FPRINT_ERROR_PERMISSION_DENIED, + "Not Authorized: %s", _error->message); + g_error_free (_error); + return FALSE; + } + + if (!polkit_authorization_result_get_is_authorized (result)) { + g_set_error (error, FPRINT_ERROR, + FPRINT_ERROR_PERMISSION_DENIED, + "Not Authorized: %s", action); + g_object_unref (result); + return FALSE; + } + + g_object_unref (result); + + return TRUE; +} + +static gboolean +_fprint_device_check_polkit_for_actions (FprintDevice *rdev, + DBusGMethodInvocation *context, + const char *action1, + const char *action2, + GError **error) +{ + if (_fprint_device_check_polkit_for_action (rdev, context, action1, error) != FALSE) + return TRUE; + + g_error_free (*error); + *error = NULL; + + return _fprint_device_check_polkit_for_action (rdev, context, action2, error); +} + +static char * +_fprint_device_check_for_username (FprintDevice *rdev, + DBusGMethodInvocation *context, + const char *username, + char **ret_sender, + GError **error) +{ + DBusConnection *conn; + DBusError dbus_error; + char *sender; + unsigned long uid; + struct passwd *user; + + /* Get details about the current sender, and username/uid */ + conn = dbus_g_connection_get_connection (fprintd_dbus_conn); + sender = dbus_g_method_get_sender (context); + dbus_error_init (&dbus_error); + uid = dbus_bus_get_unix_user (conn, sender, &dbus_error); + + if (dbus_error_is_set(&dbus_error)) { + g_free (sender); + dbus_set_g_error (error, &dbus_error); + return NULL; + } + + user = getpwuid (uid); + if (user == NULL) { + g_free (sender); + g_set_error(error, FPRINT_ERROR, FPRINT_ERROR_INTERNAL, + "Failed to get information about user UID %lu", uid); + return NULL; + } + + /* The current user is usually allowed to access their + * own data, this should be followed by PolicyKit checks + * anyway */ + if (username == NULL || *username == '\0' || g_str_equal (username, user->pw_name)) { + if (ret_sender != NULL) + *ret_sender = sender; + else + g_free (sender); + return g_strdup (user->pw_name); + } + + /* If we're not allowed to set a different username, + * then fail */ + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.setusername", error) == FALSE) { + g_free (sender); + return NULL; + } + + if (ret_sender != NULL) + *ret_sender = sender; + else + g_free (sender); + + return g_strdup (username); +} + +static void +_fprint_device_client_vanished (GDBusConnection *connection, + const char *name, + FprintDevice *rdev) +{ + g_autoptr(GError) error = NULL; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + + /* Was that the client that claimed the device? */ + if (g_strcmp0 (priv->sender, name) == 0) { + while (priv->current_action != ACTION_NONE) { + g_cancellable_cancel (priv->current_cancellable); + + g_main_context_iteration (NULL, TRUE); + } + + if (!fp_device_close_sync (priv->dev, NULL, &error)) { + g_warning ("Error closing device after disconnect: %s", error->message); + } + + g_slice_free (struct session_data, priv->session); + priv->session = NULL; + g_clear_pointer (&priv->sender, g_free); + g_clear_pointer (&priv->username, g_free); + } + g_hash_table_remove (priv->clients, name); + + if (g_hash_table_size (priv->clients) == 0) { + g_object_notify (G_OBJECT (rdev), "in-use"); + } +} + +static void +_fprint_device_add_client (FprintDevice *rdev, const char *sender) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + guint id; + + id = GPOINTER_TO_UINT (g_hash_table_lookup (priv->clients, sender)); + if (id == 0) { + id = g_bus_watch_name (G_BUS_TYPE_SYSTEM, + sender, + G_BUS_NAME_WATCHER_FLAGS_NONE, + NULL, + (GBusNameVanishedCallback) _fprint_device_client_vanished, + rdev, + NULL); + g_hash_table_insert (priv->clients, g_strdup (sender), GUINT_TO_POINTER(id)); + g_object_notify (G_OBJECT (rdev), "in-use"); + } +} + +static void dev_open_cb(FpDevice *dev, GAsyncResult *res, void *user_data) +{ + g_autoptr(GError) error = NULL; + FprintDevice *rdev = user_data; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + struct session_data *session = priv->session; + + if (!fp_device_open_finish (dev, res, &error)) { + g_autoptr(GError) dbus_error = NULL; + + g_clear_pointer (&priv->sender, g_free); + + dbus_error = g_error_new (FPRINT_ERROR, + FPRINT_ERROR_INTERNAL, + "Open failed with error: %s", error->message); + dbus_g_method_return_error(session->context_claim_device, error); + return; + } + + g_debug("device %d claimed", priv->id); + + dbus_g_method_return(session->context_claim_device); +} + +static void fprint_device_claim(FprintDevice *rdev, + const char *username, + DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + GError *error = NULL; + char *sender, *user; + + /* Is it already claimed? */ + if (priv->sender != NULL) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_ALREADY_IN_USE, + "Device was already claimed"); + dbus_g_method_return_error(context, error); + g_error_free(error); + return; + } + + g_assert (priv->username == NULL); + g_assert (priv->sender == NULL); + + sender = NULL; + user = _fprint_device_check_for_username (rdev, + context, + username, + &sender, + &error); + if (user == NULL) { + g_free (sender); + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + if (_fprint_device_check_polkit_for_actions (rdev, context, + "net.reactivated.fprint.device.verify", + "net.reactivated.fprint.device.enroll", + &error) == FALSE) { + g_free (sender); + g_free (user); + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + _fprint_device_add_client (rdev, sender); + + priv->username = user; + priv->sender = sender; + + g_debug ("user '%s' claiming the device: %d", priv->username, priv->id); + + priv->session = g_slice_new0(struct session_data); + priv->session->context_claim_device = context; + + fp_device_open (priv->dev, NULL, (GAsyncReadyCallback) dev_open_cb, rdev); +} + +static void dev_close_cb(FpDevice *dev, GAsyncResult *res, void *user_data) +{ + g_autoptr(GError) error = NULL; + FprintDevice *rdev = user_data; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + struct session_data *session = priv->session; + + if (!fp_device_close_finish (dev, res, &error)) { + g_autoptr(GError) dbus_error = NULL; + + g_clear_pointer (&priv->sender, g_free); + + dbus_error = g_error_new (FPRINT_ERROR, + FPRINT_ERROR_INTERNAL, + "Release failed with error: %s", error->message); + dbus_g_method_return_error(session->context_release_device, error); + return; + } + + g_debug("device %d released", priv->id); + + dbus_g_method_return(session->context_release_device); + + g_slice_free (struct session_data, priv->session); + priv->session = NULL; + g_clear_pointer (&priv->sender, g_free); + g_clear_pointer (&priv->username, g_free); +} + +static void fprint_device_release(FprintDevice *rdev, + DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + struct session_data *session = priv->session; + GError *error = NULL; + + if (_fprint_device_check_claimed(rdev, context, &error) == FALSE) { + dbus_g_method_return_error (context, error); + g_error_free(error); + return; + } + + /* People that can claim can also release */ + if (_fprint_device_check_polkit_for_actions (rdev, context, + "net.reactivated.fprint.device.verify", + "net.reactivated.fprint.device.enroll", + &error) == FALSE) { + dbus_g_method_return_error (context, error); + g_error_free(error); + return; + } + + session->context_release_device = context; + fp_device_close (priv->dev, NULL, (GAsyncReadyCallback) dev_close_cb, rdev); +} + +static void verify_cb(FpDevice *dev, GAsyncResult *res, void *user_data) +{ + g_autoptr(GError) error = NULL; + struct FprintDevice *rdev = user_data; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + gboolean success; + const char *name; + gboolean match; + + success = fp_device_verify_finish (dev, res, &match, NULL, &error); + g_assert (!!success == !error); + name = verify_result_to_name (match, error); + + g_debug("verify_cb: result %s", name); + + set_disconnected (priv, name); + + /* Automatically restart the operation for retry failures */ + if (error && error->domain == FP_DEVICE_RETRY) { + g_signal_emit(rdev, signals[SIGNAL_VERIFY_STATUS], 0, name, FALSE); + + fp_device_verify (priv->dev, + priv->verify_data, + priv->current_cancellable, + (GAsyncReadyCallback) verify_cb, + rdev); + } else { + g_clear_object (&priv->verify_data); + g_signal_emit(rdev, signals[SIGNAL_VERIFY_STATUS], 0, name, TRUE); + + /* Return the cancellation or reset action right away if vanished. */ + if (priv->current_cancel_context) { + dbus_g_method_return(priv->current_cancel_context); + priv->current_cancel_context = NULL; + priv->current_action = ACTION_NONE; + } else if (g_cancellable_is_cancelled (priv->current_cancellable)) { + priv->current_action = ACTION_NONE; + } + + g_clear_object (&priv->current_cancellable); + } +} + +static void identify_cb(FpDevice *dev, GAsyncResult *res, void *user_data) +{ + g_autoptr(GError) error = NULL; + struct FprintDevice *rdev = user_data; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + const char *name; + gboolean success; + FpPrint *match; + + success = fp_device_identify_finish (dev, res, &match, NULL, &error); + g_assert (!!success == !error); + name = verify_result_to_name (match != NULL, error); + + g_debug("verify_cb: result %s", name); + + set_disconnected (priv, name); + + /* Automatically restart the operation for retry failures */ + if (error && error->domain == FP_DEVICE_RETRY) { + g_signal_emit (rdev, signals[SIGNAL_VERIFY_STATUS], 0, name, FALSE); + + fp_device_identify (priv->dev, + priv->identify_data, + priv->current_cancellable, + (GAsyncReadyCallback) identify_cb, + rdev); + } else { + g_clear_pointer (&priv->identify_data, g_ptr_array_unref); + g_signal_emit (rdev, signals[SIGNAL_VERIFY_STATUS], 0, name, TRUE); + + /* Return the cancellation or reset action right away if vanished. */ + if (priv->current_cancel_context) { + dbus_g_method_return(priv->current_cancel_context); + priv->current_cancel_context = NULL; + priv->current_action = ACTION_NONE; + } else if (g_cancellable_is_cancelled (priv->current_cancellable)) { + priv->current_action = ACTION_NONE; + } + + g_clear_object (&priv->current_cancellable); + } +} + +static void fprint_device_verify_start(FprintDevice *rdev, + const char *finger_name, DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + g_autoptr(GPtrArray) gallery = NULL; + g_autoptr(FpPrint) print = NULL; + g_autoptr(GError) error = NULL; + guint finger_num = finger_name_to_num (finger_name); + + if (_fprint_device_check_claimed(rdev, context, &error) == FALSE) { + dbus_g_method_return_error (context, error); + return; + } + + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.verify", &error) == FALSE) { + dbus_g_method_return_error (context, error); + return; + } + + if (priv->current_action != ACTION_NONE) { + if (priv->current_action == ACTION_ENROLL) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_ALREADY_IN_USE, + "Enrollment in progress"); + } else { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_ALREADY_IN_USE, + "Verification already in progress"); + } + dbus_g_method_return_error(context, error); + return; + } + + if (finger_num == -1) { + GSList *prints; + + prints = store.discover_prints(priv->dev, priv->username); + if (prints == NULL) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_NO_ENROLLED_PRINTS, + "No fingerprints enrolled"); + dbus_g_method_return_error(context, error); + return; + } + if (fp_device_supports_identify (priv->dev)) { + GSList *l; + + gallery = g_ptr_array_new_with_free_func (g_object_unref); + + for (l = prints; l != NULL; l = l->next) { + g_debug ("adding finger %d to the gallery", GPOINTER_TO_INT (l->data)); + store.print_data_load(priv->dev, GPOINTER_TO_INT (l->data), + priv->username, &print); + + if (print) + g_ptr_array_add (gallery, g_steal_pointer (&print)); + } + } else { + finger_num = GPOINTER_TO_INT (prints->data); + } + g_slist_free(prints); + } + + if (fp_device_supports_identify (priv->dev) && finger_num == -1) { + if (gallery->len == 0) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_NO_ENROLLED_PRINTS, + "No fingerprints on that device"); + dbus_g_method_return_error(context, error); + return; + } + priv->current_action = ACTION_IDENTIFY; + + g_debug ("start identification device %d", priv->id); + priv->current_cancellable = g_cancellable_new (); + priv->identify_data = g_ptr_array_ref (gallery); + fp_device_identify (priv->dev, gallery, priv->current_cancellable, (GAsyncReadyCallback) identify_cb, rdev); + } else { + priv->current_action = ACTION_VERIFY; + + g_debug("start verification device %d finger %d", priv->id, finger_num); + + store.print_data_load(priv->dev, finger_num, + priv->username, &print); + + if (!print) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_INTERNAL, + "No such print %d", finger_num); + dbus_g_method_return_error(context, error); + return; + } + + priv->current_cancellable = g_cancellable_new (); + priv->verify_data = g_object_ref (print); + fp_device_verify (priv->dev, print, priv->current_cancellable, (GAsyncReadyCallback) verify_cb, rdev); + } + + /* Emit VerifyFingerSelected telling the front-end which finger + * we selected for auth */ + g_signal_emit(rdev, signals[SIGNAL_VERIFY_FINGER_SELECTED], + 0, finger_num_to_name (finger_num)); + + dbus_g_method_return(context); +} + +static void fprint_device_verify_stop(FprintDevice *rdev, + DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + GError *error = NULL; + + if (_fprint_device_check_claimed(rdev, context, &error) == FALSE) { + dbus_g_method_return_error (context, error); + g_error_free(error); + return; + } + + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.verify", &error) == FALSE) { + dbus_g_method_return_error (context, error); + g_error_free(error); + return; + } + + if (priv->current_action == ACTION_NONE) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_NO_ACTION_IN_PROGRESS, + "No verification in progress"); + dbus_g_method_return_error(context, error); + g_error_free (error); + return; + } + + if (priv->current_cancellable) { + /* We return only when the action was cancelled */ + g_cancellable_cancel (priv->current_cancellable); + priv->current_cancel_context = context; + } else { + dbus_g_method_return (context); + priv->current_action = ACTION_NONE; + } +} + +static void enroll_progress_cb(FpDevice *dev, + gint completed_stages, + FpPrint *print, + gpointer user_data, + GError *error) +{ + struct FprintDevice *rdev = user_data; + const char *name = enroll_result_to_name (FALSE, FALSE, error); + + g_debug("enroll_stage_cb: result %s", name); + + if (completed_stages < fp_device_get_nr_enroll_stages (dev)) + g_signal_emit(rdev, signals[SIGNAL_ENROLL_STATUS], 0, name, FALSE); +} + +static gboolean try_delete_print(FprintDevice *rdev) +{ + g_autoptr(GError) error = NULL; + g_autoptr(GPtrArray) device_prints = NULL; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + GSList *users, *user; + + device_prints = fp_device_list_prints_sync (priv->dev, NULL, &error); + if (!device_prints) { + g_warning ("Failed to query prints: %s", error->message); + return FALSE; + } + + g_debug ("Device has %d prints stored", device_prints->len); + + users = store.discover_users(); + + for (user = users; user; user = user->next) { + const gchar *username = user->data; + GSList *fingers, *finger; + + fingers = store.discover_prints (priv->dev, username); + + for (finger = fingers; finger; finger = finger->next) { + g_autoptr(FpPrint) print = NULL; + + store.print_data_load (priv->dev, + GPOINTER_TO_INT (fingers->data), + username, + &print); + + if (print) { + /* Test against all device prints */ + for (gint i = 0; i < device_prints->len; i++) { + if (!fp_print_equal (print, + FP_PRINT (g_ptr_array_index (device_prints, i)))) + continue; + + /* Found an equal print, remove it and break out */ + g_ptr_array_remove_index (device_prints, i); + break; + } + } + } + + g_slist_free (fingers); + } + + g_slist_free_full (users, g_free); + + g_debug ("Device has %d prints stored that we do not need", device_prints->len); + if (device_prints->len == 0) + return FALSE; + + /* Just delete the first print in the list at this point. + * We could be smarter and fetch some more metadata. */ + fp_device_delete_print_sync (priv->dev, + g_ptr_array_index (device_prints, 0), + NULL, + &error); + + if (error) { + g_warning ("Failed to garbage collect a print"); + return FALSE; + } + + return TRUE; +} + +static FpPrint* +fprint_device_create_enroll_template(FprintDevice *rdev, gint finger_num) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + FpPrint *template = NULL; + GDateTime *datetime = NULL; + GDate *date = NULL; + gint year, month, day; + + template = fp_print_new (priv->dev); + fp_print_set_finger (template, finger_num); + fp_print_set_username (template, priv->username); + datetime = g_date_time_new_now_local (); + g_date_time_get_ymd (datetime, &year, &month, &day); + date = g_date_new_dmy (day, month, year); + fp_print_set_enroll_date (template, date); + g_date_free (date); + g_date_time_unref (datetime); + + return template; +} + +static void enroll_cb(FpDevice *dev, GAsyncResult *res, void *user_data) +{ + g_autoptr(GError) error = NULL; + struct FprintDevice *rdev = user_data; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + g_autoptr(FpPrint) print = NULL; + const char *name; + + print = fp_device_enroll_finish (dev, res, &error); + + /* We need to special case the issue where the on device storage + * is completely full. In that case, we check whether we can delete + * a print that is not coming from us; assuming it is from an old + * installation. + * We do this synchronously, which is not great but should be good + * enough. */ + if (g_error_matches (error, FP_DEVICE_ERROR, FP_DEVICE_ERROR_DATA_FULL)) { + g_print ("Device storage is full, trying to garbage collect old prints"); + if (try_delete_print (rdev)) { + /* Success? Then restart the operation */ + fp_device_enroll (priv->dev, + fprint_device_create_enroll_template (rdev, priv->enroll_data), + priv->current_cancellable, + enroll_progress_cb, + rdev, + NULL, + (GAsyncReadyCallback) enroll_cb, + rdev); + return; + } + } + + name = enroll_result_to_name (TRUE, print != NULL, error); + + g_debug("enroll_cb: result %s", name); + + if (print) { + gint r; + r = store.print_data_save(print); + if (r < 0) + name = "enroll-failed"; + } + + set_disconnected (priv, name); + + g_signal_emit(rdev, signals[SIGNAL_ENROLL_STATUS], 0, name, TRUE); + + /* Return the cancellation or reset action right away if vanished. */ + if (priv->current_cancel_context) { + dbus_g_method_return(priv->current_cancel_context); + priv->current_cancel_context = NULL; + priv->current_action = ACTION_NONE; + } else if (g_cancellable_is_cancelled (priv->current_cancellable)) { + priv->current_action = ACTION_NONE; + } + g_clear_object (&priv->current_cancellable); +} + + +static void fprint_device_enroll_start(FprintDevice *rdev, + const char *finger_name, DBusGMethodInvocation *context) +{ + g_autoptr(GError) error = NULL; + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + int finger_num = finger_name_to_num (finger_name); + + if (finger_num == -1) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_INVALID_FINGERNAME, + "Invalid finger name"); + dbus_g_method_return_error(context, error); + return; + } + + if (_fprint_device_check_claimed(rdev, context, &error) == FALSE) { + dbus_g_method_return_error (context, error); + return; + } + + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.enroll", &error) == FALSE) { + dbus_g_method_return_error (context, error); + return; + } + + if (priv->current_action != ACTION_NONE) { + if (priv->current_action == ACTION_ENROLL) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_ALREADY_IN_USE, + "Enrollment already in progress"); + } else { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_ALREADY_IN_USE, + "Verification in progress"); + } + dbus_g_method_return_error(context, error); + return; + } + + g_debug("start enrollment device %d finger %d", priv->id, finger_num); + + priv->current_cancellable = g_cancellable_new (); + priv->enroll_data = finger_num; + fp_device_enroll (priv->dev, + fprint_device_create_enroll_template (rdev, priv->enroll_data), + priv->current_cancellable, + enroll_progress_cb, + rdev, + NULL, + (GAsyncReadyCallback) enroll_cb, + rdev); + + priv->current_action = ACTION_ENROLL; + + dbus_g_method_return(context); +} + +static void fprint_device_enroll_stop(FprintDevice *rdev, + DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + GError *error = NULL; + + if (_fprint_device_check_claimed(rdev, context, &error) == FALSE) { + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.enroll", &error) == FALSE) { + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + if (priv->current_action != ACTION_ENROLL) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_NO_ACTION_IN_PROGRESS, + "No enrollment in progress"); + dbus_g_method_return_error(context, error); + g_error_free (error); + return; + } + + if (priv->current_cancellable) { + /* We return only when the action was cancelled */ + g_cancellable_cancel (priv->current_cancellable); + priv->current_cancel_context = context; + } else { + dbus_g_method_return (context); + priv->current_action = ACTION_NONE; + } +} + +static void fprint_device_list_enrolled_fingers(FprintDevice *rdev, + const char *username, + DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + GError *error = NULL; + GSList *prints; + GSList *item; + GPtrArray *ret; + char *user, *sender; + + user = _fprint_device_check_for_username (rdev, + context, + username, + NULL, + &error); + if (user == NULL) { + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.verify", &error) == FALSE) { + g_free (user); + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + sender = dbus_g_method_get_sender (context); + _fprint_device_add_client (rdev, sender); + g_free (sender); + + prints = store.discover_prints(priv->dev, user); + g_free (user); + if (!prints) { + g_set_error(&error, FPRINT_ERROR, FPRINT_ERROR_NO_ENROLLED_PRINTS, + "Failed to discover prints"); + dbus_g_method_return_error(context, error); + g_error_free (error); + return; + } + + ret = g_ptr_array_new (); + for (item = prints; item; item = item->next) { + int finger_num = GPOINTER_TO_INT (item->data); + g_ptr_array_add (ret, g_strdup (finger_num_to_name (finger_num))); + } + g_ptr_array_add (ret, NULL); + + g_slist_free(prints); + + dbus_g_method_return(context, g_ptr_array_free (ret, FALSE)); +} + +static void delete_enrolled_fingers(FprintDevice *rdev, const char *user) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + guint i; + + /* First try deleting the print from the device, we don't consider it + * fatal if this does not work. */ + if (fp_device_has_storage (priv->dev)) { + g_autoptr(GSList) prints = NULL; + GSList *l; + + prints = store.discover_prints(priv->dev, user); + + for (l = prints; l != NULL; l = l->next) { + g_autoptr(FpPrint) print = NULL; + + store.print_data_load(priv->dev, + GPOINTER_TO_INT (l->data), + user, + &print); + + if (print) { + g_autoptr(GError) error = NULL; + + if (!fp_device_delete_print_sync (priv->dev, print, NULL, &error)) { + g_warning ("Error deleting print from device: %s", error->message); + g_warning ("This might indicate an issue in the libfprint driver or in the fingerprint device."); + } + } + } + } + + for (i = FP_FINGER_LEFT_THUMB; i <= FP_FINGER_RIGHT_LITTLE; i++) { + store.print_data_delete(priv->dev, i, user); + } +} + +static void fprint_device_delete_enrolled_fingers(FprintDevice *rdev, + const char *username, + DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + GError *error = NULL; + char *user, *sender; + gboolean opened; + + g_warning ("The API user should be updated to use DeleteEnrolledFingers2 method!"); + + user = _fprint_device_check_for_username (rdev, + context, + username, + NULL, + &error); + if (user == NULL) { + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.enroll", &error) == FALSE) { + g_free (user); + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + if (_fprint_device_check_claimed(rdev, context, &error) == FALSE) { + /* Return error for anything but FPRINT_ERROR_CLAIM_DEVICE */ + if (!g_error_matches (error, FPRINT_ERROR, FPRINT_ERROR_CLAIM_DEVICE)) { + dbus_g_method_return_error (context, error); + return; + } + + g_clear_error (&error); + opened = FALSE; + } else { + opened = TRUE; + } + + sender = dbus_g_method_get_sender (context); + _fprint_device_add_client (rdev, sender); + g_free (sender); + + if (!opened && fp_device_has_storage (priv->dev)) + fp_device_open_sync (priv->dev, NULL, NULL); + + delete_enrolled_fingers (rdev, user); + + if (!opened && fp_device_has_storage (priv->dev)) + fp_device_close_sync (priv->dev, NULL, NULL); + + g_free (user); + + dbus_g_method_return(context); +} + +static void fprint_device_delete_enrolled_fingers2(FprintDevice *rdev, + DBusGMethodInvocation *context) +{ + FprintDevicePrivate *priv = DEVICE_GET_PRIVATE(rdev); + GError *error = NULL; + + if (_fprint_device_check_claimed(rdev, context, &error) == FALSE) { + dbus_g_method_return_error (context, error); + return; + } + + if (_fprint_device_check_polkit_for_action (rdev, context, "net.reactivated.fprint.device.enroll", &error) == FALSE) { + dbus_g_method_return_error (context, error); + g_error_free (error); + return; + } + + delete_enrolled_fingers (rdev, priv->username); + + dbus_g_method_return(context); +} + diff --git a/src/device.xml b/src/device.xml new file mode 100644 index 0000000..9f71bf9 --- /dev/null +++ b/src/device.xml @@ -0,0 +1,597 @@ + + + + + + + +]> + + + + + + + + PolicyKit integration + + + fprintd uses PolicyKit to check whether users are allowed to access fingerprint data, or the + fingerprint readers itself. + + + net.reactivated.fprint.device.verify + + Whether the user is allowed to verify fingers against saved fingerprints. + + + + net.reactivated.fprint.device.enroll + + Whether the user is allowed to enroll new fingerprints. + + + + net.reactivated.fprint.device.setusername + + Whether the user is allowed to query, verify, or enroll fingerprints for users other than itself. + + + + + + + Usernames + + + When a username argument is used for a method, a PolicyKit check is done on the + net.reactivated.fprint.device.setusername PolicyKit + action to see whether the user the client is running as is allowed to access data from other users. + + + By default, only root is allowed to access fingerprint data for users other than itself. For a normal user, + it is recommended that you use an empty string for the username, which will mean "the client the user is + running as". + + + See PolicyKit integration. + + + + Fingerprint names + + + When a finger name argument is used for a method, it refers to either a single finger, or + "any" finger. See the list of possible values below: + + + left-thumb + + Left thumb + + + + left-index-finger + + Left index finger + + + + left-middle-finger + + Left middle finger + + + + left-ring-finger + + Left ring finger + + + + left-little-finger + + Left little finger + + + + right-thumb + + Right thumb + + + + right-index-finger + + Right index finger + + + + right-middle-finger + + Right middle finger + + + + right-ring-finger + + Right ring finger + + + + right-little-finger + + Right little finger + + + + any + + Any finger. This is only used for Device.VerifyStart + (select the first finger with a fingerprint associated, or all the fingerprints available for the user when + the device supports it) and Device::VerifyFingerSelected + (any finger with an associated fingerprint can be used). + + + + + + + Verify Statuses + + + + Possible values for the result passed through Device::VerifyResult are: + + verify-no-match + + The verification did not match, Device.VerifyStop should now be called. + + + + verify-match + + The verification succeeded, Device.VerifyStop should now be called. + + + + verify-retry-scan + + The user should retry scanning their finger, the verification is still ongoing. + + + + verify-swipe-too-short + + The user's swipe was too short. The user should retry scanning their finger, the verification is still ongoing. + + + + verify-finger-not-centered + + The user's finger was not centered on the reader. The user should retry scanning their finger, the verification is still ongoing. + + + + verify-remove-and-retry + + The user should remove their finger from the reader and retry scanning their finger, the verification is still ongoing. + + + + verify-disconnected + + The device was disconnected during the verification, no other actions should be taken, and you shouldn't use the device any more. + + + + verify-unknown-error + + An unknown error occurred (usually a driver problem), Device.VerifyStop should now be called. + + + + + + + Enroll Statuses + + + + Possible values for the result passed through Device::EnrollResult are: + + enroll-completed + + The enrollment successfully completed, Device.EnrollStop should now be called. + + + + enroll-failed + + The enrollment failed, Device.EnrollStop should now be called. + + + + enroll-stage-passed + + One stage of the enrollment passed, the enrollment is still ongoing. + + + + enroll-retry-scan + + The user should retry scanning their finger, the enrollment is still ongoing. + + + + enroll-swipe-too-short + + The user's swipe was too short. The user should retry scanning their finger, the enrollment is still ongoing. + + + + enroll-finger-not-centered + + The user's finger was not centered on the reader. The user should retry scanning their finger, the enrollment is still ongoing. + + + + enroll-remove-and-retry + + The user should remove their finger from the reader and retry scanning their finger, the enrollment is still ongoing. + + + + enroll-data-full + + No further prints can be enrolled on this device, Device.EnrollStop should now be called. + + Delete other prints from the device first to continue (e.g. from other users). Note that + old prints or prints from other operating systems may be deleted automatically to resolve + this error without any notification. + + + + enroll-disconnected + + The device was disconnected during the enrollment, no other actions should be taken, and you shouldn't use the device any more. + + + + + enroll-unknown-error + + An unknown error occurred (usually a driver problem), Device.EnrollStop should now be called. + + + + + + + + + + + + The username for whom to list the enrolled fingerprints. See Usernames. + + + An array of strings representing the enrolled fingerprints. See Fingerprint names. + + + + + + + List all the enrolled fingerprints for the chosen user. + + + + + if the caller lacks the appropriate PolicyKit authorization + if the chosen user doesn't have any fingerprints enrolled + + + + + + + + + The username for whom to delete the enrolled fingerprints. See Usernames. + + + + + + + Delete all the enrolled fingerprints for the chosen user. + + + Only for compatibility, use DeleteEnrolledFingers2 instead. + + + + + if the caller lacks the appropriate PolicyKit authorization + + + + + + + + + + + + + Delete all the enrolled fingerprints for the user currently claiming the device. + + + + + if the caller lacks the appropriate PolicyKit authorization + + + + + + + + + The username for whom to claim the device. See Usernames. + + + + + + + Claim the device for the chosen user. + + + + + if the caller lacks the appropriate PolicyKit authorization + if the device is already claimed + if the device couldn't be claimed + + + + + + + + + + + + + Release a device claimed with Device.Claim. + + + + + if the caller lacks the appropriate PolicyKit authorization + if the device was not claimed + + + + + + + + + A string representing the finger to verify. See Fingerprint names. + + + + + + + Check the chosen finger against a saved fingerprint. You need to have claimed the device using + Device.Claim. The finger selected is sent to the front-end + using Device::VerifyFingerSelected and + verification status through Device::VerifyStatus. + + + + + if the caller lacks the appropriate PolicyKit authorization + if the device was not claimed + if the device was already being used + if there are no enrolled prints for the chosen user + if there was an internal error + + + + + + + + + + + + + Stop an on-going fingerprint verification started with Device.VerifyStart. + + + + + if the caller lacks the appropriate PolicyKit authorization + if the device was not claimed + if there was no ongoing verification + if there was an internal error + + + + + + + + + + + + A string representing the finger select to be verified. + + + + + + + Fingerprint names. + + + + + + + + + + + A string representing the status of the verification. + + + + + + + + Whether the verification finished and can be stopped. + + + + + + + Verify Statuses and Device.VerifyStop. + + + + + + + + + A string representing the finger to enroll. See + Fingerprint names. + Note that "any" is not a valid finger name for this method. + + + + + + + Start enrollemnt for the selected finger. You need to have claimed the device using + Device.Claim before calling + this method. Enrollment status is sent through Device::EnrollStatus. + + + + + if the caller lacks the appropriate PolicyKit authorization + if the device was not claimed + if the device was already being used + if there are no enrolled prints for the chosen user + if there was an internal error + + + + + + + + + + + + + + Stop an on-going fingerprint enrollment started with Device.EnrollStart. + + + + + if the caller lacks the appropriate PolicyKit authorization + if the device was not claimed + if there was no ongoing verification + if there was an internal error + + + + + + + + + + + A string representing the status of the enrollment. + + + + + + + + Whether the enrollment finished and can be stopped. + + + + + + + Enrollment Statuses and Device.EnrollStop. + + + + + + + + + + + The product name of the device. + + + + + + + + + + + + The number of enrollment stages for the device. This is only available when the device has been claimed, otherwise it will be undefined (-1). + + + Device.Claim and Device.EnrollStart. + + + + + + + + + + + + The scan type of the device, either "press" if you place your finger on the device, or "swipe" if you have to swipe your finger. + + + + + + + + diff --git a/src/file_storage.c b/src/file_storage.c new file mode 100644 index 0000000..d46a047 --- /dev/null +++ b/src/file_storage.c @@ -0,0 +1,304 @@ +/* + * Simple file storage for fprintd + * Copyright (C) 2007 Daniel Drake + * Copyright (C) 2008 Vasily Khoruzhick + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + + +/* FIXME: + * This file almost duplicate data.c from libfprint + * Maybe someday data.c will be upgraded to this one ;) + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include "file_storage.h" + +#define FILE_STORAGE_PATH "/var/lib/fprint" +#define DIR_PERMS 0700 + +#define FP_FINGER_IS_VALID(finger) \ + ((finger) >= FP_FINGER_LEFT_THUMB && (finger) <= FP_FINGER_RIGHT_LITTLE) + +static const char *get_storage_path() +{ + const char *path; + + /* set by systemd >= 240 to an absolute path + * taking into account the StateDirectory + * unit file setting */ + path = g_getenv ("STATE_DIRECTORY"); + if (path != NULL) + return path; + + return FILE_STORAGE_PATH; +} + +static char *get_path_to_storedir(const char *driver, const char * device_id, char *base_store) +{ + return g_build_filename(base_store, driver, device_id, NULL); +} + +static char *__get_path_to_print(const char *driver, const char * device_id, + FpFinger finger, char *base_store) +{ + char *dirpath; + char *path; + char fingername[2]; + + g_snprintf(fingername, 2, "%x", finger); + + dirpath = get_path_to_storedir(driver, device_id, base_store); + path = g_build_filename(dirpath, fingername, NULL); + g_free(dirpath); + return path; +} + +static char *get_path_to_print(FpDevice *dev, FpFinger finger, char *base_store) +{ + return __get_path_to_print(fp_device_get_driver (dev), + fp_device_get_device_id(dev), + finger, + base_store); +} + +static char *get_path_to_print_dscv(FpDevice *dev, FpFinger finger, char *base_store) +{ + return __get_path_to_print(fp_device_get_driver (dev), + fp_device_get_device_id(dev), + finger, + base_store); +} + +static char *file_storage_get_basestore_for_username(const char *username) +{ + return g_build_filename(get_storage_path(), username, NULL); +} + +int file_storage_print_data_save(FpPrint *print) +{ + g_autoptr(GError) err = NULL; + g_autofree char *path = NULL; + g_autofree char *dirpath = NULL; + g_autofree char *base_store = NULL; + g_autofree char *buf = NULL; + gsize len; + int r; + + base_store = file_storage_get_basestore_for_username(fp_print_get_username (print)); + + if (!fp_print_serialize (print, (guchar **) &buf, &len, &err)) { + g_warning ("Error serializing data: %s", err->message); + return -ENOMEM; + } + + path = __get_path_to_print(fp_print_get_driver (print), + fp_print_get_device_id (print), + fp_print_get_finger (print), + base_store); + dirpath = g_path_get_dirname(path); + r = g_mkdir_with_parents(dirpath, DIR_PERMS); + if (r < 0) { + g_debug("file_storage_print_data_save(): could not mkdir(\"%s\"): %s", + dirpath, g_strerror(r)); + return r; + } + + //fp_dbg("saving to %s", path); + g_file_set_contents(path, buf, len, &err); + if (err) { + g_debug("file_storage_print_data_save(): could not save '%s': %s", + path, err->message); + /* FIXME interpret error codes */ + return err->code; + } + + return 0; +} + +static int load_from_file(char *path, FpPrint **print) +{ + g_autoptr(GError) err = NULL; + gsize length; + char *contents; + FpPrint *new; + + //fp_dbg("from %s", path); + g_file_get_contents(path, &contents, &length, &err); + if (err) { + int r = err->code; + /* FIXME interpret more error codes */ + if (r == G_FILE_ERROR_NOENT) + return -ENOENT; + else + return r; + } + + new = fp_print_deserialize ((guchar *) contents, length, &err); + if (!new) { + g_print ("Error deserializing data: %s", err->message); + return -EIO; + } + + *print = new; + return 0; +} + +int file_storage_print_data_load(FpDevice *dev, + FpFinger finger, + const char *username, + FpPrint **print) +{ + g_autofree gchar *path = NULL; + g_autofree gchar *base_store = NULL; + FpPrint *new = NULL; + int r; + + base_store = file_storage_get_basestore_for_username(username); + + path = get_path_to_print(dev, finger, base_store); + r = load_from_file(path, &new); + g_debug ("file_storage_print_data_load(): loaded '%s' %s", + path, g_strerror(r)); + if (r) + return r; + + if (!fp_print_compatible (new, dev)) { + g_object_unref (new); + return -EINVAL; + } + + *print = new; + return 0; +} + +int file_storage_print_data_delete(FpDevice *dev, FpFinger finger, const char *username) +{ + g_autofree gchar *base_store = NULL; + g_autofree gchar *path = NULL; + int r; + + base_store = file_storage_get_basestore_for_username(username); + + path = get_path_to_print_dscv(dev, finger, base_store); + + r = g_unlink(path); + g_debug("file_storage_print_data_delete(): unlink(\"%s\") %s", + path, g_strerror(r)); + + /* FIXME: cleanup empty directory */ + return g_unlink(path); +} + +static GSList *scan_dev_storedir(char *devpath, + GSList *list) +{ + g_autoptr(GError) err = NULL; + const gchar *ent; + + GDir *dir = g_dir_open(devpath, 0, &err); + if (!dir) { + g_debug("scan_dev_storedir(): opendir(\"%s\") failed: %s", devpath, err->message); + return list; + } + + while ((ent = g_dir_read_name(dir))) { + /* ent is an 1 hex character fp_finger code */ + guint64 val; + gchar *endptr; + + if (*ent == 0 || strlen(ent) != 1) + continue; + + val = g_ascii_strtoull(ent, &endptr, 16); + if (endptr == ent || !FP_FINGER_IS_VALID(val)) { + g_debug("scan_dev_storedir(): skipping print file '%s'", ent); + continue; + } + + list = g_slist_prepend(list, GINT_TO_POINTER(val)); + } + + g_dir_close(dir); + return list; +} + +GSList *file_storage_discover_prints(FpDevice *dev, const char *username) +{ + GSList *list = NULL; + g_autofree gchar *base_store = NULL; + g_autofree gchar *storedir = NULL; + + base_store = file_storage_get_basestore_for_username(username); + + storedir = get_path_to_storedir(fp_device_get_driver (dev), + fp_device_get_device_id (dev), + base_store); + + g_debug ("file_storage_discover_prints() for user '%s' in '%s'", + username, storedir); + + list = scan_dev_storedir(storedir, list); + + return list; +} + +GSList *file_storage_discover_users() +{ + g_autoptr(GError) err = NULL; + GSList *list = NULL; + const gchar *ent; + GDir *dir = g_dir_open(get_storage_path(), 0, &err); + + if (!dir) { + return list; + } + + while ((ent = g_dir_read_name(dir))) { + /* ent is a username */ + if (*ent == 0) + continue; + + list = g_slist_prepend(list, g_strdup (ent)); + } + + g_dir_close(dir); + return list; +} + +int file_storage_init(void) +{ + /* Nothing to do */ + return 0; +} + +int file_storage_deinit(void) +{ + /* Nothing to do */ + return 0; +} diff --git a/src/file_storage.h b/src/file_storage.h new file mode 100644 index 0000000..2209410 --- /dev/null +++ b/src/file_storage.h @@ -0,0 +1,43 @@ +/* + * Simple file storage for fprintd + * Copyright (C) 2008 Vasily Khoruzhick + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#ifndef FILE_STORAGE_H + +#define FILE_STORAGE_H + +int file_storage_print_data_save(FpPrint *print); + +int file_storage_print_data_load(FpDevice *dev, + FpFinger finger, + const char *username, + FpPrint **print); + +int file_storage_print_data_delete(FpDevice *dev, + FpFinger finger, + const char *username); + +int file_storage_init(void); + +int file_storage_deinit(void); + +GSList *file_storage_discover_prints(FpDevice *dev, const char *username); +GSList *file_storage_discover_users(void); + +#endif diff --git a/src/fprintd-marshal.list b/src/fprintd-marshal.list new file mode 100644 index 0000000..c4effb6 --- /dev/null +++ b/src/fprintd-marshal.list @@ -0,0 +1 @@ +VOID:STRING,BOOLEAN diff --git a/src/fprintd.h b/src/fprintd.h new file mode 100644 index 0000000..bea767b --- /dev/null +++ b/src/fprintd.h @@ -0,0 +1,104 @@ +/* + * fprintd header file + * Copyright (C) 2008 Daniel Drake + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __FPRINTD_H__ +#define __FPRINTD_H__ + +#include +#include +#include "fprint.h" + +/* General */ +#define TIMEOUT 30 +#define FPRINT_SERVICE_NAME "net.reactivated.Fprint" +extern DBusGConnection *fprintd_dbus_conn; + +/* Errors */ +GQuark fprint_error_quark(void); +GType fprint_error_get_type(void); + +#define FPRINT_ERROR fprint_error_quark() +#define FPRINT_TYPE_ERROR fprint_error_get_type() +#define FPRINT_ERROR_DBUS_INTERFACE "net.reactivated.Fprint.Error" +typedef enum { + FPRINT_ERROR_CLAIM_DEVICE, /* developer didn't claim the device */ + FPRINT_ERROR_ALREADY_IN_USE, /* device is already claimed by somebody else */ + FPRINT_ERROR_INTERNAL, /* internal error occured */ + FPRINT_ERROR_PERMISSION_DENIED, /* PolicyKit refused the action */ + FPRINT_ERROR_NO_ENROLLED_PRINTS, /* No prints are enrolled */ + FPRINT_ERROR_NO_ACTION_IN_PROGRESS, /* No actions currently in progress */ + FPRINT_ERROR_INVALID_FINGERNAME, /* the finger name passed was invalid */ + FPRINT_ERROR_NO_SUCH_DEVICE, /* device does not exist */ +} FprintError; + +/* Manager */ +#define FPRINT_TYPE_MANAGER (fprint_manager_get_type()) +#define FPRINT_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), FPRINT_TYPE_MANAGER, FprintManager)) +#define FPRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), FPRINT_TYPE_MANAGER, FprintManagerClass)) +#define FPRINT_IS_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), FPRINT_TYPE_MANAGER)) +#define FPRINT_IS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), FPRINT_TYPE_MANAGER)) +#define FPRINT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), FPRINT_TYPE_MANAGER, FprintManagerClass)) + +struct FprintManager { + GObject parent; +}; + +struct FprintManagerClass { + GObjectClass parent; +}; + +typedef struct FprintManager FprintManager; +typedef struct FprintManagerClass FprintManagerClass; + +FprintManager *fprint_manager_new(gboolean no_timeout); +GType fprint_manager_get_type(void); + +/* Device */ +#define FPRINT_TYPE_DEVICE (fprint_device_get_type()) +#define FPRINT_DEVICE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), FPRINT_DEVICE_TYPE, FprintDevice)) +#define FPRINT_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), FPRINT_DEVICE_TYPE, FprintDeviceClass)) +#define FPRINT_IS_DEVICE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), FPRINT_TYPE_DEVICE)) +#define FPRINT_IS_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), FPRINT_TYPE_DEVICE)) +#define FPRINT_DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), FPRINT_TYPE_DEVICE, FprintDeviceClass)) + +struct FprintDevice { + GObject parent; +}; + +struct FprintDeviceClass { + GObjectClass parent; +}; + +typedef struct FprintDevice FprintDevice; +typedef struct FprintDeviceClass FprintDeviceClass; + +FprintDevice *fprint_device_new(FpDevice *dev); +GType fprint_device_get_type(void); +guint32 _fprint_device_get_id(FprintDevice *rdev); +/* Print */ +/* TODO */ + +/* Binding data included in main.c thorugh server-bindings.h which individual + * class implementations need to access. + */ +extern const DBusGObjectInfo dbus_glib_fprint_manager_object_info; +extern const DBusGObjectInfo dbus_glib_fprint_device_object_info; + +#endif + diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..4037808 --- /dev/null +++ b/src/main.c @@ -0,0 +1,214 @@ +/* + * fprint D-Bus daemon + * Copyright (C) 2008 Daniel Drake + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "config.h" + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "fprintd.h" +#include "storage.h" +#include "file_storage.h" + +extern DBusGConnection *fprintd_dbus_conn; +static gboolean no_timeout = FALSE; +static gboolean g_fatal_warnings = FALSE; + +static void +set_storage_file (void) +{ + store.init = &file_storage_init; + store.deinit = &file_storage_deinit; + store.print_data_save = &file_storage_print_data_save; + store.print_data_load = &file_storage_print_data_load; + store.print_data_delete = &file_storage_print_data_delete; + store.discover_prints = &file_storage_discover_prints; + store.discover_users = &file_storage_discover_users; +} + +static gboolean +load_storage_module (const char *module_name) +{ + GModule *module; + char *filename; + + filename = g_module_build_path (PLUGINDIR, module_name); + module = g_module_open (filename, 0); + g_free (filename); + if (module == NULL) + return FALSE; + + if (!g_module_symbol (module, "init", (gpointer *) &store.init) || + !g_module_symbol (module, "deinit", (gpointer *) &store.deinit) || + !g_module_symbol (module, "print_data_save", (gpointer *) &store.print_data_save) || + !g_module_symbol (module, "print_data_load", (gpointer *) &store.print_data_load) || + !g_module_symbol (module, "print_data_delete", (gpointer *) &store.print_data_delete) || + !g_module_symbol (module, "discover_prints", (gpointer *) &store.discover_prints)) { + g_module_close (module); + return FALSE; + } + + g_module_make_resident (module); + + return TRUE; +} + +static gboolean +load_conf (void) +{ + GKeyFile *file; + char *filename; + char *module_name; + GError *error = NULL; + gboolean ret; + + filename = g_build_filename (SYSCONFDIR, "fprintd.conf", NULL); + file = g_key_file_new (); + g_debug("About to load configuration file '%s'", filename); + if (!g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, &error)) { + g_warning ("Could not open \"%s\": %s\n", filename, error->message); + goto bail; + } + + g_free (filename); + filename = NULL; + + module_name = g_key_file_get_string (file, "storage", "type", &error); + if (module_name == NULL) + goto bail; + + g_key_file_free (file); + + if (g_str_equal (module_name, "file")) { + g_free (module_name); + set_storage_file (); + return TRUE; + } + + ret = load_storage_module (module_name); + g_free (module_name); + + return ret; + +bail: + g_key_file_free (file); + g_free (filename); + g_error_free (error); + + return FALSE; +} + +static const GOptionEntry entries[] = { + {"g-fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &g_fatal_warnings, "Make all warnings fatal", NULL}, + {"no-timeout", 't', 0, G_OPTION_ARG_NONE, &no_timeout, "Do not exit after unused for a while", NULL}, + { NULL } +}; + +int main(int argc, char **argv) +{ + GOptionContext *context; + GMainLoop *loop; + GError *error = NULL; + FprintManager *manager; + DBusGProxy *driver_proxy; + guint32 request_name_ret; + + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + + context = g_option_context_new ("Fingerprint handler daemon"); + g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE); + +#if !GLIB_CHECK_VERSION (2, 36, 0) + g_type_init(); +#endif + + if (g_option_context_parse (context, &argc, &argv, &error) == FALSE) { + g_warning ("couldn't parse command-line options: %s\n", error->message); + g_error_free (error); + return 1; + } + + if (g_fatal_warnings) { + GLogLevelFlags fatal_mask; + + fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK); + fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL; + g_log_set_always_fatal (fatal_mask); + } + + /* Obtain a connection to the session bus */ + fprintd_dbus_conn = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); + if (fprintd_dbus_conn == NULL) { + g_warning("Failed to open connection to bus: %s", error->message); + return 1; + } + + driver_proxy = dbus_g_proxy_new_for_name(fprintd_dbus_conn, + DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); + + /* Load the configuration file, + * and the default storage plugin */ + if (!load_conf()) + set_storage_file (); + store.init (); + + loop = g_main_loop_new(NULL, FALSE); + + g_debug("Launching FprintObject"); + + /* create the one instance of the Manager object to be shared between + * all fprintd users */ + manager = fprint_manager_new(no_timeout); + + /* Obtain the well-known name after the manager has been initialized. + * Otherwise a client immediately enumerating the devices will not see + * any. */ + if (!org_freedesktop_DBus_request_name(driver_proxy, FPRINT_SERVICE_NAME, + 0, &request_name_ret, &error)) { + g_warning("Failed to get name: %s", error->message); + g_object_unref (manager); + return 1; + } + + if (request_name_ret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { + g_warning ("Got result code %u from requesting name", request_name_ret); + g_object_unref (manager); + return 1; + } + + g_debug("D-Bus service launched with name: %s", FPRINT_SERVICE_NAME); + + g_debug("entering main loop"); + g_main_loop_run(loop); + g_debug("main loop completed"); + + g_object_unref (manager); + + return 0; +} + diff --git a/src/manager.c b/src/manager.c new file mode 100644 index 0000000..d4c1d9f --- /dev/null +++ b/src/manager.c @@ -0,0 +1,284 @@ +/* + * /net/reactivated/Fprint/Manager object implementation + * Copyright (C) 2008 Daniel Drake + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "fprintd.h" + +DBusGConnection *fprintd_dbus_conn; + +static gboolean fprint_manager_get_devices(FprintManager *manager, + GPtrArray **devices, GError **error); +static gboolean fprint_manager_get_default_device(FprintManager *manager, + const char **device, GError **error); +#include "manager-dbus-glue.h" + +static GObjectClass *parent_class = NULL; + +G_DEFINE_TYPE(FprintManager, fprint_manager, G_TYPE_OBJECT); + +typedef struct +{ + FpContext *context; + GSList *dev_registry; + gboolean no_timeout; + guint timeout_id; +} FprintManagerPrivate; + +#define FPRINT_MANAGER_GET_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), FPRINT_TYPE_MANAGER, FprintManagerPrivate)) + +static void fprint_manager_finalize(GObject *object) +{ + FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (object); + + g_slist_free(priv->dev_registry); + + G_OBJECT_CLASS(parent_class)->finalize(object); +} + +static void fprint_manager_class_init(FprintManagerClass *klass) +{ + dbus_g_object_type_install_info(FPRINT_TYPE_MANAGER, + &dbus_glib_fprint_manager_object_info); + dbus_g_error_domain_register (FPRINT_ERROR, FPRINT_ERROR_DBUS_INTERFACE, FPRINT_TYPE_ERROR); + + g_type_class_add_private ((GObjectClass *) klass, sizeof (FprintManagerPrivate)); + + G_OBJECT_CLASS(klass)->finalize = fprint_manager_finalize; + parent_class = g_type_class_peek_parent(klass); +} + +static gchar *get_device_path(FprintDevice *rdev) +{ + return g_strdup_printf("/net/reactivated/Fprint/Device/%d", + _fprint_device_get_id(rdev)); +} + +static gboolean +fprint_manager_timeout_cb (FprintManager *manager) +{ + //FIXME kill all the devices + exit(0); + return FALSE; +} + +static void +fprint_manager_in_use_notified (FprintDevice *rdev, GParamSpec *spec, FprintManager *manager) +{ + FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager); + guint num_devices_used = 0; + GSList *l; + gboolean in_use; + + if (priv->timeout_id > 0) { + g_source_remove (priv->timeout_id); + priv->timeout_id = 0; + } + if (priv->no_timeout) + return; + + for (l = priv->dev_registry; l != NULL; l = l->next) { + FprintDevice *dev = l->data; + + g_object_get (G_OBJECT(dev), "in-use", &in_use, NULL); + if (in_use != FALSE) + num_devices_used++; + } + + if (num_devices_used == 0) + priv->timeout_id = g_timeout_add_seconds (TIMEOUT, (GSourceFunc) fprint_manager_timeout_cb, manager); +} + +static void +device_added_cb (FprintManager *manager, FpDevice *device, FpContext *context) +{ + FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager); + FprintDevice *rdev = fprint_device_new(device); + g_autofree gchar *path = NULL; + + g_signal_connect (G_OBJECT(rdev), "notify::in-use", + G_CALLBACK (fprint_manager_in_use_notified), manager); + + priv->dev_registry = g_slist_prepend (priv->dev_registry, rdev); + path = get_device_path (rdev); + dbus_g_connection_register_g_object(fprintd_dbus_conn, path, + G_OBJECT(rdev)); +} + +static void +device_removed_cb (FprintManager *manager, FpDevice *device, FpContext *context) +{ + FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager); + GSList *item; + g_autofree gchar *path = NULL; + + for (item = priv->dev_registry; item; item = item->next) { + FprintDevice *rdev; + g_autoptr(FpDevice) dev = NULL; + + rdev = item->data; + + g_object_get (rdev, "dev", &dev, NULL); + if (dev != device) + continue; + + priv->dev_registry = g_slist_delete_link (priv->dev_registry, item); + + dbus_g_connection_unregister_g_object(fprintd_dbus_conn, G_OBJECT(rdev)); + + g_signal_handlers_disconnect_by_data (rdev, manager); + g_object_unref (rdev); + + /* We cannot continue to iterate at this point, but we don't need to either */ + break; + } + + /* The device that disappeared might have been in-use. + * Do we need to do anything else in this case to clean up more gracefully? */ + fprint_manager_in_use_notified (NULL, NULL, manager); +} + +static void +fprint_manager_init (FprintManager *manager) +{ + FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager); + GPtrArray *devices; + + priv->context = fp_context_new (); + + /* And register the signals for initial enumeration and hotplug. */ + g_signal_connect_object (priv->context, + "device-added", + (GCallback) device_added_cb, + manager, + G_CONNECT_SWAPPED); + + g_signal_connect_object (priv->context, + "device-removed", + (GCallback) device_removed_cb, + manager, + G_CONNECT_SWAPPED); + + /* Prepare everthing by enumerating all devices. */ + fp_context_enumerate (priv->context); + + dbus_g_connection_register_g_object(fprintd_dbus_conn, + "/net/reactivated/Fprint/Manager", G_OBJECT(manager)); +} + +FprintManager *fprint_manager_new(gboolean no_timeout) +{ + FprintManagerPrivate *priv; + GObject *object; + + object = g_object_new(FPRINT_TYPE_MANAGER, NULL); + priv = FPRINT_MANAGER_GET_PRIVATE (object); + priv->no_timeout = no_timeout; + + if (!priv->no_timeout) + priv->timeout_id = g_timeout_add_seconds (TIMEOUT, (GSourceFunc) fprint_manager_timeout_cb, object); + + return FPRINT_MANAGER (object); +} + +static gboolean fprint_manager_get_devices(FprintManager *manager, + GPtrArray **devices, GError **error) +{ + FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager); + GSList *elem; + GSList *l; + int num_open; + GPtrArray *devs; + + elem = g_slist_reverse(g_slist_copy(priv->dev_registry)); + num_open = g_slist_length(elem); + devs = g_ptr_array_sized_new(num_open); + + if (num_open > 0) { + for (l = elem; l != NULL; l = l->next) { + FprintDevice *rdev = l->data; + g_ptr_array_add(devs, get_device_path(rdev)); + } + } + + g_slist_free(elem); + + *devices = devs; + return TRUE; +} + +static gboolean fprint_manager_get_default_device(FprintManager *manager, + const char **device, GError **error) +{ + FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager); + GSList *elem;; + int num_open; + + elem = priv->dev_registry; + num_open = g_slist_length(elem); + + if (num_open > 0) { + *device = get_device_path (g_slist_last (elem)->data); + return TRUE; + } else { + g_set_error (error, FPRINT_ERROR, FPRINT_ERROR_NO_SUCH_DEVICE, + "No devices available"); + *device = NULL; + return FALSE; + } +} + +GQuark fprint_error_quark(void) +{ + static GQuark quark = 0; + if (!quark) + quark = g_quark_from_static_string("fprintd-error-quark"); + return quark; +} + +#define ENUM_ENTRY(NAME, DESC) { NAME, "" #NAME "", DESC } +GType +fprint_error_get_type (void) +{ + static GType etype = 0; + + if (etype == 0) { + static const GEnumValue values[] = + { + ENUM_ENTRY (FPRINT_ERROR_CLAIM_DEVICE, "ClaimDevice"), + ENUM_ENTRY (FPRINT_ERROR_ALREADY_IN_USE, "AlreadyInUse"), + ENUM_ENTRY (FPRINT_ERROR_INTERNAL, "Internal"), + ENUM_ENTRY (FPRINT_ERROR_PERMISSION_DENIED, "PermissionDenied"), + ENUM_ENTRY (FPRINT_ERROR_NO_ENROLLED_PRINTS, "NoEnrolledPrints"), + ENUM_ENTRY (FPRINT_ERROR_NO_ACTION_IN_PROGRESS, "NoActionInProgress"), + ENUM_ENTRY (FPRINT_ERROR_INVALID_FINGERNAME, "InvalidFingername"), + ENUM_ENTRY (FPRINT_ERROR_NO_SUCH_DEVICE, "NoSuchDevice"), + { 0, 0, 0 } + }; + etype = g_enum_register_static ("FprintError", values); + } + return etype; +} diff --git a/src/manager.xml b/src/manager.xml new file mode 100644 index 0000000..f4a38c7 --- /dev/null +++ b/src/manager.xml @@ -0,0 +1,50 @@ + +]> + + + + + + + + + An array of object paths for devices. + + + + + + Enumerate all the fingerprint readers attached to the system. If there are + no devices available, an empty array is returned. + + + + + + + + + + The object path for the default device. + + + + + + Returns the default fingerprint reader device. + + + + + if the device does not exist + + + + + + + diff --git a/src/storage.h b/src/storage.h new file mode 100644 index 0000000..3819b87 --- /dev/null +++ b/src/storage.h @@ -0,0 +1,54 @@ +/* + * Simple file storage for fprintd + * Copyright (C) 2008 Vasily Khoruzhick + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + */ + +#ifndef STORAGE_H + +#define STORAGE_H + +typedef int (*storage_print_data_save)(FpPrint *print); +typedef int (*storage_print_data_load)(FpDevice *dev, + FpFinger finger, + const char *username, + FpPrint **print); +typedef int (*storage_print_data_delete)(FpDevice *dev, + FpFinger finger, + const char *username); +typedef GSList *(*storage_discover_prints)(FpDevice *dev, const char *username); +typedef GSList *(*storage_discover_users)(); +typedef int (*storage_init)(void); +typedef int (*storage_deinit)(void); + +struct storage { + storage_init init; + storage_deinit deinit; + storage_print_data_save print_data_save; + storage_print_data_load print_data_load; + storage_print_data_delete print_data_delete; + storage_discover_prints discover_prints; + storage_discover_users discover_users; +}; + +typedef struct storage fp_storage; + +/* The currently setup store */ +fp_storage store; + +#endif + diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000..ca96c86 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,9 @@ +TESTS_ENVIRONMENT = export FPRINT_BUILD_DIR=$(abs_top_builddir)/src; export TOPSRCDIR=$(abs_top_srcdir); export PYTHON=@PYTHON@; +TESTS = fprintd.py + +EXTRA_DIST = \ + $(TESTS) \ + prints/README \ + prints/*.png \ + prints/*.jpg + diff --git a/tests/fprintd.py b/tests/fprintd.py new file mode 100755 index 0000000..6069c9d --- /dev/null +++ b/tests/fprintd.py @@ -0,0 +1,466 @@ +#! /usr/bin/env python3 +# Copyright © 2017, 2019 Red Hat, Inc +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library. If not, see . +# Authors: +# Christian J. Kellner +# Benjamin Berg + +import unittest +import time +import subprocess +import os +import os.path +import sys +import tempfile +import glob +import shutil +import socket +import struct +import dbusmock +import gi +from gi.repository import GLib, Gio +import cairo + +try: + from subprocess import DEVNULL +except ImportError: + DEVNULL = open(os.devnull, 'wb') + +SERVICE_FILE = '/usr/share/dbus-1/system-services/net.reactivated.Fprint.service' + +def get_timeout(topic='default'): + vals = { + 'valgrind': { + 'test': 300, + 'default': 20, + 'daemon_start': 60 + }, + 'default': { + 'test': 60, + 'default': 3, + 'daemon_start': 5 + } + } + + valgrind = os.getenv('VALGRIND') + lut = vals['valgrind' if valgrind is not None else 'default'] + if topic not in lut: + raise ValueError('invalid topic') + return lut[topic] + + +# Copied from libfprint tests +class Connection: + + def __init__(self, addr): + self.addr = addr + + def __enter__(self): + self.con = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + self.con.connect(self.addr) + return self.con + + def __exit__(self, exc_type, exc_val, exc_tb): + self.con.close() + del self.con + +def load_image(img): + png = cairo.ImageSurface.create_from_png(img) + + # Cairo wants 4 byte aligned rows, so just add a few pixel if necessary + w = png.get_width() + h = png.get_height() + w = (w + 3) // 4 * 4 + h = (h + 3) // 4 * 4 + img = cairo.ImageSurface(cairo.Format.A8, w, h) + cr = cairo.Context(img) + + cr.set_source_rgba(1, 1, 1, 1) + cr.paint() + + cr.set_source_rgba(0, 0, 0, 0) + cr.set_operator(cairo.OPERATOR_SOURCE) + + cr.set_source_surface(png) + cr.paint() + + return img + +if hasattr(os.environ, 'TOPSRCDIR'): + root = os.environ['TOPSRCDIR'] +else: + root = os.path.join(os.path.dirname(__file__), '..') + +imgdir = os.path.join(root, 'tests', 'prints') + +ctx = GLib.main_context_default() + +class FPrintdTest(dbusmock.DBusTestCase): + + @staticmethod + def path_from_service_file(sf): + with open(SERVICE_FILE) as f: + for line in f: + if not line.startswith('Exec='): + continue + return line.split('=', 1)[1].strip() + return None + + @classmethod + def setUpClass(cls): + fprintd = None + + if 'FPRINT_BUILD_DIR' in os.environ: + print('Testing local build') + build_dir = os.environ['FPRINT_BUILD_DIR'] + fprintd = os.path.join(build_dir, 'fprintd') + elif 'UNDER_JHBUILD' in os.environ: + print('Testing JHBuild version') + jhbuild_prefix = os.environ['JHBUILD_PREFIX'] + fprintd = os.path.join(jhbuild_prefix, 'libexec', 'fprintd') + else: + print('Testing installed system binaries') + fprintd = cls.path_from_service_file(SERVICE_FILE) + + assert fprintd is not None, 'failed to find daemon' + cls.paths = {'daemon': fprintd } + + + cls.tmpdir = tempfile.mkdtemp(prefix='libfprint-') + + cls.sockaddr = os.path.join(cls.tmpdir, 'virtual-image.socket') + os.environ['FP_VIRTUAL_IMAGE'] = cls.sockaddr + + cls.prints = {} + for f in glob.glob(os.path.join(imgdir, '*.png')): + n = os.path.basename(f)[:-4] + cls.prints[n] = load_image(f) + + + cls.test_bus = Gio.TestDBus.new(Gio.TestDBusFlags.NONE) + cls.test_bus.up() + try: + del os.environ['DBUS_SESSION_BUS_ADDRESS'] + except KeyError: + pass + os.environ['DBUS_SYSTEM_BUS_ADDRESS'] = cls.test_bus.get_bus_address() + cls.dbus = Gio.bus_get_sync(Gio.BusType.SYSTEM, None) + + @classmethod + def tearDownClass(cls): + cls.test_bus.down() + shutil.rmtree(cls.tmpdir) + dbusmock.DBusTestCase.tearDownClass() + + + def daemon_start(self): + timeout = get_timeout('daemon_start') # seconds + env = os.environ.copy() + env['G_DEBUG'] = 'fatal-criticals' + env['STATE_DIRECTORY'] = self.state_dir + env['RUNTIME_DIRECTORY'] = self.run_dir + + argv = [self.paths['daemon'], '-t'] + valgrind = os.getenv('VALGRIND') + if valgrind is not None: + argv.insert(0, 'valgrind') + argv.insert(1, '--leak-check=full') + if os.path.exists(valgrind): + argv.insert(2, '--suppressions=%s' % valgrind) + self.valgrind = True + self.daemon = subprocess.Popen(argv, + env=env, + stdout=None, + stderr=subprocess.STDOUT) + self.device = None + + timeout_count = timeout * 10 + timeout_sleep = 0.1 + while timeout_count > 0: + time.sleep(timeout_sleep) + timeout_count -= 1 + try: + self.manager = Gio.DBusProxy.new_sync(self.dbus, + Gio.DBusProxyFlags.DO_NOT_AUTO_START, + None, + 'net.reactivated.Fprint', + '/net/reactivated/Fprint/Manager', + 'net.reactivated.Fprint.Manager', + None) + + devices = self.manager.GetDevices() + # Find the virtual device, just in case it is a local run + # and there is another usable sensor available locally + for path in devices: + dev = Gio.DBusProxy.new_sync(self.dbus, + Gio.DBusProxyFlags.DO_NOT_AUTO_START, + None, + 'net.reactivated.Fprint', + path, + 'net.reactivated.Fprint.Device', + None) + + if 'Virtual image device' in str(dev.get_cached_property('name')): + self.device = dev + break + else: + print('Did not find virtual device! Probably libfprint was build without the corresponding driver!') + + break + except GLib.GError: + pass + else: + timeout_time = timeout * 10 * timeout_sleep + self.fail('daemon did not start in %d seconds' % timeout_time) + + def daemon_stop(self): + + if self.daemon: + try: + self.daemon.terminate() + except OSError: + pass + self.daemon.wait() + + self.daemon = None + self.client = None + + def polkitd_start(self): + self._polkitd, self._polkitd_obj = self.spawn_server_template( + 'polkitd', {}, stdout=DEVNULL) + + def polkitd_stop(self): + if self._polkitd is None: + return + self._polkitd.terminate() + self._polkitd.wait() + + + + def setUp(self): + self.test_dir = tempfile.mkdtemp() + self.state_dir = os.path.join(self.test_dir, 'state') + self.run_dir = os.path.join(self.test_dir, 'run') + + def tearDown(self): + shutil.rmtree(self.test_dir) + + # From libfprint tests + def send_retry(self, retry_error=1): + # The default (1) is too-short + with Connection(self.sockaddr) as con: + con.sendall(struct.pack('ii', -1, retry_error)) + + # From libfprint tests + def send_image(self, image): + img = self.prints[image] + with Connection(self.sockaddr) as con: + mem = img.get_data() + mem = mem.tobytes() + assert len(mem) == img.get_width() * img.get_height() + + encoded_img = struct.pack('ii', img.get_width(), img.get_height()) + encoded_img += mem + + con.sendall(encoded_img) + + def test_enroll_verify_delete(self): + self.polkitd_start() + self.daemon_start() + + if self.device is None: + self.daemon_stop() + self.polkitd_stop() + self.skipTest("Need virtual_image device to run the test") + + def timeout_cb(*args): + # Note: With meson we could just rely on it to kill us + print("Test timed out, hard exiting") + sys.exit(1) + + timeout = GLib.timeout_add(get_timeout('test') * 1000, timeout_cb) + + self._polkitd_obj.SetAllowed(['net.reactivated.fprint.device.setusername', + 'net.reactivated.fprint.device.enroll', + 'net.reactivated.fprint.device.verify']) + + def signal_cb(proxy, sender, signal, params): + print(signal, params) + if signal == 'EnrollStatus': + self._abort = params[1] + self._last_result = params[0] + + if not self._abort and self._last_result == 'enroll-stage-passed': + self.send_image('whorl') + elif self._abort: + pass + else: + self._abort = True + self._last_result = 'Unexpected signal values' + print('Unexpected signal values') + elif signal == 'VerifyFingerSelected': + pass + elif signal == 'VerifyStatus': + self._abort = True + self._last_result = params[0] + self._verify_stopped = params[1] + else: + self._abort = True + self._last_result = 'Unexpected signal' + + signal_id = self.device.connect('g-signal', signal_cb) + + self.device.Claim('(s)', 'testuser') + + self.device.EnrollStart('(s)', 'right-index-finger') + + self.send_image('whorl') + + self._abort = False + while not self._abort: + ctx.iteration(True) + + assert self._last_result == 'enroll-completed' + + self.device.EnrollStop() + + assert os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7')) + + # Finger is enrolled, try to verify it + self.device.VerifyStart('(s)', 'any') + + # Try a wrong print; will stop verification + self.send_image('tented_arch') + self._abort = False + while not self._abort: + ctx.iteration(True) + assert self._verify_stopped == True + assert self._last_result == 'verify-no-match' + + self.device.VerifyStop() + self.device.VerifyStart('(s)', 'any') + + # Send a retry error (swipe too short); will not stop verification + self.send_retry() + self._abort = False + while not self._abort: + ctx.iteration(True) + assert self._verify_stopped == False + assert self._last_result == 'verify-swipe-too-short' + + # Try the correct print; will stop verification + self.send_image('whorl') + self._abort = False + while not self._abort: + ctx.iteration(True) + assert self._verify_stopped == True + assert self._last_result == 'verify-match' + + + # And delete the print(s) again + self.device.DeleteEnrolledFingers('(s)', 'testuser') + + assert not os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7')) + + GLib.source_remove(timeout) + + self.device.disconnect(signal_id) + + self.device.Release() + self.daemon_stop() + self.polkitd_stop() + + def test_enroll_delete2(self): + self.polkitd_start() + self.daemon_start() + + if self.device is None: + self.daemon_stop() + self.polkitd_stop() + self.skipTest("Need virtual_image device to run the test") + + def timeout_cb(*args): + # Note: With meson we could just rely on it to kill us + print("Test timed out, hard exiting") + sys.exit(1) + + timeout = GLib.timeout_add(get_timeout('test') * 1000, timeout_cb) + + self._polkitd_obj.SetAllowed(['net.reactivated.fprint.device.setusername', + 'net.reactivated.fprint.device.enroll', + 'net.reactivated.fprint.device.verify']) + + def signal_cb(proxy, sender, signal, params): + print(signal, params) + if signal == 'EnrollStatus': + self._abort = params[1] + self._last_result = params[0] + + if not self._abort and self._last_result == 'enroll-stage-passed': + self.send_image('whorl') + elif self._abort: + pass + else: + self._abort = True + self._last_result = 'Unexpected signal values' + print('Unexpected signal values') + elif signal == 'VerifyFingerSelected': + pass + elif signal == 'VerifyStatus': + self._abort = True + self._last_result = params[0] + self._verify_stopped = params[1] + else: + self._abort = True + self._last_result = 'Unexpected signal' + + signal_id = self.device.connect('g-signal', signal_cb) + + self.device.Claim('(s)', 'testuser') + + self.device.EnrollStart('(s)', 'right-index-finger') + + self.send_image('whorl') + + self._abort = False + while not self._abort: + ctx.iteration(True) + + assert self._last_result == 'enroll-completed' + + self.device.EnrollStop() + + assert os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7')) + + # And delete the print(s) again using the new API + self.device.DeleteEnrolledFingers2() + + assert not os.path.exists(os.path.join(self.state_dir, 'testuser/virtual_image/0/7')) + + GLib.source_remove(timeout) + + self.device.disconnect(signal_id) + + self.device.Release() + self.daemon_stop() + self.polkitd_stop() + +if __name__ == '__main__': + if len(sys.argv) == 2 and sys.argv[1] == "list-tests": + for machine, human in list_tests(): + print("%s %s" % (machine, human), end="\n") + sys.exit(0) + + unittest.main(verbosity=2) diff --git a/tests/prints/README b/tests/prints/README new file mode 100644 index 0000000..977d706 --- /dev/null +++ b/tests/prints/README @@ -0,0 +1,3 @@ +These are example images from NIST and are in the public domain. + +The PNG files have been generated by using the greyscale data as a mask. diff --git a/tests/prints/arch.jpg b/tests/prints/arch.jpg new file mode 100644 index 0000000..b87e285 Binary files /dev/null and b/tests/prints/arch.jpg differ diff --git a/tests/prints/arch.png b/tests/prints/arch.png new file mode 100644 index 0000000..f8c9b4d Binary files /dev/null and b/tests/prints/arch.png differ diff --git a/tests/prints/loop-right.jpg b/tests/prints/loop-right.jpg new file mode 100644 index 0000000..126b90e Binary files /dev/null and b/tests/prints/loop-right.jpg differ diff --git a/tests/prints/loop-right.png b/tests/prints/loop-right.png new file mode 100644 index 0000000..93177dd Binary files /dev/null and b/tests/prints/loop-right.png differ diff --git a/tests/prints/tented_arch.jpg b/tests/prints/tented_arch.jpg new file mode 100644 index 0000000..e73f7cc Binary files /dev/null and b/tests/prints/tented_arch.jpg differ diff --git a/tests/prints/tented_arch.png b/tests/prints/tented_arch.png new file mode 100644 index 0000000..c524a1f Binary files /dev/null and b/tests/prints/tented_arch.png differ diff --git a/tests/prints/whorl.jpg b/tests/prints/whorl.jpg new file mode 100644 index 0000000..96c79ba Binary files /dev/null and b/tests/prints/whorl.jpg differ diff --git a/tests/prints/whorl.png b/tests/prints/whorl.png new file mode 100644 index 0000000..9e7e7c4 Binary files /dev/null and b/tests/prints/whorl.png differ diff --git a/utils/Makefile.am b/utils/Makefile.am new file mode 100644 index 0000000..01e2184 --- /dev/null +++ b/utils/Makefile.am @@ -0,0 +1,35 @@ +BUILT_SOURCES = manager-dbus-glue.h device-dbus-glue.h $(MARSHALFILES) +noinst_HEADERS = $(BUILT_SOURCES) +CLEANFILES = $(BUILT_SOURCES) + +bin_PROGRAMS = fprintd-verify fprintd-enroll fprintd-list fprintd-delete + +fprintd_verify_SOURCES = verify.c $(MARSHALFILES) +fprintd_verify_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS) +fprintd_verify_LDADD = $(GLIB_LIBS) + +fprintd_enroll_SOURCES = enroll.c $(MARSHALFILES) +fprintd_enroll_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS) -I$(top_srcdir)/pam +fprintd_enroll_LDADD = $(GLIB_LIBS) + +fprintd_list_SOURCES = list.c +fprintd_list_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS) +fprintd_list_LDADD = $(GLIB_LIBS) + +fprintd_delete_SOURCES = delete.c +fprintd_delete_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS) +fprintd_delete_LDADD = $(GLIB_LIBS) + +manager-dbus-glue.h: ../src/manager.xml + dbus-binding-tool --prefix=fprint_manager --mode=glib-client $< --output=$@ + +device-dbus-glue.h: ../src/device.xml + dbus-binding-tool --prefix=fprint_device --mode=glib-client $< --output=$@ + +MARSHALFILES = marshal.c marshal.h +GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0` + +marshal.h: $(top_srcdir)/src/fprintd-marshal.list + ( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(top_srcdir)/src/fprintd-marshal.list --header > marshal.h ) +marshal.c: marshal.h + ( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(top_srcdir)/src/fprintd-marshal.list --body --header > marshal.c ) diff --git a/utils/delete.c b/utils/delete.c new file mode 100644 index 0000000..5705848 --- /dev/null +++ b/utils/delete.c @@ -0,0 +1,132 @@ +/* + * fprintd example to delete fingerprints + * Copyright (C) 2008 Daniel Drake + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include "manager-dbus-glue.h" +#include "device-dbus-glue.h" + +static DBusGProxy *manager = NULL; +static DBusGConnection *connection = NULL; + +static void create_manager(void) +{ + GError *error = NULL; + + connection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); + if (connection == NULL) { + g_print("Failed to connect to session bus: %s\n", error->message); + exit (1); + } + + manager = dbus_g_proxy_new_for_name(connection, + "net.reactivated.Fprint", "/net/reactivated/Fprint/Manager", + "net.reactivated.Fprint.Manager"); +} + +static void delete_fingerprints(DBusGProxy *dev, const char *username) +{ + GError *error = NULL; + GHashTable *props; + DBusGProxy *p; + + p = dbus_g_proxy_new_from_proxy(dev, "org.freedesktop.DBus.Properties", NULL); + if (!dbus_g_proxy_call (p, "GetAll", &error, G_TYPE_STRING, "net.reactivated.Fprint.Device", G_TYPE_INVALID, + dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), &props, G_TYPE_INVALID)) { + g_print("GetAll on the Properties interface failed: %s\n", error->message); + exit (1); + } + + if (!net_reactivated_Fprint_Device_delete_enrolled_fingers(dev, username, &error)) { + if (dbus_g_error_has_name (error, "net.reactivated.Fprint.Error.NoEnrolledPrints") == FALSE) { + g_print("ListEnrolledFingers failed: %s\n", error->message); + exit (1); + } else { + g_print ("No fingerprints to delete on %s\n", g_value_get_string (g_hash_table_lookup (props, "name"))); + } + } else { + g_print ("Fingerprints deleted on %s\n", g_value_get_string (g_hash_table_lookup (props, "name"))); + } + g_hash_table_destroy (props); + g_object_unref (p); +} + +static void process_devices(char **argv) +{ + GError *error = NULL; + GPtrArray *devices; + char *path; + guint i; + + if (!net_reactivated_Fprint_Manager_get_devices(manager, &devices, &error)) { + g_print("list_devices failed: %s\n", error->message); + exit (1); + } + + if (devices->len == 0) { + g_print("No devices found\n"); + exit(1); + } + + g_print("found %d devices\n", devices->len); + for (i = 0; i < devices->len; i++) { + path = g_ptr_array_index(devices, i); + g_print("Device at %s\n", path); + } + + for (i = 0; i < devices->len; i++) { + guint j; + DBusGProxy *dev; + + path = g_ptr_array_index(devices, i); + g_print("Using device %s\n", path); + + /* FIXME use for_name_owner?? */ + dev = dbus_g_proxy_new_for_name(connection, "net.reactivated.Fprint", + path, "net.reactivated.Fprint.Device"); + + for (j = 1; argv[j] != NULL; j++) + delete_fingerprints (dev, argv[j]); + + g_object_unref (dev); + } + + g_ptr_array_foreach(devices, (GFunc) g_free, NULL); + g_ptr_array_free(devices, TRUE); +} + +int main(int argc, char **argv) +{ +#if !GLIB_CHECK_VERSION (2, 36, 0) + g_type_init(); +#endif + + create_manager(); + + if (argc < 2) { + g_print ("Usage: %s [usernames...]\n", argv[0]); + return 1; + } + + process_devices (argv); + + return 0; +} + diff --git a/utils/enroll.c b/utils/enroll.c new file mode 100644 index 0000000..370f7e3 --- /dev/null +++ b/utils/enroll.c @@ -0,0 +1,185 @@ +/* + * fprintd example to enroll right index finger + * Copyright (C) 2008 Daniel Drake + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include "manager-dbus-glue.h" +#include "device-dbus-glue.h" +#include "marshal.h" + +#define N_(x) x +#define TR(x) x +#include "fingerprint-strings.h" + +static DBusGProxy *manager = NULL; +static DBusGConnection *connection = NULL; +static char *finger_name = "right-index-finger"; +static char **usernames = NULL; + +static void create_manager(void) +{ + GError *error = NULL; + + connection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); + if (connection == NULL) { + g_print("Failed to connect to session bus: %s\n", error->message); + exit (1); + } + + manager = dbus_g_proxy_new_for_name(connection, + "net.reactivated.Fprint", "/net/reactivated/Fprint/Manager", + "net.reactivated.Fprint.Manager"); +} + +static DBusGProxy *open_device(const char *username) +{ + GError *error = NULL; + gchar *path; + DBusGProxy *dev; + + if (!net_reactivated_Fprint_Manager_get_default_device(manager, &path, &error)) { + g_print("list_devices failed: %s\n", error->message); + exit (1); + } + + if (path == NULL) { + g_print("No devices found\n"); + exit(1); + } + + g_print("Using device %s\n", path); + + /* FIXME use for_name_owner?? */ + dev = dbus_g_proxy_new_for_name(connection, "net.reactivated.Fprint", + path, "net.reactivated.Fprint.Device"); + + g_free (path); + + if (!net_reactivated_Fprint_Device_claim(dev, username, &error)) { + g_print("failed to claim device: %s\n", error->message); + exit (1); + } + return dev; +} + +static void enroll_result(GObject *object, const char *result, gboolean done, void *user_data) +{ + gboolean *enroll_completed = user_data; + g_print("Enroll result: %s\n", result); + if (done != FALSE) + *enroll_completed = TRUE; +} + +static void do_enroll(DBusGProxy *dev) +{ + GError *error = NULL; + gboolean enroll_completed = FALSE; + gboolean found; + guint i; + + dbus_g_proxy_add_signal(dev, "EnrollStatus", G_TYPE_STRING, G_TYPE_BOOLEAN, NULL); + dbus_g_proxy_connect_signal(dev, "EnrollStatus", G_CALLBACK(enroll_result), + &enroll_completed, NULL); + + found = FALSE; + for (i = 0; fingers[i].dbus_name != NULL; i++) { + if (g_strcmp0 (fingers[i].dbus_name, finger_name) == 0) { + found = TRUE; + break; + } + } + if (!found) { + GString *s; + + s = g_string_new (NULL); + g_string_append_printf (s, "Invalid finger name '%s'. Name must be one of ", finger_name); + for (i = 0; fingers[i].dbus_name != NULL; i++) { + g_string_append_printf (s, "%s", fingers[i].dbus_name); + if (fingers[i + 1].dbus_name != NULL) + g_string_append (s, ", "); + } + g_warning ("%s", s->str); + g_string_free (s, TRUE); + exit (1); + } + + g_print("Enrolling %s finger.\n", finger_name); + if (!net_reactivated_Fprint_Device_enroll_start(dev, finger_name, &error)) { + g_print("EnrollStart failed: %s\n", error->message); + exit (1); + } + + while (!enroll_completed) + g_main_context_iteration(NULL, TRUE); + + dbus_g_proxy_disconnect_signal(dev, "EnrollStatus", + G_CALLBACK(enroll_result), &enroll_completed); + + if (!net_reactivated_Fprint_Device_enroll_stop(dev, &error)) { + g_print("VerifyStop failed: %s\n", error->message); + exit(1); + } +} + +static void release_device(DBusGProxy *dev) +{ + GError *error = NULL; + if (!net_reactivated_Fprint_Device_release(dev, &error)) { + g_print("ReleaseDevice failed: %s\n", error->message); + exit (1); + } +} + +static const GOptionEntry entries[] = { + { "finger", 'f', 0, G_OPTION_ARG_STRING, &finger_name, "Finger selected to verify (default is automatic)", NULL }, + { G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &usernames, NULL, "[username]" }, + { NULL } +}; + +int main(int argc, char **argv) +{ + GOptionContext *context; + GError *err = NULL; + DBusGProxy *dev; + +#if !GLIB_CHECK_VERSION (2, 36, 0) + g_type_init(); +#endif + + dbus_g_object_register_marshaller (fprintd_marshal_VOID__STRING_BOOLEAN, + G_TYPE_NONE, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID); + + context = g_option_context_new ("Enroll a fingerprint"); + g_option_context_add_main_entries (context, entries, NULL); + + if (g_option_context_parse (context, &argc, &argv, &err) == FALSE) { + g_print ("couldn't parse command-line options: %s\n", err->message); + g_error_free (err); + return 1; + } + + create_manager(); + + dev = open_device(usernames ? usernames[0] : NULL); + do_enroll(dev); + release_device(dev); + return 0; +} + diff --git a/utils/list.c b/utils/list.c new file mode 100644 index 0000000..d969752 --- /dev/null +++ b/utils/list.c @@ -0,0 +1,148 @@ +/* + * fprintd example to list enrolled fingerprints + * Copyright (C) 2008 Daniel Drake + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include "manager-dbus-glue.h" +#include "device-dbus-glue.h" + +static DBusGProxy *manager = NULL; +static DBusGConnection *connection = NULL; + +static void create_manager(void) +{ + GError *error = NULL; + + connection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); + if (connection == NULL) { + g_print("Failed to connect to session bus: %s\n", error->message); + exit (1); + } + + manager = dbus_g_proxy_new_for_name(connection, + "net.reactivated.Fprint", "/net/reactivated/Fprint/Manager", + "net.reactivated.Fprint.Manager"); +} + +static void list_fingerprints(DBusGProxy *dev, const char *username) +{ + GError *error = NULL; + char **fingers; + GHashTable *props; + DBusGProxy *p; + guint i; + + if (!net_reactivated_Fprint_Device_list_enrolled_fingers(dev, username, &fingers, &error)) { + if (dbus_g_error_has_name (error, "net.reactivated.Fprint.Error.NoEnrolledPrints") == FALSE) { + g_print("ListEnrolledFingers failed: %s\n", error->message); + exit (1); + } else { + fingers = NULL; + } + } + + p = dbus_g_proxy_new_from_proxy(dev, "org.freedesktop.DBus.Properties", NULL); + if (!dbus_g_proxy_call (p, "GetAll", &error, G_TYPE_STRING, "net.reactivated.Fprint.Device", G_TYPE_INVALID, + dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), &props, G_TYPE_INVALID)) { + g_print("GetAll on the Properties interface failed: %s\n", error->message); + exit (1); + } + + if (fingers == NULL || g_strv_length (fingers) == 0) { + g_print("User %s has no fingers enrolled for %s.\n", username, g_value_get_string (g_hash_table_lookup (props, "name"))); + return; + } + + g_print("Fingerprints for user %s on %s (%s):\n", + username, + g_value_get_string (g_hash_table_lookup (props, "name")), + g_value_get_string (g_hash_table_lookup (props, "scan-type"))); + g_hash_table_destroy (props); + g_object_unref (p); + + for (i = 0; fingers[i] != NULL; i++) { + g_print(" - #%d: %s\n", i, fingers[i]); + } + + g_strfreev (fingers); +} + +static void process_devices(char **argv) +{ + GError *error = NULL; + GPtrArray *devices; + char *path; + guint i; + + if (!net_reactivated_Fprint_Manager_get_devices(manager, &devices, &error)) { + g_print("list_devices failed: %s\n", error->message); + exit (1); + } + + if (devices->len == 0) { + g_print("No devices found\n"); + exit(1); + } + + g_print("found %d devices\n", devices->len); + for (i = 0; i < devices->len; i++) { + path = g_ptr_array_index(devices, i); + g_print("Device at %s\n", path); + } + + for (i = 0; i < devices->len; i++) { + guint j; + DBusGProxy *dev; + + path = g_ptr_array_index(devices, i); + g_print("Using device %s\n", path); + + /* FIXME use for_name_owner?? */ + dev = dbus_g_proxy_new_for_name(connection, "net.reactivated.Fprint", + path, "net.reactivated.Fprint.Device"); + + for (j = 1; argv[j] != NULL; j++) + list_fingerprints (dev, argv[j]); + + g_object_unref (dev); + } + + g_ptr_array_foreach(devices, (GFunc) g_free, NULL); + g_ptr_array_free(devices, TRUE); +} + +int main(int argc, char **argv) +{ +#if !GLIB_CHECK_VERSION (2, 36, 0) + g_type_init(); +#endif + + create_manager(); + + if (argc < 2) { + g_print ("Usage: %s [usernames...]\n", argv[0]); + return 1; + } + + process_devices (argv); + + return 0; +} + diff --git a/utils/verify.c b/utils/verify.c new file mode 100644 index 0000000..c828c80 --- /dev/null +++ b/utils/verify.c @@ -0,0 +1,213 @@ +/* + * fprintd example to verify a fingerprint + * Copyright (C) 2008 Daniel Drake + * + * 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 2 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, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include "manager-dbus-glue.h" +#include "device-dbus-glue.h" +#include "marshal.h" + +static DBusGProxy *manager = NULL; +static DBusGConnection *connection = NULL; +static char *finger_name = NULL; +static gboolean g_fatal_warnings = FALSE; +static char **usernames = NULL; + +static void create_manager(void) +{ + GError *error = NULL; + + connection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error); + if (connection == NULL) { + g_print("Failed to connect to session bus: %s\n", error->message); + exit (1); + } + + manager = dbus_g_proxy_new_for_name(connection, + "net.reactivated.Fprint", "/net/reactivated/Fprint/Manager", + "net.reactivated.Fprint.Manager"); +} + +static DBusGProxy *open_device(const char *username) +{ + GError *error = NULL; + gchar *path; + DBusGProxy *dev; + + if (!net_reactivated_Fprint_Manager_get_default_device(manager, &path, &error)) { + g_print("list_devices failed: %s\n", error->message); + exit (1); + } + + if (path == NULL) { + g_print("No devices found\n"); + exit(1); + } + + g_print("Using device %s\n", path); + + /* FIXME use for_name_owner?? */ + dev = dbus_g_proxy_new_for_name(connection, "net.reactivated.Fprint", + path, "net.reactivated.Fprint.Device"); + + g_free (path); + + if (!net_reactivated_Fprint_Device_claim(dev, username, &error)) { + g_print("failed to claim device: %s\n", error->message); + exit (1); + } + + return dev; +} + +static void find_finger(DBusGProxy *dev, const char *username) +{ + GError *error = NULL; + char **fingers; + guint i; + + if (!net_reactivated_Fprint_Device_list_enrolled_fingers(dev, username, &fingers, &error)) { + g_print("ListEnrolledFingers failed: %s\n", error->message); + exit (1); + } + + if (fingers == NULL || g_strv_length (fingers) == 0) { + g_print("No fingers enrolled for this device.\n"); + exit(1); + } + + g_print("Listing enrolled fingers:\n"); + for (i = 0; fingers[i] != NULL; i++) { + g_print(" - #%d: %s\n", i, fingers[i]); + } + + if (finger_name == NULL || strcmp (finger_name, "any") == 0) { + g_free (finger_name); + finger_name = g_strdup (fingers[0]); + } + + g_strfreev (fingers); +} + +static void verify_result(GObject *object, const char *result, gboolean done, void *user_data) +{ + gboolean *verify_completed = user_data; + g_print("Verify result: %s (%s)\n", result, done ? "done" : "not done"); + if (done != FALSE) + *verify_completed = TRUE; +} + +static void verify_finger_selected(GObject *object, const char *name, void *user_data) +{ + g_print("Verifying: %s\n", name); +} + +static void do_verify(DBusGProxy *dev) +{ + GError *error = NULL; + gboolean verify_completed = FALSE; + + dbus_g_proxy_add_signal(dev, "VerifyStatus", G_TYPE_STRING, G_TYPE_BOOLEAN, NULL); + dbus_g_proxy_add_signal(dev, "VerifyFingerSelected", G_TYPE_INT, NULL); + dbus_g_proxy_connect_signal(dev, "VerifyStatus", G_CALLBACK(verify_result), + &verify_completed, NULL); + dbus_g_proxy_connect_signal(dev, "VerifyFingerSelected", G_CALLBACK(verify_finger_selected), + NULL, NULL); + + if (!net_reactivated_Fprint_Device_verify_start(dev, finger_name, &error)) { + g_print("VerifyStart failed: %s\n", error->message); + exit (1); + } + + while (!verify_completed) + g_main_context_iteration(NULL, TRUE); + + dbus_g_proxy_disconnect_signal(dev, "VerifyStatus", G_CALLBACK(verify_result), &verify_completed); + dbus_g_proxy_disconnect_signal(dev, "VerifyFingerSelected", G_CALLBACK(verify_finger_selected), NULL); + + if (!net_reactivated_Fprint_Device_verify_stop(dev, &error)) { + g_print("VerifyStop failed: %s\n", error->message); + exit (1); + } +} + +static void release_device(DBusGProxy *dev) +{ + GError *error = NULL; + if (!net_reactivated_Fprint_Device_release(dev, &error)) { + g_print("ReleaseDevice failed: %s\n", error->message); + exit (1); + } +} + +static const GOptionEntry entries[] = { + { "finger", 'f', 0, G_OPTION_ARG_STRING, &finger_name, "Finger selected to verify (default is automatic)", NULL }, + {"g-fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &g_fatal_warnings, "Make all warnings fatal", NULL}, + { G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &usernames, NULL, "[username]" }, + { NULL } +}; + +int main(int argc, char **argv) +{ + GOptionContext *context; + GError *err = NULL; + DBusGProxy *dev; + char *username; + +#if !GLIB_CHECK_VERSION (2, 36, 0) + g_type_init(); +#endif + + dbus_g_object_register_marshaller (fprintd_marshal_VOID__STRING_BOOLEAN, + G_TYPE_NONE, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID); + + context = g_option_context_new ("Verify a fingerprint"); + g_option_context_add_main_entries (context, entries, NULL); + + if (g_option_context_parse (context, &argc, &argv, &err) == FALSE) { + g_print ("couldn't parse command-line options: %s\n", err->message); + g_error_free (err); + return 1; + } + + if (usernames == NULL) { + username = ""; + } else { + username = usernames[0]; + } + + if (g_fatal_warnings) { + GLogLevelFlags fatal_mask; + + fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK); + fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL; + g_log_set_always_fatal (fatal_mask); + } + + create_manager(); + + dev = open_device(username); + find_finger(dev, username); + do_verify(dev); + release_device(dev); + return 0; +} +