456 Commits

Author SHA1 Message Date
da60bddb3e Release 1.90.9 2021-01-13 13:23:24 +01:00
506d99e90c tests: Check that two consecutive runs work 2021-01-11 12:59:06 +00:00
e7f47e28d7 tests: Add finger and connection sharing for virtual image
This allows testing some more conditions (e.g. forcing VerifyStop to run
into a cancellation).
2021-01-11 12:59:06 +00:00
938c1aac5a device: Add common stoppable_action_completed function
The stoppable actions (Verify/Enroll) have the same logic during
completion. Create a common function to share this logic instead of
copying it in each of the handlers.

Fixes: #97
2021-01-11 12:59:06 +00:00
fd02922608 pam: Pick the device with more enrolled finger prints
When multiple devices are available PAM module will just pick the first
one, even if it has not enrolled fingers.

Since this can't be user configured (yet) we can be a bit smarter and
select the device that has more fingerprints configured for the user.
2021-01-05 12:16:09 +00:00
195f7eaf5f tests/fprintd: Check that fingers deletion will remove user print
But will keep state dir where it is
2021-01-05 13:07:19 +01:00
48ea3b89c9 file_storage: Cleanup the user storage path when removing prints
Try to remove user and devices directories if they are empty.
2021-01-05 13:07:19 +01:00
4cfa6b5b37 file_storage: Remove debug leftovers and add actual debug statements 2021-01-05 13:07:19 +01:00
c685f0d34c file_storage: Don't return an error if the print doesn't exist
We may just try to remove something isn't there so it's not an actual
error from our POV.
2021-01-05 13:07:19 +01:00
eece834231 file_storage: Do not remove the finger path two times
Return the actual operation error instead
2021-01-05 13:07:19 +01:00
3faaa81257 file_storage: Do not ignore STATE_DIRECTORY if it's set to an actual path 2021-01-05 13:07:19 +01:00
b9cdb58a1a device: Load the current finger print and not always the first print
In the garbage collection code we always ended up to load the first
enrolled print, and this may lead to removing from device storage prints
that are actually in use.
2021-01-05 12:57:55 +01:00
ab8dcfaa61 treewide: fix typos 2021-01-04 11:04:13 +01:00
25a97c8276 tests: Add disconnect tests for enroll/verify/identify
We test both the scenario where VerifyStop/EnrollStop is not called
while the operation is still ongoing or when the operation is already
finished.
2021-01-04 11:00:18 +01:00
8057e49d31 tests: Allow claiming in secondary bus helper
This saves an extra step when creating tests that disconnect.
2021-01-04 11:00:18 +01:00
f75e800d5c tests: Allow enrolling from different device
This simplfies disconnect tests as we can do the enroll from the client
that will disconnect later on.
2021-01-04 11:00:18 +01:00
6ae4f5e939 tests: Add get_secondary_bus_and_device helper
It returns a new bus object and the device on that bus. This allows
testing what happens if a client disconnects from the bus.
2021-01-04 11:00:18 +01:00
7c9a04c2ae device: Fix race when client vanishes from bus
We have a condition where a client vanishing instead of cleaning up the
operation using VerifyStop would cause fprintd to hang. This only
happens if the underlying enroll/verify/identify operation has already
finished when the client vanishes.

Fix this by correctly interpreting current_cancellable as a flag for
these operations.

Fixes: #97
2021-01-04 11:00:18 +01:00
7b7aa6e99d device: Fix typos 2021-01-04 09:49:24 +08:00
b624f8c8c7 manager: Do not use unnecessary volatile qualifier on GQuark
As per new GLib in CI image fprintd doesn't build anymore, since
g_once_init_enter now warns about using a volatile value, as this has
never been supposed to be the case, despite its signature [1].

Related to: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719

[1] https://gitlab.gnome.org/GNOME/glib/-/issues/600
2020-12-19 22:34:12 +01:00
3e81179eca device: Add auto-cleanup function to unset the current action
This is useful in the functions where we have to unset the device's
current action but we may use early-return to handle multiple conditions
such as in open, close and delete functions.
The latest also currently is a bit buggy as it won't reset the state on
some failures.
2020-12-17 16:33:58 +01:00
c6647ba875 tests: Add test that enforces a verify/identify operation restart
In the usual test we cancel the operation immediately by calling
VerifyStop. This (often) tests the case where we don't end up restarting
the Verify operation internally.

We can easily force fprintd to have restarted already internally, so add
a test that does so by sleeping a bit. This should give us a slightly
higher branch coverage in the verify_cb/identify_cb tests.
2020-12-16 14:44:23 +01:00
988ee01f66 tests: Add retry test for PAM 2020-12-16 14:12:37 +01:00
32ee94c8a0 Add compatibility defines to allow compiling with older glib
We need at least the GFlagsClass autoptr, but just pull in most of the
definitions from libfprint.
2020-12-14 11:30:45 +01:00
7d22a2b5b9 Release 1.90.8 2020-12-11 16:00:28 +01:00
de725a91e4 verify: Print message about verification start from callback
It seems that GLib may process multiple DBus signals in one mainloop
iteration. This could cause messages to be re-ordered, which in turn
caused a race condition in the CI that could trigger random failures.
2020-12-11 16:00:28 +01:00
18392cba54 manager: Export the object manager in /net/reactivated/Fprint
Given we're going to use an object manager it can just stay at the root
of the project, while it will be just used to manage the devices
2020-12-11 15:30:26 +01:00
783d82f359 device: Expose method name when logging authorization steps 2020-12-11 14:03:37 +00:00
c00a3375d1 device: Use standard names for local errors and remove unused one 2020-12-11 14:03:37 +00:00
5aa61adabc build: make systemd dependency optional
The systemd dependency is only used to install some systemd service
files. This can easily be made optional.
2020-12-11 15:01:24 +01:00
1fc10f15ee pam: Stop authorization if we couldn't parse signals
This really should never ever happen. If it does, don't continue but
stop instead.
2020-12-11 10:34:51 +01:00
c24badfd68 pam: Move NameOwnerChanged registration after initialization
We must ignore NameOwnerChanged that happen due to automatic startup.
The easy way to do so is to just register it only when we get to the
point that a name owner change has security implications.

While add it, change it to always log at a warning level.

Fixes: #94
2020-12-11 10:34:51 +01:00
4612c1f3ed Release 1.90.7 2020-12-09 13:16:12 +01:00
ca216a32af test_pam_fprintd: Add test verifying the case in which we've no devices 2020-12-08 21:14:24 +01:00
944493e472 pam_fprintd: Protect usage of strdup for NULL values
It's not smart as g_strdup, so need to ensure we don't use it for NULL
strings.

This is a regression caused by commit bf223662
2020-12-08 21:14:01 +01:00
34f24cbe19 ci: Move build jobs to build phase 2020-12-07 18:42:24 +01:00
9314069a88 ci: Add check-source stage where we check syntax 2020-12-07 18:42:24 +01:00
66e21eac8f .git-blame-ignore-revs: Ignore formatting commit and add hint how to use it 2020-12-07 18:42:22 +01:00
f73429f062 fprintd: Reindent the source code following uncrustify rules 2020-12-07 18:41:45 +01:00
c18ebaf9da scripts: Add uncrustify scripts for reformatting fprintd source code
We follow libfprint here, using GNOME format
2020-12-07 18:41:45 +01:00
4a80bfacec fingerprint-strings: Make the finger_str_to_msg loop clearer
Just continue earlier instead of using a long if check
2020-12-07 18:41:45 +01:00
52058c1ea0 Release 1.90.6 2020-12-07 15:34:48 +01:00
22cdc0a7ea device: Always use FpFinger instead of a mixture of it and finger numbers
We already use FpFinger for storage operations and prints management,
but internally we keep still using the old finger number, that uses
different values for invalid data.

Let's be consistent, and always use FpFinger everywhere.
2020-12-07 15:27:14 +01:00
043fcaafec pam_fprintd: Guard against NULL pointer returned by finger_str_to_msg
Otherwise the PAM module will crash trying to send an info message about
the selected print.
2020-12-07 15:27:14 +01:00
bf2236620e pam_fprintd: Implement auto-pointers and use early-return more around
Implement simple auto-pointers for the types we use in pam_fprintd with
a basic implementation based on GLib one so that we can have the same
features without having neither an header-dependency on it.
2020-12-07 15:27:14 +01:00
0122d351f9 fprintd: Add tests for device properties values 2020-12-07 15:27:14 +01:00
4435706d20 tests: Add test that PAM gives up when daemon disappears 2020-12-07 15:27:14 +01:00
c5877bbc12 pam: Stop authentication with PAM_AUTHINFO_UNAVAIL on name owner change
If fprintd disappears or is replaced, then we might be getting signals
from another daemon/verifcation session.

As such we must give up at that point.

Related: #47
2020-12-07 15:27:14 +01:00
a170a3a09f tests: Check that PAM stops if the device could not be claimed 2020-12-07 15:27:14 +01:00
a76af6ce71 pam_fprintd: Clear the data value before setting it if set 2020-12-07 15:27:14 +01:00
34a24eac77 tests/pam: Ensure that we ignore verify events before VerifyStart has completed
We had a race that was causing the events to be handled even if we were
not ready to accept them, causing a potential non-authentication.

So simulate this case, by sending a 'verify-match' event before we
started the verification and ensure that we ignore it.
2020-12-07 15:27:14 +01:00
47751548b2 pam_fprintd: Ignore any verify signal if we didn't complete VerifyStart
In case fprintd is emitting a verify signal for another request that is
still going on while we're about to start a new verification, we'd just
accept such signal, so potentially allowing a log-in because another
concurrent request succeeded.

To avoid this, use async call to VerifyStart and open a verify window
(during which we accept the verification related signals) that is kept
open just once the VerifyStart call has been completed and before
stopping the verification again. As that's the only moment in which we
can be sure that we've control of the daemon events for such device.

Thanks to Benjamin to find out the race.

Fixes: #47
2020-12-07 15:27:14 +01:00
a30c45629e tests/pam: Ensure that we fail in case the user has no prints enrolled
This is both in case in we start the authentication and in the absurd
but (hey, testing!) situation in which prints gets deleted in between
the device claiming and the verification start.

To handle this second scenario we need to instruct fprintd mock to raise
an error on some special command
2020-12-07 15:27:14 +01:00
3242b99410 dbusmock/fprintd: Support more complex verify scripts
This now allows:
 * Sending signals before and after method return
 * Exiting the daemon
 * Emulating NoEnrolledPrints DBus method error

Co-authored-by: Benjamin Berg <bberg@redhat.com>
2020-12-07 15:27:14 +01:00
5ccb9ba0ec tests: Do not eat fprintd output in PAM test
It may be useful, just let it go to stdout/stderr.
2020-12-07 15:27:14 +01:00
f4eaacd0ec pam: Return a fixed string about protocol error if there is no message
This can only happen if fprintd is not adhering to the protocol.
2020-12-07 15:27:14 +01:00
34b21fa917 tests: Port test to use the OutputChecker 2020-12-07 15:27:14 +01:00
2d98d4543f verify: Add print about start for tests
This allows properly reading the output only to the point where we can
ensure that verification has started.
2020-12-07 15:27:14 +01:00
8c46fddd03 verify: Fix verify script to work correctly
The verify script would start an async routine. However, this blocks the
dbus return, which really is needed.

Also, we should only return one item of the script for each VerifyStart
run. So, fix things by pop'ing the first item and putting it on the bus
from a GLib.add_timeout handler.
2020-12-07 15:27:14 +01:00
3a00643d5b tests: Add OutputChecker class to improve test code 2020-12-07 15:27:14 +01:00
eb73e024e1 utils: Fix race in verify accepting unrelated signals
Signals like VerifyResult may be received from unrelated Verify
operations. To avoid races, we need to ignore any VerifyResult that
happenes before the DBus method returns.

The only way to do this race-free is to use the async version of the
VerifyStart method.
2020-12-07 15:27:14 +01:00
a4b06c2219 device: Emit VerifyFingerSelected after the method returned
In order to be race free, clients need to ignore all signals until after
the DBus method to start verification has returned. So the signal must
be emitted later than it currently is.
2020-12-07 15:27:14 +01:00
5ccaa094a0 build: Generate fprintd dbus sources using interactive flags
Since we can't depend on newer GLib yet, we patch the generated sources
to generate some new ones with fixed flags.
2020-12-07 15:14:07 +01:00
fc7e4d0e5c device: Do not require authentication for release/stop
If someone has started an operation, then we don't really need to
confirm they are permitted to stop it again. Not doing this has the
advantage that we cannot run into a second interactive authorization
step accidentally.
2020-12-07 15:14:07 +01:00
583cd870d8 device: Use a common error function if an action is ongoing
There is no need to dupliate the code. Just create one function that
sets an error and returns FALSE if action is not ACTION_NONE.
2020-12-07 12:02:32 +01:00
2ca2d5e62c device: Use a switch to check current action so we can be more selective
For example we were allowing to verify stop while doing other actions
different from enrolling (such as delete or open/close).
2020-12-07 12:02:32 +01:00
c5c81a2ea8 device: Add ACTION_DELETE to prevent concurrent operations
Delete needs to operate on the device, so no other actions are permitted
at the same time. And using the libfprint _sync methods does not
guard against reentrance.
2020-12-07 12:02:32 +01:00
c0ad5880a4 tests: Call VerifyStop in enroll_verify_list_delete test
The test didn't call this and the device would be left in an
inconsistent state, causing an error at shutdown time.
2020-12-07 12:02:32 +01:00
2dc3a4e2c5 device: Use more standard naming for local errors 2020-12-07 12:00:58 +01:00
3b0d93bcc2 tests: Add more authorization tests 2020-12-07 12:00:58 +01:00
eac171ab0f device: Add separate state for delete which will claim internally
Also rename the different claim states to make them a bit more
understandable.
2020-12-07 12:00:58 +01:00
7533f63a06 device: Move permissions checks per DBus invocation in a single function
This way we can avoid repeating the same checks multiple times, and
we have a single point where we check the permissions needed for method
invocation.
2020-12-07 11:59:42 +01:00
a38917ab26 fprintd: Re-order permissions table by priority and add docs
Given that we could do operations where at least one permission, is
requested, we should give more priority to the weaker ones that are
acceptable and in case raise the level at later points.
2020-12-05 01:01:36 +01:00
a92b8e5f60 device: Always return FALSE if setting an error in Check claimed
We may have a case where the sender matches with the
session's sender but have a session invocation already set.

In such case we set an error, but still return TRUE.
2020-12-05 01:01:36 +01:00
29f34cf23c tests/fprintd: Do not hang if we error on name appeared callback
But instead only wait for name to appear and do the tests in the main
function so that we can properly check the exception and depending on
its type skip the test or raise it so that it can be caught by the test
suite
2020-12-04 22:56:37 +01:00
a10f0dc22d net.reactivated.Fprint: Allow actual fprind interfaces to be used
We allowed a non-existant net.reactivated.Fprint interface, while our
interfaces are Manager and Device.

Allow them to be used.
2020-12-03 17:54:21 +01:00
267b322f6d Release 1.90.5 2020-12-01 14:22:55 +01:00
3b83240e57 tests: Fix detection of non-functional file permissions
If we rely on CI_PROJECT_NAME being set, then the test will fail in
similar environments outside of the fprintd main CI. So just add a
os.stat call afterwards to check whether the permission changes took
effect, and if not, then skip.

So, instead try to create a file and check that this fails.
2020-12-01 14:22:55 +01:00
897cbd341e tests: Skip flaky test_enroll_verify_list_delete test with old libfprint
The test can hang forever unless a fixed libfprint version is used.
2020-12-01 12:46:17 +01:00
9d0305ea05 tests: Use system utils outside of the test environment
The code to pick up the utilities from the test environment would fail
if the environment variables are not set. In that case, we can just use
the binary name and rely on PATH though.
2020-12-01 11:41:11 +01:00
3dbfdabe01 tests: Translate skips into error code 77
This makes the meson output nicer, as it will correctly display that the
test has been skipped. It only happens if all tests in the run were
skipped, but meson always does one test a time.
2020-12-01 10:04:11 +01:00
45cf63d589 tests: Skip hotplug test if "removed" property does not exist
The test requires libfprint 1.90.4 to work, otherwise it will just hang
forever.
2020-12-01 10:04:11 +01:00
29ed88a50a meson: Use warning_level feature of meson
This is nicer than adding -Wall and gives users more control.

Add -Wno-unused-parameter for now as there are lot of places where
this would need to be changed and it is reasonable in most cases.

Add -Wno-pedantic because it conflicts with
g_signal_handlers_disconnect_*
2020-12-01 09:00:55 +00:00
e301779c20 Fix integer signedness mismatches 2020-12-01 09:00:55 +00:00
be5d283a3e device: Remove unused code
The code was left over when adding the function to create the session data.
2020-12-01 09:00:55 +00:00
ebfcbdd13e pam: Use %d with errno instead of %m
Otherwise GCC warns sometimes, and it is easy enough to replace the use
of %m.
2020-12-01 09:00:55 +00:00
ec7376d7e6 meson: Fix CFLAGS use by using add_project_arguments
It seems that meson will not always apply the CFLAGS as defined through
the environment if "c_args=" is used in the default_options array for
the project() call.

Switching to add_project_arguments solves this problem.

See https://github.com/mesonbuild/meson/issues/8037
2020-12-01 09:00:55 +00:00
df568e1ce1 net.reactivated.Fprint: Explicitly allow basic D-Bus APIs 2020-11-28 20:29:57 +00:00
7ee61393ec net.reactivated.Fprint: Only allow clients to send messages with fprintd iface to us
In the way the rule is currently set it would allow clients to send
messages with the fprintd interface to any other service, while we only
allow them to be redirected to fprintd itself.

This was causing a debian linter failure [1].

[1] https://lintian.debian.org/tags/dbus-policy-without-send-destination.html
2020-11-28 20:29:57 +00:00
57ca0dc95e tests/pam: Don't run PAM tests in parallel
Given they could re-use the same pam-wrapper temporary dir, it's better
to avoid running them concurrently.
2020-11-27 19:30:08 +01:00
85ba309e9d tests: Remove pam-wrapper temporary folder on test completion
PAM wrapper creates /tmp/pam.X files during its execution (strictly as
it does not follow $TMPDIR either), however given the low number of
combinations, we may end up in re-using the same pam.* folder during
meson test, causing a failure.

As per this, remove these temporary files on tearDown so that we won't
try reusing the same folder multiple times.
2020-11-27 19:12:06 +01:00
3f2174676e device: Re-define polkit auto-pointer funcs if not defined
In case we're using an old polkit version that does not support
auto-pointers, we need to re-define such functions manually or fprintd
won't compile.

Given that polkit doesn't provide us version informations in headers we
need to get that from pkg-config
2020-11-27 18:21:29 +01:00
5e18d46971 Revert "meson: Bump polkit dependency to 0.114"
We only depend on newer polkit for auto-pointers usage, so it's not
worth to bump its dependency just for them

This reverts commit a8bd2bc25e.
2020-11-27 18:18:51 +01:00
a8bd2bc25e meson: Bump polkit dependency to 0.114
It's the first one supporting auto-pointers
2020-11-27 17:53:58 +01:00
88a627f187 Release 1.90.4 2020-11-27 14:26:12 +01:00
a8818f9bfb device: Do not disconnect g-authorize-method handler
Disconnecting the g-authorize-method handler is not really needed, as it
is a signal from the same object. This basically reverts 6eb9f263fd
(device: Disconnect authorization callback and remove clients) but keeps
the code to clear known clients in the dispose handler.

Closes: #91
2020-11-27 14:23:41 +01:00
c5a3089f89 device: Remove some debug spew
Closes: #89
2020-11-25 19:09:02 +01:00
5de1261df6 device: Re-fetch session data after synchronous operation
As the mainloop is iterated, the session-data may be modified while the
client vanished handler is running. Re-fetch the session data to avoid
seeing an old state and closing the device a second time.

See: https://gitlab.freedesktop.org/libfprint/fprintd/-/issues/87#note_706357
2020-11-25 19:09:02 +01:00
e5c82d7b96 device: Throw a critical warning if the device was not cleaned up
On finalization, the device should always be cleaned up properly (no
data associated with an action may be left). Show a critical warning if
this is not the case, as it indicates a programming error.
2020-11-25 19:09:02 +01:00
9c842e2c2f manager: Fix leak of FprintDevice reference
When adding a device a reference was leaked.
2020-11-25 19:09:02 +01:00
ec5cce083c device: Fix leaks on device finalization 2020-11-25 19:09:02 +01:00
ab8118bde2 tests: Add device removal test 2020-11-25 19:09:00 +01:00
08fb209aed manager: Fix unexport of removed devices
The correct way to unexport the object again is to unexported it on the
manager rather than on the interface skeleton. This fixes notifications
about device removal on DBus.
2020-11-25 19:08:20 +01:00
6eb9f263fd device: Disconnect authorization callback and remove clients
Add a dispose function to disconnect the authorization callback and
remove all clients (i.e. unwatch their bus names) before destroying the
hash table.
2020-11-25 19:08:20 +01:00
74d05e7996 device: Destroy auth object in finalize 2020-11-25 19:08:20 +01:00
83cd09ba2f device: Unwatch names when removing them
If a device is unplugged/destroyed while a client is using it, then we
would still end up watching the name. The vanish notification will then
access the destroyed FprintDevice object.

Fix this by unwatching the bus name when removing the client entry from
the dictionary.
2020-11-25 19:08:20 +01:00
8ed77829a7 tests: Add test for a client vanishing during claim
Note that this test only works if the virtual_image driver opens up a
window for race condition by delaying the open callback.
2020-11-25 19:05:47 +01:00
b63c76319f device: Make possible client vanished race testable using critical
The tests cannot currently parse the logs of fprintd. This means we need
to rely on fprintd aborting when a condition is hit that needs to be
tested.

This makes certain possible races when clients vanish testable.
2020-11-25 19:05:46 +01:00
fd9a86eca4 tests: Fail test if return code is less than 0
This means that the application received a signal.
2020-11-25 19:04:44 +01:00
38ba7199b7 utils: Use auto-pointers 2020-11-13 13:32:51 +01:00
827baff301 enroll: Cleanup error with autoptr 2020-11-13 13:32:51 +01:00
6a5d46c8b0 file_storage: Use autopointers 2020-11-13 13:32:51 +01:00
1ae0f4926d device: Always use auto-pointers
Remove manual memory management when possible, using new GLib facilities

In a few cases, avoid creating a temporary GError instead.
2020-11-13 13:32:31 +01:00
e1c2698807 main: Use more auto-pointers 2020-11-11 11:40:51 +01:00
b14bfd8226 device: Implement lock-free session getting scheme
Add a scheme that allows getting and referencing the current session
data while also adding a reference at the same time. This allows getting
the session and using the constant attributes from outside the main
thread without worrying about it being destroyed.

Implement the getter/setter in a safe way by marking the pointer as
invalid while we get the reference.
2020-11-11 11:35:13 +01:00
1e2f360ade device: Fix possible race condition when checking claimed state
We already check the claimed state in advance during authorization. This
makes sense, as we can avoid authorization if the API has been used
incorrectly. However, as the mainloop is running and handling other
request the claimed state might change at any point until the method
handler is actually running.

As such, check the claimed state again in each method. Doing so fixes
the possible race condition.
2020-11-10 14:45:59 +01:00
778a8540aa device.policy: Use auth-self-keep for enrollment
When user is requested for enrolling, we should ask for password as
anyone who has physical access to the machine could otherwise enroll
its own fingers, and have access to it.

Fixes #5
2020-11-10 14:45:59 +01:00
4e707f0d31 manager: Use GEnum to register DBus errors from FprintError
Given that mk_genenum already parses FprintError, add the nick metadata
to the errors so that it matches the wanted DBus error and automatically
generate the errors list.

In this way we'll have to only touch one definition to get everything
updated
2020-11-10 14:45:59 +01:00
4c78012103 device: Use meson to generate fprint device permission flags 2020-11-10 14:45:59 +01:00
e59f3cbc4f device: Use GFlags to handle permission types easily as flags
And thanks to the GEnumValues we can easily get their nick string from
them that we can pass to Polkit
2020-11-10 14:45:59 +01:00
1a860aa882 tests/fprintd: Add tests ensuring that concurrent calls to fprintd work
Simulate the case in which multiple users are trying to access a device
at the same time, verifying that the access is granted only to the one
that first completes the authorization phase and that no other client is
then allowed.
2020-11-10 14:45:59 +01:00
a183b779ec tests/fprintd: Make easier to call device methods asynchronously 2020-11-10 14:45:59 +01:00
9d6c7eb1a9 dbusmock/polkitd: Add ability to simulate call hangs or delays
Added various methods that allow to make methods to delay to return a
value, both by using timing functions and using a way to manually
stop and restart the calls.

This is mostly done using async callbacks in dbus methods
2020-11-10 14:45:59 +01:00
110c0018a2 tests/fprintd: Make possible to call gdbus client as an async process
As per this refactor the sync call we already had so that reuses the
same code.
2020-11-10 14:45:59 +01:00
5611317c72 tests: Add standalone PolkitD implementation
We need to be able to hack this to be an async daemon to perform some
multi-thread tests, so replacing default implementation with a simple
one that for now just does same of default
2020-11-10 14:45:59 +01:00
0904c8a527 tests/fprintd: Ensure we can claim and release with only the verify permission 2020-11-10 14:45:59 +01:00
a681996d1d device: Check Polkit actions asynchronously using skeleton authorize method
GDBus generated interface skeletons support natively an authorization
method that allows to filter calls before we get into the method
callback and that gets called into the call thread, before we go back
to main thread.

As per this, we can move all the polkit and other authorization checks
into this callback so that method handlers are now just assuming they're
the right to perform the requested operation.

As per the fact we'll share some data between another thread and the
callbacks, we will need to introduce some locking mechanism to ensure
safe data access.

This might be reduced by moving the claiming checks back to the method,
but would lead errors to be handled in different ordering, and so the
user to be requested for a password, and then - in case fail.
This can still happen now, but only if there are concurrent requests.
2020-11-10 14:45:59 +01:00
4e7cf47a3d device: Get sender from invocation instead that during username check
We now can get an invocation-owned sender at any moment with GDBus, so
there's no point of getting it as optional return-out value from the
username check function.
2020-11-10 14:45:59 +01:00
9d3f3fcaca device: Use some #define's for polkit supported actions
Avoid repeating the same strings everywhere that might just lead to
errors, use define's instead.
2020-11-10 14:45:59 +01:00
30474a6546 manager: Add GDBus object manager
This is not used right now in all its full possibilities, but will make
devices hotplug support easier to implement and handle at client-side
level.

As per this we can stop doing the manual tracking of the devices.
2020-11-10 14:45:59 +01:00
93bad82540 fprintd: Use GDBus codegen based implementation
Fprintd is dependent on the deprecated dbus-glib, also this doesn't provide
various features we can take advantage of, like the ones for async
authentication mechanism.

So, remove all the dbus-glib dependencies and simplify the code, but without
any further refactor, and keeping everything as it used to work, while this
will give room for further improvements in subsequent commits.

Internally, we just use dbus-codegen to generate the skeletons, and we
use the generated FprintdDBusManager with composition, while we
implement the device skeleton interface in FprintDevice, so that we
don't have to use it as a proxy, and keep being closer to what it used
to be with dbus-glib.

Fixes: #61
2020-11-10 14:45:59 +01:00
e224913b80 Revert "data: Add additional fprintd lockdown"
The current lockdown rules prevent USB devices from being accessed and
cause threading to not work.
As such, revert them until it is clear on how/if we can apply these
measures. It is primarily not clear on how to prevent fork/clone as
fprintd does not need those.

This reverts commit 2fd86624e5.

See: #82
2020-11-10 12:27:38 +00:00
b2cae5cccf tests/fprintd: Check that identification with multiple images works 2020-11-06 11:06:25 +01:00
3419901f65 build: Don't add the utils tests under the daemon suite 2020-11-04 21:06:13 +01:00
c85ca09e35 tests/fprintd-utils: Ensure that we exit with error if we have no device 2020-11-04 21:06:13 +01:00
ecc02cb588 utils: Uniform the no-devices error messages removing duplicated checks
Use error messages to be consistent, and avoid checking for a returned
value when dbus-glib function to fetch it returned false, as it's
implicit that we had a failure.

Otherwise if didn't fail we are sure that we got the requested value.
2020-11-04 21:06:13 +01:00
091f373109 tests/fprintd-utils: Check the tools return values in some tests 2020-11-04 21:06:13 +01:00
f6eb3b3ea5 verify: Pass the "any" finger parameter to the daemon
fprintd supports "any" finger parameter for the VerifyStart call, and it's
up to the daemon to pick the first known if the device doesn't support
identification.

So remove the check to verify utility and add a test to verify this is
respected.
2020-11-04 21:06:13 +01:00
d7ca9e6095 tests/fprintd-utils: Verify happens on first finger if device has no identification
Ensure that this is true when using the utility
2020-11-04 21:06:13 +01:00
6797928884 dbusmock/fprintd: Add ability to add a device with Identification support
Devices which have identification support "any" finger and do not fallback
to a single-finger check.
2020-11-04 21:06:13 +01:00
d6c70be822 dbusmock/fprintd: Add ability to remove devices 2020-11-04 21:06:13 +01:00
d33a7c7e9d tests/fprintd-utils: Check that all fingers are listed 2020-11-04 21:06:13 +01:00
94d3a18dcd tests/fprintd-utils: Check that verify returns an error if no finger is set 2020-11-04 21:06:13 +01:00
5635383c96 tests/fprintd-utils: Check that fprintd-verify requests the expected finger 2020-11-04 21:06:13 +01:00
ac98b881be dbusmock/fprintd: Make possible to retrieve the finger selected for verification
So that we can ensure that the client requested the one we expect
2020-11-04 21:06:13 +01:00
629f7fcc11 dbusmock/fprintd: Reset the current action on release
So it happens in the real daemon
2020-11-04 21:06:13 +01:00
5a703baa20 verify: Fail if we try to verify a non-enrolled finger
Since we list the fingers available fail early in case it's not found
2020-11-04 21:06:10 +01:00
6641cb6da8 tests/fprintd-utils: Verify that we can match all the enrolled fingers 2020-11-04 21:04:21 +01:00
870b48637a tests/fprintd-utils: Verify errors if the device is already claimed 2020-11-04 21:04:21 +01:00
4b0cde81fd tests/fprintd-utils: Add utility function to stop the utility process
This avoids addCleanup ordering errors and also errors when we may try to
print an invalid stdout pipe (like when we have processed it all), as python
might fail with something like:

 ======================================================================
 ERROR: test_fprintd_multiple_verify_fails (__main__.TestFprintdUtilsVerify)
 ----------------------------------------------------------------------
 Traceback (most recent call last):
   File "~/GNOME/fprintd/tests/test_fprintd_utils.py", line 102, in <lambda>
     self.addCleanup(lambda: print(process.stdout.read()))
   File "/usr/lib/python3.8/codecs.py", line 321, in decode
     data = self.buffer + input
 TypeError: can't concat NoneType to bytes
2020-11-04 21:04:21 +01:00
59b3d2af8d tests/fprintd-utils: Call addCleanup actions in reverse order
unittest addCleanup calls are called in reverse order, so we need to reverse
the order of the calls as well, otherwise we won't correctly terminate the
subprocess children
2020-11-04 21:04:21 +01:00
93bcac946e tests/fprintd-utils: Move verification tests to a single class
We can factorize various checks, so let's simplify test code
2020-11-04 21:04:19 +01:00
a5063dc0e4 tests/fprintd-utils: Setup the device on setUp()
No need to repeat the action in every unit test, but move the tests to a
different class to easily allow adding another class with tests with no
such initialization
2020-11-04 20:20:29 +01:00
5fbc38c938 tests/fprintd-utils: Run super setUp/tearDown functions 2020-11-04 20:04:21 +01:00
c42e627ddd pam: Always return translated string from helper
This means that the different functions in the header match as all
functions will return the translted string instead of only one of them.
2020-10-13 09:29:44 +00:00
2fd86624e5 data: Add additional fprintd lockdown 2020-10-13 09:28:39 +00:00
6dc699ae6f tests: Fix test not failing on error
An assertion that is raised within a callback will not be swallowed by
the C code that called the function. To ensure that errors will be
noticable, pass the result back to the surrounding scope and check it
there.
2020-10-02 17:54:20 +02:00
e075d37590 tests: Check that a verify operation can be immediately restarted
This excercises the path where we early-report a result and the
VerifyStop call must wait for the operation to complete intenernally.

Note that this test cannot fail right now due to the FpImageDevice
internal code still trying to hide the deactivation delay internally.

See libfprint!174
2020-10-01 12:19:35 +00:00
18d6a86e9d device: Use early match for reporting verify status
libfprint 1.90.1 supports early match result report which allows to inform
the clients as soon as the driver detected a match/no-match without having
to wait the whole device driver deactivation.

Use this feature in fprintd, by emitting the "VerifyStatus" signal as soon
as we've an usable result we can inform the client about.

As per this, ignore any possible error we may get afterwards, due to device
issues or late user cancellation, as the point of the verification action
(i.e. getting a match/no-match) can be considered accomplished.

Fixes https://gitlab.freedesktop.org/libfprint/fprintd/issues/35
2020-10-01 12:19:35 +00:00
14051cac76 device: Fix race condition when clients vanish
If a client vanishes while we are opening or closing then fprintd would
uncoditionally try to close the device immediately. This should not be
done, it instead needs to wait for the open/close to complete.

Add open/close to the current action enum and keep track of the fact
that they are ongoing. Also check, whether the device has been closed in
the meantime (after the nested mainloop is done).

Fixes: #65
2020-10-01 10:39:05 +00:00
4e47222962 Revert "ci: Work-around meson coverage bug"
This reverts commit c07a63da99.
2020-08-18 12:07:59 +02:00
c07a63da99 ci: Work-around meson coverage bug
See https://github.com/mesonbuild/meson/issues/7437
2020-08-17 16:41:07 +02:00
812a3552a6 build: Fix custom_target meson warning
WARNING: custom_target 'utils_marshal' has more than one output! Using the first one.
2020-08-17 16:14:25 +02:00
ff06a301f0 build: Bump libfprint req 2020-08-17 15:21:27 +02:00
19353c971c build: Add some linefeeds to generated XML files 2020-08-17 15:21:27 +02:00
290e56023f tests: Test more branches in pam verify signal handler 2020-08-17 15:11:08 +02:00
efe92a7c33 pam: Increase severity to error for unknown verify results 2020-05-27 14:15:15 +02:00
a7cf0ae3b2 pam: Fix double free after verification error
The data->result was free'ed both in the loop (before breaking) and
afterwards. As the first case did not set the pointer to NULL, this
could result in a double free.

Fix this by simply removing the free that is in the loop and relying on
the cleanup later on.
2020-05-27 13:38:37 +02:00
ba60533f71 device: Remove unused disconnected flag
We were saving the state of a disconnected device because we used a
workaround to figure it out, but now libfprint would provide us a proper
GError in such case, and so we'd handle it without the need of saving the
state, given it's never used anyways.
2020-05-11 15:11:53 +00:00
fcd2d65490 tests: Add PAM test for hardware failure
This error is supposed to help replicate the problems encountered in:
https://gitlab.freedesktop.org/libfprint/fprintd/-/issues/59
2020-04-07 10:47:35 +02:00
6dd010f05c ci: Add a job running tests built with address sanitizer 2020-04-01 13:58:08 +00:00
714f499ab6 tests: Double the timeouts when testing with address sanitizer 2020-04-01 13:58:08 +00:00
d72c802415 tests/fprintd: Ensure that the daemon doesn't crash or abort
An application terminating because of a signal like SIGSEGV, SIGABRT and
friends, will exit with a signal number that is 128 + $SIGNAL_NUMBER, so
let's ensure that the daemon has not been terminated because of a such error

This makes even more sense with address sanitizer builds, as the daemon
would exit with abort.
2020-04-01 13:58:08 +00:00
184e1bd4d0 build: Support running tests with address sanitizer
Make possible to run tests with address sanitizer to quickly check for
memory errors, although we have to disable the error exit code in case of
leaks because we have some which are due to something else down in the stack
(and LSAN suppression files doesn't allow to define the stack to ignore
as we can in valgrind).

However, we'd abort in case of memory errors anyways, so this still helps
to prevent major problems, while still logging the leaks.

In order to run pam module tests with ASAN we need to manually pass the
library to LD_PRELOAD, as we do for the wrapper.
2020-04-01 13:58:08 +00:00
f401f399a8 pam: Get preloaded libraries paths using compiler
In order to run pam module tests we need to pass the libraries via
LD_PRELOAD, this supports a list of library paths, so use the compiler in
order to find their full paths (with soname) and check their presence.

In order to support linker scripts we need to introduce a workaround.
See meson issue https://github.com/mesonbuild/meson/issues/6880
2020-04-01 13:58:08 +00:00
3dd0018f23 build: Set default CFLAGS using meson's c_args
Meson supports checking for default arguments natively without having to
do this for each one, so just use this feature.

Not doing this will become a warning as per meson 0.52.0 [1].

[1] https://github.com/mesonbuild/meson/pull/5627
2020-03-31 14:26:38 +02:00
90298134a2 tests/fprintd: Add checks for delete enrolled fingers permissions
The test doesn't need any assertion because we're calling DeleteEnrolledFingers
and in case it fails a net.reactivated.Fprint.Error.PermissionDenied error
would be thrown, and thus an exception would be raised at python level, making
the test to fail.
2020-03-27 20:45:59 +01:00
8ff4360750 tests: Add test for STATE_DIRECTORY being multiple paths 2020-03-27 17:05:13 +01:00
fd733e55be file_storage: Handle STATE_DIRECTORY containing multiple paths
As per systemd's documentation:
If multiple directories are set, then in the environment variable the
paths are concatenated with colon (":").

Handle that case by splitting the paths if there's a ":" in the
variable.

Closes: #50
2020-03-27 17:05:06 +01:00
6a1fffae82 tests/fprintd: Fix claim_from_other_client_is_released_when_vanished on CI
test_claim_from_other_client_is_released_when_vanished would fail on
the CI but work on a local system because we wouldn't want long enough
for the "vanished" code path to be taken into account. Add a small
timeout to make sure it works on the CI as well.
2020-03-27 16:57:16 +01:00
47bd3f7fbb tests/fprintd: Fix test_enroll_invalid_storage_dir test
enroll_image() was always waiting for enroll-completed rather than for
what the caller expected as the result.

======================================================================
FAIL: test_enroll_invalid_storage_dir (__main__.FPrintdVirtualDeviceClaimedTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/hadess/Projects/jhbuild/fprintd/tests/fprintd.py", line 661, in test_enroll_invalid_storage_dir
    self.enroll_image('whorl', expected_result='enroll-failed')
  File "/home/hadess/Projects/jhbuild/fprintd/tests/fprintd.py", line 384, in enroll_image
    self.wait_for_result('enroll-completed')
  File "/home/hadess/Projects/jhbuild/fprintd/tests/fprintd.py", line 373, in wait_for_result
    self.assertEqual(self._last_result, expected)
AssertionError: 'enroll-failed' != 'enroll-completed'
- enroll-failed
+ enroll-completed
2020-03-27 16:26:28 +01:00
4f3589c0dc build: List single unit python tests allowing to run them separately
We run a certain number of tests right now, without being able to easily
run them separated or to check which one failed.

So add a script to inspect all the available unittests per each python
script and use it to figure out the tests we can run in meson.

As per this, define a global 'python_tests' variable in meson that allows
to register new python tests easily without having to repeat the settings
for all the tests.

For each test we have, we check if we can fetch a list of unit tests, and
if possible we create a meson test for each one.
Otherwise we just fallback to normal behavior.

This is something that can be hopefully implemented into upstream meson [1].

[1] https://github.com/mesonbuild/meson/issues/6851
2020-03-27 02:29:57 +01:00
eccd790df7 tests/fprintd: Add missing implementation of list_tests
Use unittest_inspector that we provide for meson tests inspection as well
2020-03-27 02:01:14 +01:00
bc29114a2c tests: Add a tool to inspect the single python unit tests
The unit tests files are provided as python files, adding a tool that
allows to list them in order to be able to run them easily via

  python3 -m unittest module.Class.test_method
2020-03-27 01:57:22 +01:00
cf95187268 ci: Update CI after the fdo template changes
The CI definition needs to be updated to work with the new fdo
templates.

Adapted from bd4f118b5e
2020-03-24 15:50:57 +01:00
23c37cd9b5 Revert "ci: Fix CI syntax error"
This reverts commit 01ea517a97.
2020-03-24 15:49:30 +01:00
967e4f24ed Revert "ci: Fix unknown keys in CI"
This reverts commit 10a3e75937.
2020-03-24 15:49:22 +01:00
d7fec03f24 tests/fprintd: Increase allowed timeout
On my laptop it takes 48 seconds to run.
2020-03-23 12:22:53 -04:00
4a3ae5ccaf tests/fprintd: Allow tests to run even when virtual device is not available
The test file calls self.daemon_start() in order to start fprintd and
locate the virtual image device that's needed for the test to run.
However, since the virtual image driver is not available on all
libfprint installations, the test should be skipped if the driver is not
available.

The skipping mechanism used to work, by checking if self.device is None.
This is based on the assumption that self.device would be set to None in
cases where the driver is not available. However, even in the past
self.device is only set to None in the tearDown method and not in setUp,
so presumably in edge cases it didn't entirely work.

However, since 0fb4f3b021 which
consistently removes the self.device attribute rather than setting it to
None, the "self.device is None" check no longer works. In particular,
the following error message is shown:

    test_manager_get_default_device (__main__.FPrintdManagerTests) ...
    Did not find virtual device! Probably libfprint was build without
    the corresponding driver!
    ERROR

After this patch, the following is shown:

    test_manager_get_default_device (__main__.FPrintdManagerTests) ...
    Did not find virtual device! Probably libfprint was build without
    the corresponding driver!
    skipped 'Need virtual_image device to run the test'

We fix this bug by consistently setting self.device to None, in both the
setUp method before daemon_start gets called, and in tearDown. We also
make the same change to self.manager for consistency.

The issue was not caught on CI, as the CI configuration always installs
a libfprint version that has the virtual_image device explicitly enabled
in the preparation phase.
2020-03-23 12:22:20 -04:00
e828ea3b2d main: Add missing locale.h include
The include is present in all other binaries in utils/.
2020-03-19 23:33:58 -04:00
d27872ff86 test_fprintd_utils: Don't use hard-coded sleep time
Make sleep time on verification dependent on the environment, so that it's
different when under valgrind
2020-03-17 17:14:35 +01:00
cfbded36e1 test_fprintd_utils: Use a non-blocking pipe to read output
Avoid using a temporary file for reading the utilities output, so we can
read it as it comes, ignoring the previous one, and avoiding open/closing
the file.

To keep the output printing on cleanup working, adding an utility function
that reads the output and save it for later printing
2020-03-17 17:14:35 +01:00
072fbc2b46 tests_fprintd_utils: Print the process output when done
This is particularly useful when using valgrind or address sanitizer to read
the output log
2020-03-17 17:14:35 +01:00
7846359b65 test_fprintd_utils: De-duplicate utilities launching
Avoid repeating the same operation to launch the utilities all the times,
but provide instead a function that allows to start a process and saves its
output without having to handle this in every test.

Simplify the operation when we just want the final output, still reusing
the same code.
2020-03-17 17:14:35 +01:00
08339a0648 tests/fprintd: Skip some tests in CI depending on permissions 2020-03-17 17:14:35 +01:00
3dd10b4b37 tests/fprind: Check that device is released when Caller operation is done
Add support to run fprintd-utils to test fprint daemon, and ensure that a
device is released and its operation cancelled once a caller goes away.

Related to https://gitlab.freedesktop.org/libfprint/fprintd/issues/37
2020-03-17 17:14:35 +01:00
bee2e154b1 tests/fprintd: Ensure that other clients can't interfere with claimer 2020-03-17 17:14:35 +01:00
27f0b64d03 tests/fprintd: Add tests for verification through finger id 2020-03-17 17:14:35 +01:00
f4ee2f86a3 device: Throw NoEnrolledPrints on missing finger in gallery
Throw a NoEnrolledPrints error if the requested finger isn't present
in the gallery.
2020-03-17 17:14:35 +01:00
04829ed39f tests/fprintd: Check that we can't mix Enroll and Verify operations 2020-03-17 17:14:35 +01:00
756a80a63e tests/fprintd: Ensure we throw NoActionInProgress on *Stop() 2020-03-17 17:14:35 +01:00
b861500a9f device: Throw AlreadyInUse error if stopping an enroll during verification
When starting an enroll when verification is in progress (and vice-versa) we
emit an AlreadyInUse error, however when calling VerifyStop() during an
enrollment (and vice-versa) we just return a NoActionInProgress error, which
is not the case.

So let's be consistent and change the error type.
2020-03-17 17:14:33 +01:00
154d0c0373 device: Use proper function name in debug 2020-03-17 17:10:17 +01:00
b2cdc1ed1e tests/fprint: Check current API user permissions 2020-03-17 17:10:17 +01:00
ab47e03f05 tests/fprintd: Ensure device open is correctly handled 2020-03-17 17:10:17 +01:00
f92801a15c tests/fprintd: Ensure that verify fails on storage read failure 2020-03-17 17:10:17 +01:00
086ceb98ab tests/fprintd: Ensure enroll fails on storage save failure 2020-03-17 17:10:17 +01:00
8bdbc7e2b0 tests/fprintd: Ensure that we can't verify without enrolled fingers 2020-03-17 17:10:17 +01:00
1f8bb1abd4 tests/fprintd: Ensure that devices are available on name appeared
Given we don't support adding devices after we created the manager (yet) we
must ensure that once the name appeared we have them all
2020-03-17 17:10:17 +01:00
47d55a97c4 tests/fprintd: Add tests for Manager methods 2020-03-17 17:10:17 +01:00
657b90a066 tests/fprintd: Move assertFprintError to FPrintdTest
This may be used by any class inheriting FPrintdTest, so let's move it at
lower level.
2020-03-17 17:10:17 +01:00
3821b96ca5 tests/fprintd: Only enable 'virtual_image' driver
When we run tests in a system with real devices, we may try to initialize
the real ones, while we can just ignore them all in tests.

We do it in setUp instead of setUpClass to allow tests to change this if
they need to, but just for temporary.
2020-03-17 17:10:17 +01:00
22ad9b5ae8 tests/fprintd: Check all the error types during verify/enroll
Ensure that we properly handle all the errors that a driver may return us
2020-03-17 17:10:17 +01:00
2ddc8a86a2 tests/fprind: Add verify retry tests for all the cases
The tests are repeated for both verify and identify actions
2020-03-17 17:10:17 +01:00
930cae4647 tests/fprind: Add enroll retry tests for all the cases 2020-03-17 17:10:17 +01:00
5e9624bef5 device: Fix verify-disconnected state name
Respect protocol, and use proper name
2020-03-17 17:10:17 +01:00
efac52d94f device: Fix retry enroll error names
Use proper names for enroll retry errors, fixing a copy/paste error from the
verify code.
2020-03-17 17:10:17 +01:00
af18aa35e5 tests/fprintd: Add tests to verify permissions on prints management 2020-03-17 17:10:16 +01:00
0d7a703200 tests/fprintd: Split claimed device tests to a single class
Avoid doing fo reach test the Claim/Release procedure manually if it is just
a prerequisite for the test.
2020-03-17 17:09:19 +01:00
ad19c49e2e tests/fprintd: Move tests which need a claimed device 2020-03-17 17:09:19 +01:00
a8de1003a4 tests/fprintd: Use addCleanup to always terminate daemons
Ensure that the daemons are always terminated after each test, even on
failure, so that we don't have to do hacks such as always trying to stop
them
2020-03-17 17:09:19 +01:00
cefe939141 tests/fprintd: Use addCleanup to ensure we remove the test dir 2020-03-17 17:09:19 +01:00
24cd986476 tests/fprintd: Use GTestDBus unset to undefine envs
Unset the dbus environment that may affect the dbus tests using GTestDBus
utility, instead of doing it manually.
2020-03-17 17:09:19 +01:00
06480c7994 tests/fprintd: Use a new bus for each test unit
When creating a new unit we used to get the system bus via Gio.bus_get_sync,
however this has a singleton implementation, and so would always return the
same connection, creating issues in tests when a new test suite is added
because the newly got connection would be already closed.

So, just manually create a new bus connection, also close the bus and
cleanup the test bus in dbus.
2020-03-17 17:09:19 +01:00
b2ad590891 tests/fprintd: Call the super class on setup 2020-03-17 17:09:19 +01:00
85aad7bb01 tests/fprintd: Remove usage of never-used self.client variable 2020-03-17 17:09:19 +01:00
0fb4f3b021 tests/fprintd: Cleanup the client proxies on tearDown
Ensure we nullify them when the test is done.
2020-03-17 17:09:19 +01:00
21564885ea tests/fprintd: Do the parent tearDown after we've done our stuff 2020-03-17 17:09:19 +01:00
6064e30200 tests/fprintd: Remove the force-exit timeout
Since we rely on meson now to do this, we don't need to have manual
management of the timeout
2020-03-17 17:09:19 +01:00
fd8297306c tests/fprintd: Ensure that we get an error on early release
Ensure that we get an error when releasing a device that is in process of
enrollment, verification or identification
2020-03-17 17:09:19 +01:00
e7f804e9fc device: Cancel the ongoing operation when releasing the device
If a device is currently verifying, identifying or enrolling we may want the
user to stop the operation before we actually release the device.

Otherwise we may end-up in trying to close (failing) the internal device,
while fprintd is still considering the device active, causing a dead-lock
(the device can't be released, but neither claimed again or stop the current
action).

In fact calling Claim() -> EnrollStart() -> Release(), we would fail with
the error

  net.reactivated.Fprint.Error.Internal:
  Release failed with error: The device is still busy with another
  operation, please try again later. (36)"

However, if we try to call VerifyStop, after this error, we'd fail because
for the fprintd logic, the device is not claimed anymore, but actually
closed, and we'd need to claim it again, but... That would still cause an
internal error.

To avoid this, in case Relase() is called cancel the ongoing operation,
and wait until it's done before completing the release call.
2020-03-17 17:09:19 +01:00
0e993d92e2 device: Return 'verify-no-match' on cancelled verification
We were returning a 'verify-unknown-error' while we actually know what
happened, so better to return a soft operation failure.
2020-03-17 17:09:19 +01:00
b312a5e540 device: Return 'enroll-failed' on cancelled enrollment
We were returning an 'enroll-unknown-error' while we actually know what
happened, so better to return a soft operation failure.
2020-03-17 17:09:19 +01:00
c12778ec5b tests/fprintd: Verify that each enroll stage happens
Instead of automatically replying with the 'whorl' image for every enroll
state signal with result 'enroll-stage-passed', only perform the number
of required enroll stages and ensure that we get the expected results.

This also will allow to manually perform enroll steps in other tests.
2020-03-17 17:09:19 +01:00
dbabd4d7d3 tests/fprintd: Deduplicate enrollment code 2020-03-17 15:54:14 +01:00
db1865eb3e tests/fprintd: Deduplicate result wait code 2020-03-17 15:49:40 +01:00
10a3e75937 ci: Fix unknown keys in CI
Fix:
root config contains unknown keys: container_fedora_build
2020-03-17 15:31:08 +01:00
01ea517a97 ci: Fix CI syntax error
Fix CI syntax error:
container_fedora_build: unknown keys in `extends` (.fedora@container-build)
Caused by changes in the wayland CI templates:
4a73f030d0
2020-03-17 15:29:37 +01:00
3a98ef646b ci: Re-enable stable branch
Now that libfprint v2 has landed in rawhide.
2020-02-19 13:07:27 +01:00
750a815fdf ci: Use extends to repeat libfprint builds
This syntax is just nicer and more maintainable than the YAML anchors
2020-02-18 14:08:32 +01:00
53fcf52989 ci: Factorize the similar parameters in build jobs 2020-02-18 14:06:32 +01:00
52e12459df main: Improve comments on fprint manager creation
Explain why the manager creation is async better in both in the main file
and in the manager itself
2020-02-14 16:01:01 +01:00
554df2a8d9 utils: Fix memory leak when error is ignored in list
If we get a `NoEnrolledPrints` error while list, we don't consider it an
hard error and in such case we proceed to releasing the device, but without
clearing the previously set error first.
2020-02-14 16:00:20 +01:00
681bd1ed2a device: Fix leaked matched print on identify
When starting an identify operation we allocate a gallery of prints from the
gallery, although if we match one of them we get that back in the finish
callback but with a further reference added.

So, in order to clean it up, use an auto-pointer or we'd end up in leaking
it, and the address sanitizer was catching this in our tests already:

  Indirect leak of 12020 byte(s) in 5 object(s) allocated from:
    #0 0x7fe8bc638ce6 in calloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10dce6)
    #1 0x7fe8bc37ffd0 in g_malloc0 ../../glib/glib/gmem.c:132
    #2 0x55d100635c01 in load_from_file ../src/file_storage.c:159
    #3 0x55d100635c01 in file_storage_print_data_load ../src/file_storage.c:182
    #4 0x55d10063e950 in fprint_device_verify_start ../src/device.c:882
    #5 0x55d10064036b in dbus_glib_marshal_fprint_device_VOID__STRING_POINTER src/device-dbus-glue.h:96
    #6 0x7fe8bc50f6f5  (/usr/lib/x86_64-linux-gnu/libdbus-glib-1.so.2+0xd6f5)
2020-02-14 15:55:09 +01:00
8890732194 device: Don't leak the user on claim error while deleting prints
When using the delete method we check if the device was claimed, if this
fails because the device is already in use we return an error, but we don't
free the user.

While this could be fixed by just a further g_free call, let's just remove
remove the other manual free calls, and use an auto-pointer instead for this
function.
2020-02-14 15:55:09 +01:00
7dac81dcad device: Use g_clear_error instead of doing the same manually
We've now an utility function that can help us to free and unset an error
double pointer, so let's use it.
2020-02-14 15:55:09 +01:00
1ecae1d014 delete: Clear the error in case we ignore it
If we get a `NoEnrolledPrints` error during delete, we don't consider it an
hard error and in such case we proceed to releasing the device, but without
clearing the previously set error first.
2020-02-14 15:55:09 +01:00
ba7a45d3f8 device: Always free error in delete enrolled fingers2
During delete enrolled fingers2 call, if the check-claimed control fails, we
would return the error without freeing it.

While this could be fixed by just a further g_error_free call, let's just
remove the other manual free call, and use an auto-pointer instead for this
function.
2020-02-14 15:55:09 +01:00
49dced5566 device: Always free error in delete enrolled fingers
During delete enrolled fingers call, if the check-claimed control fails, and
we get an error different from FPRINT_ERROR_CLAIM_DEVICE, we would return
the error without freeing it.

While this could be fixed by just a further g_error_free call, let's just
remove all the manual free calls, and use an auto-pointer instead for this
function.
2020-02-14 15:55:09 +01:00
e25544a8f0 manager: Remove unused path variable 2020-02-14 15:55:09 +01:00
ee8589ec9d main: Ensure we always free context, loop and error
In case of early return we may not free them consistently, while this is not
a big problem in a main function, is better to have a cleaner management,
and we did get valgrind reports.
2020-02-14 15:55:09 +01:00
580cceb50e 1.90.1 2020-02-10 14:59:42 +01:00
b90b21f26b build: Make pam module installation dir configurable
And avoid treating "libdir" as an absolute path, the documentation
clearly states that it is "relative to the prefix".

Based on patch by Timothy Gu <timothygu99@gmail.com>
2020-02-10 14:49:11 +01:00
6d583cb5d8 ci: List dependencies on separate lines
This improves readability of additions and removals.
2020-02-07 17:23:40 +01:00
c776068cd2 ci: Build a docker image with dependencies and use it
Include the wayland ci-templates to be able to easily generate an image
2020-02-07 17:23:32 +01:00
b8d80fcb35 ci: Include libfprint templates to sync with its dependencies
Use libfprint templates in order to get its dependencies without having to
manually keep a list of them in sync
2020-02-06 22:07:27 +01:00
32c2ccdd8c ci: Print coverage data once available so that gitlab can parse it 2020-02-06 11:30:23 +00:00
58784f7002 doc: Fix gtk-doc generation
Closes: #44
2020-02-06 12:21:51 +01:00
f295e6c571 ci: Test gtk-doc build 2020-02-06 12:08:04 +01:00
b02825620a Revert "build: Ensure that gcov symbols are exposed when needed"
This reverts commit 526b2e8c53.

Commit 0994cc31 was enough to implement the coverage support.
2020-02-05 17:09:19 +01:00
2327307b81 build: Rename config.h template
Now that it won't clash with the autotools version.
2020-02-05 17:07:10 +01:00
7c1ae363a8 build: Remove ChangeLog
It's empty and was only there to satisfy the autotools.
2020-02-05 17:05:32 +01:00
a18af36a03 build: Remove INSTALL file
It was an autotools file, and doesn't contain useful information
anymore.
2020-02-05 17:05:08 +01:00
526b2e8c53 build: Ensure that gcov symbols are exposed when needed
When coverage is enabled, we need to expose the __gcov_* symbols in the
binaries and libraries or we won't get any coverage report for them.
2020-02-05 16:54:54 +01:00
73625233f6 build: Remove autotools support 2020-02-05 16:54:54 +01:00
08de7e33a4 ci: Rename jobs to remove meson from the names 2020-02-05 16:45:57 +01:00
c871dfc998 ci: Remove autotools targets 2020-02-05 16:45:57 +01:00
dccc5796b6 ci: Enable coverage reports in test build 2020-02-05 16:45:57 +01:00
0994cc314e main: Ensure that a gcov flush happens on SIGTERM
When coverage is enabled fprintd test won't generate any .gcda file and so
apparently no data, this happens because gcov doesn't handle properly the
process termination when SIGTERM is used, and so when in fprintd.py we
terminate the process no coverage data is reported.

To avoid this, quit the main loop cleanly on SIGTERM, so that we will exit
from the main function cleanly, making libc to perform a gcov flush when we
exit the program.
2020-02-05 16:45:57 +01:00
09b1f1f1db ci: Compile with --werror in build_dev 2020-02-05 15:25:35 +01:00
e10417a907 verify: Constify username
utils/verify.c:191:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
191 |   username = "";
    |            ^
2020-02-05 15:25:35 +01:00
8f75563920 enroll: Fix usernames memory leak
usernames was not freed on exit.
2020-02-05 15:25:35 +01:00
2e00c7a4b1 enroll: Always use allocated memory for finger name
Given that finger_name is set by GOptionEntry, make sure it's always
using allocated memory.

../utils/enroll.c:38:28: error: initialization discards ‘const’ qualifier
  from pointer target type [-Werror=discarded-qualifiers]
38 | static char *finger_name = "right-index-finger";
   |                            ^~~~~~~~~~~~~~~~~~~~
2020-02-05 15:25:35 +01:00
72d8a0f512 build: Enable -Werror on redundant declarations
Now that we've fixed our own errors.
2020-02-05 15:25:35 +01:00
130d6cdb63 main: Move fprintd_dbus_conn declaration to main.c
There's no need to declare it as extern in the header as it is already
declared in the source files where it's used.

Fixes:
../src/device.c:51:25: error: redundant redeclaration of ‘fprintd_dbus_conn’ [-Werror=redundant-decls]
  51 | extern DBusGConnection *fprintd_dbus_conn;
     |                         ^~~~~~~~~~~~~~~~~
In file included from ../src/device.c:34:
../src/fprintd.h:29:25: note: previous declaration of ‘fprintd_dbus_conn’ was here
  29 | extern DBusGConnection *fprintd_dbus_conn;
     |                         ^~~~~~~~~~~~~~~~~
2020-02-05 15:25:35 +01:00
e2fd52190a main: Fix "function declaration isn't a prototype" warning
../src/file_storage.c:47:20: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
47 | static const char *get_storage_path()
   |                    ^~~~~~~~~~~~~~~~
../src/file_storage.c: In function ‘get_storage_path’:
../src/file_storage.c:47:20: warning: old-style function definition [-Wold-style-definition]
../src/file_storage.c: In function ‘file_storage_discover_users’:
../src/file_storage.c:270:9: warning: old-style function definition [-Wold-style-definition]
270 | GSList *file_storage_discover_users()
    |         ^~~~~~~~~~~~~~~~
2020-02-05 15:25:35 +01:00
7d8450e5ab device: Mark fingers names array as const and use unique name
With the stronger warnings enabled when building with meson, we get a
warning for all the fingers definitions:

  ../src/device.c:38:24: warning: initialization discards ‘const’ qualifier
  from pointer target type [-Wdiscarded-qualifiers]
    38 |  [FP_FINGER_UNKNOWN] = "unknown",

As the `fingers` array name was shadowed in another file:

  ../src/device.c:1000:11: warning: declaration of ‘fingers’ shadows a
  global declaration [-Wshadow]
    1000 |   GSList *fingers, *finger;
2020-02-05 15:25:35 +01:00
95e95d2910 main: Fix "function declaration isn't a prototype" warning 2020-02-05 15:25:35 +01:00
75aeff4acd tests: Increase debugging level for PAM tests 2020-02-05 15:25:35 +01:00
bebd3d2a98 tests: Increase debugging for daemon tests 2020-02-05 15:25:35 +01:00
0e2bf7e804 build: Check translations using a script
Use a bash script to check the translations as we used to do during
the autotools-based distcheck.
2020-02-05 15:25:35 +01:00
f5a2c21f90 build: Add configuration recap message for meson 2020-02-05 15:25:35 +01:00
53d80c1474 build: Use gettext to translate policy file with meson
Recent versions of gettext can merge translations in xml files,
so use it and remove the intltool dependency for meson builds.
2020-02-05 15:25:35 +01:00
9bed3bed3f ci: Add jobs to build and run tests using meson 2020-02-05 15:25:35 +01:00
1a094c1a09 ci: Use a template to avoid repeating the libfprint-dev installation 2020-02-05 15:25:35 +01:00
4ed46deaf2 build: Add script to update translations 2020-02-05 15:25:35 +01:00
0724413eda README: Clean up transifex README 2020-02-05 15:25:35 +01:00
eb6dbb6953 build: Add meson build system
Reuse the generated dbus interface .xml files from fprintd to avoid
unnecessary copies.
2020-02-05 15:25:35 +01:00
5c5849dca7 build: Don't hardcode libtool specific build path
Don't hardcode the libtool specific build path in the configuration
file, but in the build declaration instead.
2020-02-05 13:43:27 +01:00
048181ae7f test_fprintd_utils: Support running under valgrind
Like for the fprintd test, run the tests under valgrind if the `VALGRIND`
environment variable is set, and use the contents of the variable as the
path to the suppression file.
2020-02-04 15:39:01 +01:00
8e3345a60f tests: Fix num-enroll-stages signature in dbusmock template
It's marked as a signed integer, not an unsigned one in the API.
2020-02-04 15:38:17 +01:00
33a21b5089 tests/fprintd: Test error conditions on Claim()/Release() 2020-02-04 15:36:06 +01:00
dd006382f5 tests/fprintd: Test ListEnrolledFingers() method 2020-02-04 15:33:09 +01:00
a34432ccf9 tests/fprintd: Add assertFprintError to check errors 2020-02-04 15:28:57 +01:00
f2804921a3 tests/fprintd: Use unittest assertions more often 2020-02-04 15:27:24 +01:00
74577a6806 tests/fprintd: Add a FPrintdVirtualDeviceTest to avoid repeating setup 2020-02-04 15:21:50 +01:00
2076025208 device: Use session data for context, sender and user
Use the device session data to store all the informations we care about
while a device is claimed, and make its cleanup easier.

Keep just one instance of the current context, given we use it only during
claim and release, and those are mutually exclusive operations.
2020-02-04 14:54:20 +01:00
77126ccf1f device: Remove unused storage_type variable 2020-02-04 14:40:17 +01:00
46b7d7c1a7 device: Clear username on open failure 2020-02-04 14:36:39 +01:00
791a208afd device: Clear session, sender and username on close failure 2020-02-04 14:31:51 +01:00
b832002c97 device: Use malloc-allocated SessionData
Allocate SessionData using g_malloc(). There are no benefits to using
GSlice for a seldom used structure. This also allows use to use
g_clear_pointer() to free the struct.
2020-02-04 14:30:10 +01:00
8a2f276003 device: Cleanup session_data on open failure 2020-02-04 14:25:00 +01:00
aab923e3cd device: Fix memory leak on object destruction
Add the missing chain-up on finalize().
2020-02-04 14:22:01 +01:00
cc4bac3410 main: Use G_DECLARE_FINAL_TYPE to define objet 2020-02-04 14:19:41 +01:00
18d4aa6d7d pam: Use systemd to check whether a session is remote
Closes: #3
2020-02-04 14:01:29 +01:00
046ec8dbf4 pam: Split off remote session code 2020-02-04 14:01:29 +01:00
874b4556ef pam: Remove unneeded assignments
Don't use return messages for D-Bus calls when we're not interested in
those return values.
2020-02-04 14:01:29 +01:00
c2aa5c0b9a pam: Fix possible memory leak
If we exited early from the loop, we need to make sure to free() this
struct member.
2020-02-04 13:48:25 +01:00
f745c49112 pam: Fix PAM authentication when it's the last try
We need to make sure that the max_tries variable isn't decremented
further when we have success in the verification loop. Add missing break
to do that.

Fixes: affffaf134
Closes: #40
2020-02-04 13:48:00 +01:00
319d859107 tests: Add PAM test that succeeds on last try
Exhaust all the tries (minus 1) before having a match on the last try.
This should not throw a warning.
2020-02-04 13:35:48 +01:00
b97903f781 data: Update built man pages
As used in the dist tarball.
2020-01-24 17:03:43 +01:00
a30697a28d data: Add pam_fprintd man page
Closes: #24
2020-01-24 17:03:43 +01:00
aad3212d22 data: Update links to other man pages 2020-01-24 17:03:43 +01:00
3624bcb114 data: Fix copy/paste error in fprintd-verify's man page 2020-01-24 17:03:43 +01:00
8fbc59a258 pam: Allow unloading libs that pam_fprintd is linked to
Remove "nodelete" linker flag now that we use sd-bus and not dbus-glib,
so that libraries that pam_fprintd links to can be unloaded.

This was added because GLib's type system expects to be initialised
once and only once per process, and re-loading this type system when it
had already been initialised caused crashes.
2020-01-24 17:03:43 +01:00
5a8da0022a tests: Make warnings fatal in PAM tests
This will catch problems with GLib being unloaded when the PAM module is
unloaded, which would have crashed when using dbus-glib.

This serves as a test for https://gitlab.freedesktop.org/libfprint/fprintd/issues/2

Closes: #2
2020-01-24 17:03:32 +01:00
6089ba6f40 pam: Better debug when timeout is invalid 2020-01-24 00:51:13 +01:00
ee6e8a6fa3 pam: Better debug when max_tries option is invalid 2020-01-24 00:51:13 +01:00
42f5280a03 pam: Better debug arguments support
Support debug=[on|off|true|false|1|0] as an option in addition to
"debug".
2020-01-24 00:51:13 +01:00
affffaf134 pam: Return PAM_MAXTRIES after too many tries 2020-01-24 00:51:13 +01:00
6ab270fb1a tests: Reduce the default timeout in tests 2020-01-24 00:51:13 +01:00
2d0bed6b13 tests: Add PAM timeout test 2020-01-24 00:51:13 +01:00
c43134e36f tests: Add PAM test with 2 readers 2020-01-24 00:51:13 +01:00
b9d23ddb87 tests: Fix dbusmock template when adding > 1 reader 2020-01-24 00:51:13 +01:00
205dedae4f tests: Add dbus-monitor'ing to PAM tests
Should prove useful debugging the PAM module if we need it.
2020-01-24 00:51:13 +01:00
d70f15b5e8 pam: Port to sd-bus
This pam plugin never used GDBus because it transparently uses threads
which do not work well with a lot of PAM applications. But even settling
on the "still better to use than plain dbus library" dbus-glib wasn't
without problems, as any use or initialisation of GIO sockets would
modify signal handler for signals such as SIGPIPE (see gio/gsocket.c).

Many years later, sd-bus is a more modern alternative to the bare dbus
library with a better API.

This includes:
- Removing use of gboolean, guint, g_new0() and many glib string helpers
- Simplifying debug logging
- Marking user-facing messages to be translated
2020-01-24 00:51:13 +01:00
6f63beb1fc pam: Add str_has_prefix() helper
To simplify the options parsing.
2020-01-23 18:45:43 +01:00
f7557c6ee7 pam: Add monotonic clock helper 2020-01-23 18:45:43 +01:00
0b598965b0 pam: Remove GLib usage from copy/paste header 2020-01-23 18:45:43 +01:00
8325d347d6 pam: Add str_equal() helper to copy/paste header 2020-01-23 18:45:43 +01:00
0bdf801043 pam: Add helper to replace G_GNUC_UNUSED to copy/paste header 2020-01-23 18:45:43 +01:00
6e3b053372 pam: Add include for bool to copy/paste header 2020-01-23 18:45:43 +01:00
c6e72c5f28 pam: Add include for asprintf to copy/paste header 2020-01-23 18:45:43 +01:00
986a42bcd1 pam: Update copyright notice 2020-01-23 18:45:43 +01:00
0c6bab8640 main: Fix redeclaration linking error
Fix linking error as the "store" global variable gets redeclared in
each C file that includes the header. Move the actual declaration to
main.c.

Fixes:
 /usr/bin/ld: ./.libs/libfprintd.a(device.o):/builds/libfprint/fprintd/src/storage.h:51: multiple definition of `store'; main.o:/builds/libfprint/fprintd/src/storage.h:51: first defined here
2020-01-23 18:25:25 +01:00
b99afd19f0 main: Use #pragma once 2020-01-23 18:25:18 +01:00
3d6dfabd8d Revert "ci: Temporarily add newer pam_wrapper build"
This reverts commit db0ab55bef.
2020-01-23 18:25:14 +01:00
67adcb59ed configure.ac: Depend on libfprint-2
libfprint changed SONAME to completely break with previous version, so
update fprintd dependency accordingly.
2020-01-23 18:24:53 +01:00
db0ab55bef ci: Temporarily add newer pam_wrapper build
So that the test suite can pass.
2020-01-22 15:34:02 +01:00
00b79d1a2f tests: Add test for the PAM module
Test the PAM module using pam_wrapper and our mock fprintd.

See https://lwn.net/Articles/671094/

Note that this requires a version of pam_wrapper with this bug fixed:
https://bugzilla.samba.org/show_bug.cgi?id=14245
2020-01-22 15:34:02 +01:00
f1517af09a tests: Add fprintd-verify test that uses scripting 2020-01-20 17:31:46 +01:00
c0bf1515fd tests: Check that verify test doesn't succeed early 2020-01-20 17:31:08 +01:00
872089883c tests: Add scripting capabilities to the verification process
Add scripting capabilities to the verification process so that the mock
daemon can send its own results without needing the client to prod it to
do that. This is incredibly useful when the client is single threaded
and blocking.

Note that there are barely any safeguards, so the scripting task is not
cancelled if an error occurs, or the VerifyStatus signals are sent out
of order.
2020-01-20 17:26:24 +01:00
431755becd tests: Add test for fprintd utils 2020-01-17 15:32:22 +01:00
0a42b90390 tests: Add dbusmock template for fprintd daemon 2020-01-17 15:18:43 +01:00
cd3ed2e450 device: Fix documentation for ERROR_INVALID_FINGERNAME 2020-01-17 14:41:22 +01:00
c929d39df1 device: Fix "enrollemnt" typo 2020-01-17 14:40:36 +01:00
1a5ef6c5a7 build: Add separate dependency for pam module 2020-01-14 15:52:21 +01:00
ce3406b20f main: Fix typos in comments 2020-01-14 14:00:56 +01:00
0d407db171 manager: Fix typo in comment 2020-01-14 14:00:56 +01:00
4eb751a218 data: Fix typos in man pages 2020-01-14 14:00:56 +01:00
0f44267ea1 README.transifex: Fix typo 2020-01-14 14:00:56 +01:00
9baea4494b device: Replace deprecated g_type_class_add_private() 2020-01-14 14:00:56 +01:00
41afbd1ced device: Simplify FprintDevicePrivate declaration 2020-01-14 14:00:56 +01:00
f2d6921b74 manager: Replace deprecated g_type_class_add_private() 2020-01-14 14:00:56 +01:00
b690daa95f all: Call setlocale() at the start of main()
This fixes some broken characters in the fprintd debug output.
2020-01-14 13:51:46 +01:00
deb3c25e51 device: Adjust to new libfprint API for early match reporting
This API was added to libfprint to allow drivers to report the match
result early before the operation has been completed. No driver makes
use of this facility yet and instead drivers try to finish the
operation early for quick result reporting. This primarily means not
waiting for finger removal.

Once drivers are updated, fprintd reactivity will regress unless the
early match callback is implemented as they would only get an operation
finished callback when the whole of the operation was finished,
including finger removal and finishing up USB communications.

See: https://gitlab.freedesktop.org/libfprint/fprintd/issues/35
2020-01-14 13:41:57 +01:00
a520896325 device: Use FP_FINGER_IS_VALID to check finger number 2019-12-19 14:29:04 +01:00
707ed01059 file_storage: Remove definition of FP_FINGER_IS_VALID
This is now provided by libfprint
2019-12-19 14:28:35 +01:00
6903c36157 file-storage: Use first/last fingers references instead of named ones
Don't depend in the hardcoded libfprint fingers order, but use instead the
aliases for first/last fingers in libfprint order
2019-12-18 17:34:04 +01:00
d0df422f9b all: Bump required glib version
Require the same version of glib as libfprint, and remove support for
very old versions.
2019-12-18 17:03:37 +01:00
882740f8a1 utils: Use new print deletion API
Use the new API that works by claiming the device and then deleting the
prints.

Fixes: #26
2019-12-05 17:54:21 +01:00
5043ef3c7d device: Print warnings for fatal errors 2019-12-04 17:03:53 +01:00
cdd79a0935 ci: Remove libfprint dependencies that are not needed
The dependency list of libfprint used to be a direct copy of the
libfprint CI list. However, many of the dependencies are not needed as
only a minimal version of libfprint is built for testing purposes.
2019-12-03 17:08:04 +01:00
776b4f4cec device: Log offending API user if DeleteEnrolledFinger is used
When the DeleteEnrolledFinger API is used, log an additional warning
with the command that made the call.
2019-12-03 17:08:04 +01:00
31bfd1b055 ci: Run make check in the test stage 2019-12-03 17:08:04 +01:00
74838f9efc tests: Add basic integration test
This test uses the virtual image driver included in libfprint for
testing.
2019-12-03 17:08:04 +01:00
54ba81191e tests: Add test prints from libfprint
These can be freely redistributed as they are in the public domain. See
the included README.
2019-12-03 17:08:03 +01:00
521ba9b124 storage: Use $STATE_DIRECTORY when available
The state directory will generally be the same as the hardcoded one.
However, being able to override it is important for testing purposes, so
add the option.
2019-12-03 17:08:03 +01:00
3db69c2c2f utils: Move test binaries into utils
These utilities are generally useful beyond only testing purproses. And,
since it is desirable to have automated tests inside the tests
subdirecty, it makes sense to move them elsewhere.
2019-12-03 17:08:03 +01:00
b2ff316e20 device: Add new API and fallback to delete prints from device
Some devices require storing the print on the device, to support this,
try deleting prints from the device before deleting them from local
storage.

To handle these devices, add a new API that requires the device to be
claimed rather than allowing deletion without claiming the device first.
Also add appropriate fallbacks so that the old API will continue to
work, but warn about its use.
2019-12-03 17:08:03 +01:00
94f54c0638 main: Register the common name after initializing the manager
When creating the FprintManager object the devices will be enumerated.
This operation calls the mainloop recursively. We do not want to receive
any client requests before the initial enumeration has happened. Because
of this, move the registration of the common name to happen after the
enumeration has finished.
2019-12-03 17:08:03 +01:00
9c8d062669 device: Handle full device storage including garbage collection
The new libfprint version has support for devices that store data on the
sensor. In that case, the on-sensor storage might fill up when the user
tries to enroll a new print.

The strategy introduced here to handle this is to try and delete prints
from the device that we do not know about (assuming, it is e.g. from an
old installation and unusable).

It can also happen that we are not able to garbage collect old prints.
If that happens, a new error code "enroll-data-full" will be returned
signalling the situation to the enrolling application.
2019-12-03 17:08:03 +01:00
ca482036c7 storage: Add function to discover users that have prints
For sensors with internal storage we may want to garbage collect prints.
Adding this API means we can list all local prints, allowing us to find
out whether there are prints on the device's storage with no
corresponding print on the host.
2019-12-03 17:08:03 +01:00
d7821aa790 Initial port to libfprint2 2019-12-03 17:08:03 +01:00
16cb1a8ec6 device: Use g_clear_pointer in places
Replace some g_free calls with subsequent NULL setting with
g_clear_pointer.
2019-12-02 16:20:01 +01:00
31ba9ebea4 ci: libfprint master is now version two
libfprint master contains version 2 of the library now. This means we
need to add dependencies and change some other things a bit.
2019-12-02 16:19:55 +01:00
8893c2f906 ci: Build against libfprint-1-0
The libfprint master branch will soon contain the v2 API. So change to
use the libfprint-1-0 which will mean that the CI will continue to work.

Note that the build_stable target will need to be removed when the new
libfprint version reaches fedora rawhide.
2019-10-07 16:39:25 +02:00
3520cb56d1 build: Move D-Bus conf file to $(datadir)/dbus-1/system.d
Since D-Bus 1.9.18 configuration files installed by third-party should
go in share/dbus-1/system.d. The old location is for sysadmin overrides.
2019-09-16 11:43:51 -04:00
96444b4156 pam: Fix rhost string length check 2019-08-13 14:16:32 +02:00
c0ba475fbf 0.9.0 2019-08-08 15:18:00 +02:00
704c19b87a device: Restart verification if error is "retry"
fprintd's API docs say that "retry" errors for verification
"the verification is still ongoing" and that "[the] user should retry
scanning their finger.

Unfortunately, retry errors are fatal in libfprint. Make fprintd restart
operations when "retry" is the error for either identification or
verification purposes.

We need to also make sure that a "*Stop" D-Bus call will return as
normal if called while we're stopping a verification or identification
in order to restart it.

Closes: #22
2019-08-08 13:12:28 +00:00
8f90390c6b pam: Fix rhost check when rhost is unavailable
Don't exit early if the rhost field isn't filled in, as it usually isn't
for a lot of services.

Fixes: 3274a31
2019-08-08 12:31:32 +02:00
e061990fa9 build: Fix loading configuration file with default build args
Fix incorrect configuration path when the sysconfdir is relative to the
prefix argument:
fprintd-WARNING **: 12:22:38.816: Could not open "${prefix}/etc/fprintd.conf": No such file or directory

The path needs to be expanded before it's substituted.
2019-08-08 12:26:23 +02:00
011310e30c main: Print the full path of the configuration file
Rather than just its filename, otherwise we won't know where to look.
2019-08-08 12:26:23 +02:00
3274a31153 pam: Don't ask for fingerprints for remote logins
As written in the "Linux-PAM Application Developers' Guide"
at http://www.linux-pam.org/Linux-PAM-html/adg-security-user-identity.html:
"
As a general rule, the following convention for its value can be
assumed: NULL = unknown; localhost = invoked directly from the
local system; other.place.xyz = some component of the user's
connection originates from this remote/requesting host.
"

So also exit early if the hostname isn't localhost as it should be.

Closes: #21
2019-08-07 14:12:53 +00:00
d6c4e8ba64 file: Remove unused variable 2019-08-07 15:15:23 +02:00
48976d0031 main: Throw g_warning() on startup failure
Rather than using g_print()
2019-08-07 15:15:23 +02:00
cbf4a47af3 main: Add debug when about to load configuration file 2019-08-07 15:15:23 +02:00
bfbac18606 file: More debug on file and directory accesses 2019-08-07 15:15:23 +02:00
09529c396b Add code of conduct document 2019-07-25 12:07:27 +02:00
94a9815362 data: tell systemd to create state directory
If the directory referred to by ReadWritePaths= does not exist, the
service fails to start:

    systemd[1]: Starting Fingerprint Authentication Daemon...
    systemd[9736]: fprintd.service: Failed to set up mount namespacing: No such file or directory
    systemd[9736]: fprintd.service: Failed at step NAMESPACE spawning /usr/lib/fprintd/fprintd: No such file or directory
    systemd[1]: fprintd.service: Main process exited, code=exited, status=226/NAMESPACE
    systemd[1]: fprintd.service: Failed with result 'exit-code'.
    systemd[1]: Failed to start Fingerprint Authentication Daemon.

This may happen when booting with an empty /var filesystem.

For a system service, "StateDirectory=fprint" causes /var/lib/fprint and
any parent directories to be created if missing (with mode 0755 by
default, owned by the user and group of the service, which in this case
is root).  In combination with ProtectSystem=strict, this state
directory will be mounted read-write.  StateDirectory was introduced in
systemd 235, so require at least this version.

The /var/lib prefix is hardcoded in systemd. (Since systemd 240, the
full path(s) to StateDirectory are provided as $STATE_DIRECTORY, but
since it is always /var/lib, we continue to just hardcode that path.)

On non-systemd systems, since fprintd runs as root with no confinement,
it can create its state directory as needed (with g_mkdir_with_parents()
in file_storage_print_data_save()).
2019-07-04 15:27:54 +01:00
9ed8767cb3 Hardcode storage path as /var/lib/fprint
--localstatedir (and --prefix) will now be ignored in favour of this
hardcoded path.  This is in preparation for a change to use systemd's
StateDirectory feature.
2019-07-04 15:27:54 +01:00
8ae7abc6c2 autogen.sh: open-code pushd/popd
This script uses /bin/sh, which on Debian-like systems is dash, which
does not support bash's pushd/popd.
2019-03-21 09:17:43 +00:00
dd9d7cc35d build: Create the storage directory at install time
Otherwise you could get into a state where the daemon could not start
because the directory listed as a ReadWritePaths in the .service file is
missing.

Spotted by Will Thompson.

See: !5
2019-03-04 17:10:13 +01:00
dbeeb95756 file: Simplify file_storage_get_basestore_for_username() usage
file_storage_get_basestore_for_username() can never fail, so simplify
its callers by removing the error checking.
2019-02-15 23:59:00 +00:00
5e76441210 ci: Fix CI for recent libfprint changes
The gettext in fprintd would be getting confused by a new file in
libfprint that looks like it should have been translated. Ignore this
file in our build.
2019-02-15 12:19:06 +01:00
8de9164be0 main: Fix memory leak when a save fails
and simplify the flow of that function.

From https://bugs.launchpad.net/ubuntu/+source/fprintd/+bug/1745455/comments/7
2018-11-12 12:09:51 +00:00
267e6b3238 device: Fix client_username memory leak
No need to duplicate that string until we pass it out.

From https://bugs.launchpad.net/ubuntu/+source/fprintd/+bug/1745455/comments/7
2018-11-12 12:09:51 +00:00
51f4dce4e7 pam: Fix typo in occurred 2018-11-09 07:41:42 +01:00
0c76397a6e loop: Use signed type for fp_get_pollfds() retval
This will be a warning with slightly older versions of libfprint, but at
least it would catch errors.
2018-06-26 15:19:45 +02:00
815256717b README: Update URL in Transifex doc 2018-06-18 12:45:41 +02:00
9e32cd5257 0.8.1 2018-06-15 17:54:01 +02:00
32b9f1b056 data: Update policy vendor URL 2018-06-15 17:54:01 +02:00
12ef09a1c9 po: Update translations 2018-06-15 17:50:08 +02:00
596172e42d README: Update link to website 2018-06-07 22:25:39 +02:00
d37d8a233a TODO: Remove image transfer support
I doubt we want to do this, and nothing has needed it so far.
2018-05-31 17:28:19 +02:00
3550ac5f05 TODO: Remove identification support TODO
See #10
2018-05-31 17:28:19 +02:00
111681c57d TODO: Remove hardware protection TODO
See #9
2018-05-31 17:24:58 +02:00
6eed9f1244 TODO: Remove translations from TODO
Already registered in Transifex:
https://www.transifex.com/freedesktop/fprintd/
2018-05-31 17:23:53 +02:00
04bd6bab46 TODO: Remove hotplug TODO item
See #8
2018-05-31 17:20:19 +02:00
fa4af3ee67 build: Add CI 2018-05-31 14:44:17 +02:00
31b985f547 device: Fix crash on exit
Fix a possible crash when an fprintd client disappears. If the client
requested for the device to be released, then, without waiting for the
reply of that release, disappeared from the bus, we would try to close
it a second time, accessing a function pointer that didn't exist
anymore.

See https://bugzilla.redhat.com/show_bug.cgi?id=1515720
2018-05-31 12:02:31 +02:00
661684b1f5 main: Turn messages in debug messages
Rather than filling the logs with mostly useless messages, print those
as debug.
2018-05-30 19:59:07 +02:00
2322244c5a build: Add a log domain for fprintd debug messages 2018-05-30 19:58:20 +02:00
8e0c030f62 main: Split off events loop handling into a separate file
To make it easier to use as an example.
2018-05-25 16:06:54 +02:00
4234902671 main: Clean up main loop integration
Remove do/while loops in favour of for loops, and downgrade some
warnings and messages statements to debug.
2018-05-25 15:45:02 +02:00
78ffe68426 po: Update translations
And add Belarusian
2018-04-26 14:44:45 +02:00
2704e72308 data: Restrict available socket protocols
When starting the daemon
2018-04-26 14:44:02 +02:00
f39f28830a pam: Avoid errors when using parts of the copy/paste header
If not all the functions in the header are used, we'd get warnings about
them being unused. Mark all the functions as unused, so we can avoid
warnings.
2018-02-06 14:12:41 +01:00
e6d291b248 po: Add 2 new languages 2018-02-06 11:23:01 +01:00
a2f2526df6 po: Update translations 2018-02-06 11:22:13 +01:00
2f78c46dcf build: Fix srcdir = builddir build
Don't try to copy a file over itself if srcdir == builddir
2018-02-06 11:21:06 +01:00
8eba309920 0.8.0 2017-09-13 16:27:53 +02:00
6494efa94e data: Stop privilege escalations in daemon
Using the NoNewPrivileges stanza from systemd.
2017-09-13 15:48:17 +02:00
e55ad52ded device: Fix warning when open the device fails
The error should be initialised to NULL before being set.
2017-02-16 15:51:22 +01:00
0d28678118 device: dbus_g_method_return_error() does not free the error
So free the errors after sending them on the bus.

https://bugs.freedesktop.org/show_bug.cgi?id=99838
2017-02-16 15:44:12 +01:00
051eb0427d pam: Don't poke the hardware if user has no registered prints
Before claiming the device and therefore potentially activating
the actual hardware, make a call to see if the user has any
prints registered at all.

https://bugs.freedesktop.org/show_bug.cgi?id=99811
2017-02-16 14:49:58 +01:00
f54a90ea80 pam: separate device opening and claiming
For some operations, i.e. listing the enrolled prints, the device
does not need to be claimed. Therefore the claiming can be delayed
until we actually start the verification process, allowing us to
query the fingerprint system if the user has any prints enrolled.

https://bugs.freedesktop.org/show_bug.cgi?id=99811
2017-02-16 14:46:35 +01:00
da87d1d7ee pam: Only call g_type_init when using an old glib
Calling g_type_init() is not needed anymore and deprecated since
glib version 2.36.

https://bugs.freedesktop.org/show_bug.cgi?id=99812
2017-02-14 17:14:20 +01:00
3d2d73d615 main: call g_type_init only if using an old glib
Calling g_type_init() is not needed anymore and deprecated since
glib version 2.36.

https://bugs.freedesktop.org/show_bug.cgi?id=99812
2017-02-14 17:14:20 +01:00
06ea385260 tests: call g_type_init only if using an old glib
Calling g_type_init() is not needed anymore and deprecated since
glib version 2.36.

https://bugs.freedesktop.org/show_bug.cgi?id=99812
2017-02-14 17:14:20 +01:00
8fa3dcd5cd main: Plug tiny memory leak
dbus_g_method_get_sender() returns an allocated-string which we need to
free. This is handled properly in the rest of the codebase.

https://bugs.freedesktop.org/show_bug.cgi?id=99811
2017-02-14 14:29:54 +01:00
32307570fe po: Update translations 2017-02-11 18:17:40 +01:00
7ae196a0dd po: Remove duplicate Bulgarian and Persian translations
https://bugs.freedesktop.org/show_bug.cgi?id=99773
2017-02-11 18:16:23 +01:00
36d3d9d749 data: Lockdown the fprintd service
Give read-write access to USB devices in /dev, and the location of the
fingerprints, access to Unix sockets for D-Bus and
close everything else down.

See systemd.exec(5) for details about the options.
2017-01-05 13:04:48 +01:00
b3c1ed0d2a main: Don't hardcode fingerprint storage directory
It used to be hard-coded to /var/lib/fprint, but is now set to
$(localstatedir)/lib/fprint/.
2017-01-05 12:50:06 +01:00
eabeaa258e 0.7.0 2016-10-13 17:33:26 +02:00
e2ba6321f8 po: Update translations 2016-10-13 17:28:26 +02:00
efe2a5b00c build: Fix updating translations with builddir != srcdir
tx supports a single "--root" argument to pass both where it expects to
read the created data file (the .pot file) and the configuration. As
those are two separate directories with builddir != srcdir, copy the .tx
file from srcdir to builddir to upload the updated .pot file.
2016-10-13 17:28:26 +02:00
9acacefa18 pam: Fix "format-nonliteral" warning
In file included from tests/enroll.c:29:0:
pam/fingerprint-strings.h: In function ‘finger_str_to_msg’:
pam/fingerprint-strings.h:99:6: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
      return g_strdup_printf (TR (fingers[i].place_str_specific), driver_name);
      ^~~~~~
pam/fingerprint-strings.h:104:6: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
      return g_strdup_printf (TR (fingers[i].swipe_str_specific), driver_name);
      ^~~~~~
2016-07-19 11:27:17 +02:00
ac1a99ad06 build: Fix running autogen.sh out-of-tree 2016-07-19 11:19:21 +02:00
e437d20108 device: Don't call fp_async_dev_close() with NULL device
In some cases, the priv->dev is already freed and NULL, so ensure
that we don't try to close NULL devices and crash.
2015-10-14 12:12:39 +02:00
fa31b0aec2 Update translations, and add 21 of them 2015-02-09 18:14:47 +01:00
431adc4c5b Update Transifex configuration 2015-02-09 18:11:10 +01:00
c4f3cc2dc3 0.6.0 2015-02-03 17:07:15 +01:00
4edc17ac99 manager: Fix sorting in GetDevices() output
Sort the devices by ID for the GetDevices() output.
2015-02-03 17:07:15 +01:00
56683b1098 tests: Fix listing/deleting with more than one reader
We were always reading the information for reader 0.
2015-02-03 16:44:31 +01:00
f7c51b0d58 tests: Fix segfault in verify when used without -f
We tried to use strcmp on a NULL string.

https://bugs.freedesktop.org/show_bug.cgi?id=85736
2014-11-02 16:34:02 +01:00
f94c8727d2 main: Don't log about normal operation
Administrators don't need to see this stuff on every boot.  The system
bus itself already logs this anyways (which is itself a bit too
chatty).

https://bugs.freedesktop.org/show_bug.cgi?id=71889
2014-04-25 11:28:20 +02:00
4f9256c033 manager: Don't log when we're exiting
This happens on hardware without fingerprint readers on every boot; we
don't need to log anything about it, it's totally normal.

This patch is part of an initiative to reduce logging spew in GNOME
so that actual errors and important messages are more visible.

https://bugs.freedesktop.org/show_bug.cgi?id=71889
2014-04-25 11:28:20 +02:00
73ed60a60d tests: Fix possible crash in fprintd-verify
https://bugs.freedesktop.org/show_bug.cgi?id=75111
2014-02-18 18:32:48 +01:00
d7e326a776 tests: List possible values for finger when enrolling
When the "-f" parameter of fprintd-enroll is incorrect, list
the possible values.
2014-02-18 18:32:08 +01:00
7e4630ced2 pam: Fix eventfd leak
When we create our own GMainContext, we need to be the ones
disposing of it as well, as GMainLoop won't take ownership of it.

From https://bugzilla.redhat.com/show_bug.cgi?id=1050827
2014-01-27 12:25:57 +01:00
fc228b9976 README: Update README 2013-09-30 09:43:46 +02:00
7710040ea7 data: Fix syntax error in fprintd.pod
fprintd.pod around line 100: =over without closing =back
POD document had syntax errors at /usr/bin/pod2man line 69.
2013-08-11 18:58:20 +02:00
162 changed files with 17539 additions and 5763 deletions

7
.git-blame-ignore-revs Normal file
View File

@ -0,0 +1,7 @@
# The commits that did automated reformatting. You can ignore them
# during git-blame with `--ignore-rev` or `--ignore-revs-file`.
#
# $ git config --add 'blame.ignoreRevsFile' '.git-blame-ignore-revs'
#
f73429f06226f5423c92b1c504313657c9b6f9b5

37
.gitignore vendored
View File

@ -1,46 +1,11 @@
/*.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
/_build
/tags

127
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,127 @@
include:
- project: 'libfprint/libfprint'
ref: master
file: '/.gitlab-ci/libfprint-templates.yaml'
- project: 'wayland/ci-templates'
ref: master
file: '/templates/fedora.yml'
variables:
extends: .libfprint_common_variables
FDO_DISTRIBUTION_TAG: latest
FDO_DISTRIBUTION_VERSION: rawhide
FEDORA_IMAGE: "$CI_REGISTRY/libfprint/$CI_PROJECT_NAME/fedora/$FDO_DISTRIBUTION_VERSION:$FDO_DISTRIBUTION_TAG"
DEPENDENCIES: dbus-glib-devel
gcc
gcovr
gettext
git
glibc-devel
gtk-doc
libasan
libfprint-devel
meson
pam-devel
polkit-devel
python3-dbusmock
python3-libpamtest
systemd-devel
image: "$FEDORA_IMAGE"
stages:
- check-source
- build
- test
.fprintd_build_preconditions:
except:
variables:
- $FPRINT_CRON_TASK == "BUILD_CI_IMAGES"
.install_libfprint_dev:
before_script:
# Make sure we don't build or link against the system libfprint
- dnf remove -y libfprint-devel
- git clone https://gitlab.freedesktop.org/libfprint/libfprint.git
- cd libfprint
- meson . _build --prefix=/usr -Ddrivers=virtual_image -Ddoc=false
- 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
test_indent:
stage: check-source
extends: .fprintd_build_preconditions
script:
- scripts/uncrustify.sh
- git diff
- "! git status -s | grep -q ."
build_stable:
extends: .fprintd_build_preconditions
stage: build
script:
- meson _build
- ninja -C _build -v
- ninja -C _build -v install
build_dev:
extends:
- .fprintd_build_preconditions
- .install_libfprint_dev
stage: build
script:
- meson _build --werror -Dgtk_doc=true
- ninja -C _build -v
- ninja -C _build -v install
artifacts:
name: log
when: on_failure
paths:
- _build/meson-logs/*.txt
test_dev:
extends:
- .fprintd_build_preconditions
- .install_libfprint_dev
stage: test
script:
- meson _build -Db_coverage=true
- meson test -C _build --verbose --no-stdsplit --timeout-multiplier 3
- ninja -C _build coverage
- cat _build/meson-logs/coverage.txt
artifacts:
name: log-and-coverage
when: always
paths:
- _build/meson-logs
test_dev_with_sanitizer:
extends:
- .fprintd_build_preconditions
- .install_libfprint_dev
stage: test
script:
- meson _build -Db_sanitize=address
- meson test -C _build --verbose --no-stdsplit --timeout-multiplier 5
artifacts:
name: meson-logs
when: on_failure
paths:
- _build/meson-logs
# CONTAINERS creation stage
container_fedora_build:
extends: .fdo.container-build@fedora
only:
variables:
- $FPRINT_CRON_TASK == "BUILD_CI_IMAGES"
variables:
GIT_STRATEGY: none # no need to pull the whole tree for rebuilding the image
# a list of packages to install
FDO_DISTRIBUTION_PACKAGES:
$DEPENDENCIES
$LIBFPRINT_DEPENDENCIES

View File

@ -1,5 +1,5 @@
[main]
host = https://www.transifex.net
host = https://www.transifex.com
[fprintd.fprintd-po-fprintd-pot]
file_filter = po/<lang>.po

View File

237
INSTALL
View File

@ -1,237 +0,0 @@
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.

View File

@ -1,28 +0,0 @@
AUTOMAKE_OPTIONS = dist-bzip2
SUBDIRS = src data tests pam doc 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 pull --all --force --skip
@tx push --source
-include $(top_srcdir)/git.mk

120
NEWS
View File

@ -1,6 +1,126 @@
This file lists notable changes in each release. For the full history of all
changes, see ChangeLog.
Version 1.90.9:
Highlights:
- Fix multiple daemon lockup issues (#97)
- Fix print garbage collection to not delete used prints
- pam: Use the device with the most prints
Version 1.90.8:
It seems that we are finally reaching the end of the tunnel with regard
to regressions. One more issue that cropped up was that a pam_fprintd fix
to avoid a possible authentication bypass caused issues when fprintd was
just started on demand.
Highlights:
- pam: Only listen to NameOwnerChanged after fprintd is known to run (#94)
- Place new ObjectManager DBus API at /net/reactivated/Fprint
Version 1.90.7:
While 1.90.6 fixed a number of issues, we did have a bad regression due
causing pam_fprintd to crash when there are no fingerprint devices
installed.
Highlights:
- pam: Guard strdup calls against NULL pointers
Version 1.90.6:
The 1.90.5 release was unusable due to a number of inter-related issues
with the DBus interface and authorization. We also found a number of
problems with possible security implications.
Currently fprintd will do interactive authorization even if this was not
requested using the correct DBus method call flag. All API users MUST be
updated to set the flag as it will be enabled in the future!
Highlights:
- Fix fprintd DBus configuration
- Change details of what requires authorization
- Fix various race conditions in pam_fprintd
- Permit interactive authorization from fprintd utilities
- Do not allow deletion while another operation is ongoing
Version 1.90.5:
The 1.90.4 release contained some bad errors, this release addresses those.
Highlights:
- Permit building with polkit older than 0.114
- Fix possible issues with PAM test
- Fix incorrect DBus policy
- Fix build so that CFLAGS enviroment is correctly used
- Skip hotplug test with older libfprint (which times out otherwise)
Version 1.90.4:
This fprintd release contains major core reworkings and improved testing.
As such, only the most important changes are listed here, focusing on
changes relevant to distributors.
Highlights:
- Authentication is now required to enroll a new print (#5)
- Add support for the libfprint early reporting mechanism
- Proper hotplug support together with libfprint 1.90.4
- Handle STATE_DIRECTORY containing multiple paths
version 1.90.1:
- Add support for prints saved on the fingerprint device itself
- Add integration tests using the virtual image driver, and further
tests for the utilities
- Port build system to meson
- Loads of build warnings and memory leak fixes
- PAM module:
- Port PAM module to sd-bus from dbus-glib
- Use systemd to not ask for a fingerprint scan on remote logins
- Add man page for PAM module
- Add tests
This version requires libfprint 1.90.1, a 2.0 pre-release.
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

9
README
View File

@ -1,17 +1,16 @@
fprintd
=======
http://www.reactivated.net/fprint/wiki/Fprintd
https://fprint.freedesktop.org/
Daemon to offer libfprint functionality over D-Bus
Currently in early stages. Might eat your kangaroo.
Might eat your kangaroo.
Written in C. Requires bleeding edge libfprint (libusb-1.0 port).
Written in C.
Licensed under the GPL version 2 or any later version (see COPYING).
An experimental PAM login module is included in the 'pam' directory.
This will be moved to a separate package once the system has matured.
A PAM login module is included in the 'pam' directory.
API use cases
=============

View File

@ -1,10 +1,16 @@
Transifex.net Token Verification
=================================
Updating translations
=====================
The list of tokens bellow guarantee the respective users to be able to enable
The update-transifex.sh script should be run regularly to both pull
translations from the Transifex service, and push new strings to translate.
Transifex.net Token Verification
================================
The list of tokens below guarantee the respective users to be able to enable
submission on components using the following repository url:
ssh://git.freedesktop.org/git/libfprint/fprintd
https://gitlab.freedesktop.org/libfprint/fprintd/
Tokens:

12
TODO
View File

@ -1,17 +1,5 @@
Identification
Image transfer
Verify PAM messages fit with GDM/gnome-screensaver
Register fprintd' po file with Transifex, Rosetta or the Translation Project
Support insertion/removal of devices
Add some hardware protection by making sure devices aren't opened and
reading for more than a certain amount of time.
Add POS use case
Automatically show the fingerprint registration when logged in and
not having any registered prints?
http://uk.youtube.com/watch?v=F_x_vwCltbc

View File

@ -1,182 +0,0 @@
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)
])

View File

@ -1,12 +0,0 @@
#!/bin/sh
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
if test -z "$NOCONFIGURE"; then
./configure $*
fi

3
code-of-conduct.md Normal file
View File

@ -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/

14
config.h.in Normal file
View File

@ -0,0 +1,14 @@
/* Define to the Gettext package name */
#mesondefine GETTEXT_PACKAGE
/* Version number of package */
#mesondefine PACKAGE_VERSION
/* Where the configuration file will be located */
#mesondefine SYSCONFDIR
/* Define to the version of this package. */
#mesondefine VERSION
/* Whether current polkit version supports autopointers */
#mesondefine POLKIT_HAS_AUTOPOINTERS

View File

@ -1,87 +0,0 @@
AC_INIT([fprintd], [0.5.1])
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, [libfprint > 0.1.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"], [
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])
AC_DEFINE_UNQUOTED(SYSCONFDIR, "$sysconfdir", [Where the configuration file will be located])
GNOME_COMPILE_WARNINGS
AC_OUTPUT([
Makefile
src/Makefile
data/Makefile
tests/Makefile
pam/Makefile
doc/Makefile
doc/version.xml
doc/dbus/Makefile
po/Makefile.in
])

View File

@ -1,44 +0,0 @@
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 = $(sysconfdir)/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)

View File

@ -1,4 +1,4 @@
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
.\" Automatically generated by Pod::Man 4.12 (Pod::Simple 3.39)
.\"
.\" Standard preamble:
.\" ========================================================================
@ -38,27 +38,36 @@
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'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
.\" If the F register is >0, 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"
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
. nr % 0
. rr F
.\}
.el \{\
. de IX
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
@ -124,16 +133,16 @@
.\" ========================================================================
.\"
.IX Title "fprintd 1"
.TH fprintd 1 "2010-08-16" "freedesktop" ""
.TH fprintd 1 "2020-01-24" "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]
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBfprintd-enroll\fR [\-f finger] [usename]
.PP
\&\fBfprintd-list\fR username [usernames...]
.PP
@ -185,7 +194,7 @@ Will list the user's enrolled fingerprints.
.SS "fprintd-verify"
.IX Subsection "fprintd-verify"
.RS 8
Will enroll the user's right index finger into the database.
Will verify the user's fingerprints against the database.
.RE
.SS "fprintd-enroll"
.IX Subsection "fprintd-enroll"
@ -200,5 +209,5 @@ Will enroll the user's right index finger into the database.
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"
.IP "\fBgnome-control-center\fR" 8
.IX Item "gnome-control-center"

View File

@ -2,7 +2,7 @@
fprintd - Fingerprint management daemon, and test applications
=head1 SYNOPSYS
=head1 SYNOPSIS
B<fprintd-enroll> [-f finger] [usename]
@ -75,7 +75,7 @@ Will list the user's enrolled fingerprints.
=over 8
Will enroll the user's right index finger into the database.
Will verify the user's fingerprints against the database.
=back
@ -99,4 +99,7 @@ By default, fprintd stores the fingerprints in B</var/lib/fprint/>
=over 8
=item B<dbus-daemon>, B<gnome-about-me>
=item B<gnome-control-center>
=back

View File

@ -6,3 +6,28 @@ Documentation=man:fprintd(1)
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

72
data/meson.build Normal file
View File

@ -0,0 +1,72 @@
install_data('net.reactivated.Fprint.conf',
install_dir: dbus_conf_dir)
configure_file(
configuration: configuration_data({
'LIBEXECDIR': fprintd_installdir,
}),
input: 'net.reactivated.Fprint.service.in',
output: 'net.reactivated.Fprint.service',
install: true,
install_dir: dbus_service_dir,
)
if get_option('systemd')
configure_file(
configuration: configuration_data({
'libexecdir': fprintd_installdir,
}),
input: 'fprintd.service.in',
output: 'fprintd.service',
install: true,
install_dir: systemd_unit_dir,
)
endif
polkit_policy = 'net.reactivated.fprint.device.policy'
polkit_policy_target = i18n.merge_file(polkit_policy,
input: '@0@.in'.format(polkit_policy),
output: polkit_policy,
po_dir: meson.source_root() / 'po',
install: true,
install_dir: polkit_policy_directory,
)
if xmllint.found()
test(polkit_policy,
xmllint,
depends: polkit_policy_target,
args: [
'--noout',
polkit_policy_target.full_path(),
])
endif
install_data('fprintd.conf',
install_dir: sysconfdir)
if get_option('man')
manfiles = {
'fprintd': 1,
'pam_fprintd': 8,
}
foreach man_name, man_section: manfiles
custom_target('man_' + man_name + '.' + man_section.to_string(),
input: man_name + '.pod',
output: man_name + '.' + man_section.to_string(),
command: [
pod2man,
'-c', '',
'-s', man_section.to_string(),
'-q', 'none',
'-n', man_name,
'-r', 'freedesktop',
'@INPUT@',
'@OUTPUT@',
],
install: true,
install_dir: datadir / 'man' / 'man' + man_section.to_string(),
)
endforeach
endif

View File

@ -12,8 +12,18 @@
<!-- Anyone can talk to the service -->
<policy context="default">
<allow send_destination="net.reactivated.Fprint"/>
<allow send_interface="net.reactivated.Fprint"/>
<allow send_destination="net.reactivated.Fprint"
send_interface="net.reactivated.Fprint.Manager"/>
<allow send_destination="net.reactivated.Fprint"
send_interface="net.reactivated.Fprint.Device"/>
<!-- Basic D-Bus API stuff -->
<allow send_destination="net.reactivated.Fprint"
send_interface="org.freedesktop.DBus.Introspectable"/>
<allow send_destination="net.reactivated.Fprint"
send_interface="org.freedesktop.DBus.Properties"/>
<allow send_destination="net.reactivated.Fprint"
send_interface="org.freedesktop.DBus.ObjectManager"/>
</policy>
</busconfig>

View File

@ -6,12 +6,12 @@
<policyconfig>
<vendor>The FPrint Project</vendor>
<vendor_url>http://reactivated.net/fprint/</vendor_url>
<vendor_url>https://fprint.freedesktop.org/</vendor_url>
<icon_name>fprint</icon_name>
<action id="net.reactivated.fprint.device.verify">
<_description>Verify a fingerprint</_description>
<_message>Privileges are required to verify fingerprints.</_message>
<description>Verify a fingerprint</description>
<message>Privileges are required to verify fingerprints.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
@ -20,18 +20,18 @@
</action>
<action id="net.reactivated.fprint.device.enroll">
<_description>Enroll new fingerprints</_description>
<_message>Privileges are required to enroll new fingerprints.</_message>
<description>Enroll new fingerprints</description>
<message>Privileges are required to enroll new fingerprints.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
<allow_active>auth_self_keep</allow_active>
</defaults>
</action>
<action id="net.reactivated.fprint.device.setusername">
<_description>Select a user to enroll</_description>
<_message>Privileges are required to enroll new fingerprints for other users.</_message>
<description>Select a user to enroll</description>
<message>Privileges are required to enroll new fingerprints for other users.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>

184
data/pam_fprintd.8 Normal file
View File

@ -0,0 +1,184 @@
.\" Automatically generated by Pod::Man 4.12 (Pod::Simple 3.39)
.\"
.\" 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" ''
. ds C`
. ds C'
'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 >0, 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.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\"
.\" 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 "pam_fprintd 8"
.TH pam_fprintd 8 "2020-01-24" "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"
pam_fprintd \- PAM module to authenticate against fprintd, the fingerprint daemon
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBpam_fprintd.so\fR [debug|debug=[\fIon\fR|\fIoff\fR|\fItrue\fR|\fIfalse\fR|\fI1\fR|\fI0\fR]] [max\-tries=\fI\s-1MAX_TRIES\s0\fR] [timeout=\fI\s-1TIMEOUT\s0\fR]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
The pam_fprintd module is used to verify a user's fingerprints against fingerprints
enrolled using fprintd, the fingerprint management daemon.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fBdebug\fR" 8
.IX Item "debug"
.PD 0
.IP "\fBdebug=[\f(BIon\fB|\f(BIoff\fB|\f(BItrue\fB|\f(BIfalse\fB|\f(BI1\fB|\f(BI0\fB]\fR" 8
.IX Item "debug=[on|off|true|false|1|0]"
.PD
Whether debug should be turned on or off. Debug messages will be generated using
pam_syslog which means that they will be saved in the systemd journal by default.
.IP "\fBmax\-tries=\f(BI\s-1MAX_TRIES\s0\fB\fR" 8
.IX Item "max-tries=MAX_TRIES"
The number of attempts at fingerprint authentication to try before returning an
authentication failure. The minimum, and default, number of tries is 3.
.IP "\fBtimeout=\f(BI\s-1TIMEOUT\s0\fB\fR" 8
.IX Item "timeout=TIMEOUT"
The amount of time before returning an authentication failure. The default timeout
is 30 seconds, with 10 seconds being the minimum.
.SH "LIMITATIONS"
.IX Header "LIMITATIONS"
The \s-1PAM\s0 stack is by design a serialised authentication, so it is not
possible for pam_fprintd to allow authentication through passwords and
fingerprints at the same time.
.PP
It is up to the application using the \s-1PAM\s0 services to implement separate
\&\s-1PAM\s0 processes and run separate authentication stacks separately. This
is the way multiple authentication methods are made available to users
of gdm for example.
.SH "AUTHOR"
.IX Header "AUTHOR"
\&\fBfprintd\fR was written by Bastien Nocera.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
.IP "\fBfprintd\fR, \fB\s-1PAM\s0\fR" 8
.IX Item "fprintd, PAM"

63
data/pam_fprintd.pod Normal file
View File

@ -0,0 +1,63 @@
=head1 NAME
pam_fprintd - PAM module to authenticate against fprintd, the fingerprint daemon
=head1 SYNOPSIS
B<pam_fprintd.so> [debug|debug=[I<on>|I<off>|I<true>|I<false>|I<1>|I<0>]] [max-tries=I<MAX_TRIES>] [timeout=I<TIMEOUT>]
=head1 DESCRIPTION
The pam_fprintd module is used to verify a user's fingerprints against fingerprints
enrolled using fprintd, the fingerprint management daemon.
=head1 OPTIONS
=over 8
=item B<debug>
=item B<debug=[I<on>|I<off>|I<true>|I<false>|I<1>|I<0>]>
Whether debug should be turned on or off. Debug messages will be generated using
pam_syslog which means that they will be saved in the systemd journal by default.
=item B<max-tries=I<MAX_TRIES>>
The number of attempts at fingerprint authentication to try before returning an
authentication failure. The minimum, and default, number of tries is 3.
=item B<timeout=I<TIMEOUT>>
The amount of time before returning an authentication failure. The default timeout
is 30 seconds, with 10 seconds being the minimum.
=back
=head1 LIMITATIONS
=over 8
=back
The PAM stack is by design a serialised authentication, so it is not
possible for pam_fprintd to allow authentication through passwords and
fingerprints at the same time.
It is up to the application using the PAM services to implement separate
PAM processes and run separate authentication stacks separately. This
is the way multiple authentication methods are made available to users
of gdm for example.
=head1 AUTHOR
B<fprintd> was written by Bastien Nocera.
=head1 SEE ALSO
=over 8
=item B<fprintd>, B<PAM>
=back

View File

@ -1,81 +0,0 @@
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

View File

@ -1,15 +0,0 @@
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 "<?xml version=\"1.0\"?>""<!DOCTYPE refentry PUBLIC \"-//OASIS//DTD DocBook XML V4.1.2//EN\" \"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd\">" > $@
$(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 "<?xml version=\"1.0\"?>""<!DOCTYPE refentry PUBLIC \"-//OASIS//DTD DocBook XML V4.1.2//EN\" \"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd\">" > $@
$(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

29
doc/dbus/meson.build Normal file
View File

@ -0,0 +1,29 @@
docbook_xml_header = custom_target('docbook_xml_header',
output: 'docbook-xml-header.xml',
command: [
'echo', '-n',
'<?xml version="1.0"?>\n',
'<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">\n',
],
capture: true,
)
dbus_interfaces_refs = []
foreach interface_file: dbus_interfaces_files
basename = run_command('basename', interface_file.full_path(), '.xml').stdout().strip()
dbus_interfaces_refs += custom_target(basename + '_ref',
input: docbook_xml_header,
output: basename + '.ref.xml',
build_by_default: true,
depends: interface_file,
capture: true,
command: [
bash, '-c',
'cat @INPUT@;' +
xsltproc.path() + ' @0@/@1@ '.format(
meson.source_root(),
files('spec-to-docbook.xsl')[0]) +
interface_file.full_path() + '| tail -n +2;',
],
)
endforeach

27
doc/meson.build Normal file
View File

@ -0,0 +1,27 @@
subdir('dbus')
version_file = configure_file(
input: 'version.xml.in',
output: 'version.xml',
configuration: configuration_data({
'VERSION': meson.project_version(),
}),
)
gnome.gtkdoc(meson.project_name(),
main_xml: 'fprintd-docs.xml',
src_dir: meson.source_root() / 'src',
dependencies: [
declare_dependency(
sources: dbus_interfaces_refs,
link_with: libfprintd_private,
),
],
content_files: [
version_file,
dbus_interfaces_refs,
],
ignore_headers: [
'config.h',
],
install: true)

196
git.mk
View File

@ -1,196 +0,0 @@
# 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

199
meson.build Normal file
View File

@ -0,0 +1,199 @@
project('fprintd', 'c',
version: '1.90.9',
license: 'GPLv2+',
default_options: [
'buildtype=debugoptimized',
'warning_level=3',
'c_std=gnu99',
],
meson_version: '>= 0.50.0')
gnome = import('gnome')
i18n = import('i18n')
cc = meson.get_compiler('c')
common_cflags = cc.get_supported_arguments([
'-fno-strict-aliasing',
'-Wcast-align',
'-Werror=address',
'-Werror=array-bounds',
'-Werror=empty-body',
'-Werror=implicit',
'-Werror=init-self',
'-Werror=int-to-pointer-cast',
'-Werror=main',
'-Werror=missing-braces',
'-Werror=nonnull',
'-Werror=pointer-to-int-cast',
'-Werror=redundant-decls',
'-Werror=return-type',
'-Werror=sequence-point',
'-Werror=trigraphs',
'-Werror=write-strings',
'-Wformat-nonliteral',
'-Wformat-security',
'-Wformat=2',
'-Wignored-qualifiers',
'-Wimplicit-function-declaration',
'-Wlogical-op',
'-Wmissing-declarations',
'-Wmissing-format-attribute',
'-Wmissing-include-dirs',
'-Wmissing-noreturn',
'-Wmissing-prototypes',
'-Wnested-externs',
'-Wold-style-definition',
'-Wpointer-arith',
'-Wshadow',
'-Wstrict-prototypes',
'-Wtype-limits',
'-Wundef',
'-Wunused',
])
add_project_arguments(common_cflags, language: 'c')
common_cflags = cc.get_supported_arguments([
# The stub passes a lot of params that we do not use, maybe a good idea to
# mark it appropriately, but this works well for now.
'-Wno-unused-parameter',
# We use g_signal_handlers_disconnect_* which is not compatible with -Wpedantic
'-Wno-pedantic',
])
add_project_arguments(common_cflags, language: 'c')
host_system = host_machine.system()
# NOTE: Bump gdbus-codegen min version once we can depend on 2.64!
glib_min_version = '2.56'
libfprint_min_version = '1.90.1'
fprintd_installdir = get_option('prefix') / get_option('libexecdir')
fprintd_plugindir = get_option('prefix') / get_option('libdir') / meson.project_name() / 'modules'
storage_path = get_option('prefix') / get_option('localstatedir') / 'lib/fprint'
localedir = get_option('prefix') / get_option('localedir')
datadir = get_option('prefix') / get_option('datadir')
sysconfdir = get_option('sysconfdir')
if get_option('prefix') != '/usr'
sysconfdir = get_option('prefix') / sysconfdir
endif
# Dependencies
glib_dep = dependency('glib-2.0', version: '>=' + glib_min_version)
gio_dep = dependency('gio-2.0', version: '>=' + glib_min_version)
gio_unix_dep = dependency('gio-unix-2.0', version: '>=' + glib_min_version)
gmodule_dep = dependency('gmodule-2.0', version: '>=' + glib_min_version)
libfprint_dep = dependency('libfprint-2', version: '>=' + libfprint_min_version)
polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.91')
dbus_dep = dependency('dbus-1', required: false)
libsystemd_dep = dependency('libsystemd', required: get_option('pam'))
pam_dep = cc.find_library('pam',
required: get_option('pam'),
has_headers: 'security/pam_modules.h',
)
pod2man = find_program('pod2man', required: get_option('man'))
xsltproc = find_program('xsltproc', required: get_option('gtk_doc'))
# StateDirectory was introduced in systemd 235
systemd_dep = dependency('systemd', version: '>= 235', required: false)
systemd_unit_dir = get_option('systemd_system_unit_dir')
if systemd_unit_dir == '' and systemd_dep.found()
systemd_unit_dir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
endif
if get_option('systemd') and systemd_unit_dir == ''
error('systemd development files or systemd_system_unit_dir is needed for systemd support.')
endif
dbus_service_dir = get_option('dbus_service_dir')
dbus_data_dir = datadir
dbus_interfaces_dir = ''
if dbus_dep.found()
if dbus_service_dir == ''
dbus_service_dir = dbus_dep.get_pkgconfig_variable('system_bus_services_dir')
endif
dbus_interfaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir')
dbus_data_dir = dbus_dep.get_pkgconfig_variable('datadir')
endif
dbus_conf_dir = dbus_data_dir / 'dbus-1/system.d'
if dbus_service_dir == ''
dbus_service_dir = datadir / 'dbus-1/system-services'
endif
if dbus_interfaces_dir == ''
dbus_interfaces_dir = datadir / 'dbus-1/interfaces'
endif
polkit_policy_directory = polkit_gobject_dep.get_pkgconfig_variable('policydir')
# Tests dependencies
pam_wrapper_dep = dependency('pam_wrapper', required: get_option('pam'))
xmllint = find_program('xmllint', required: false)
python3 = find_program('python3') # No meson without it!
python3_test_modules = {
'cairo': true,
'dbus': true,
'dbusmock': true,
'gi': true,
'gi.repository.FPrint': true,
'pypamtest': get_option('pam'),
}
python3_available_modules = []
foreach module, required : python3_test_modules
if required and run_command(python3, '-c', 'import @0@'.format(module)).returncode() != 0
error('Python3 module \'' + module + '\' required by test suite not found')
endif
endforeach
cdata = configuration_data()
cdata.set_quoted('GETTEXT_PACKAGE', meson.project_name())
cdata.set_quoted('PACKAGE_VERSION', meson.project_version())
cdata.set_quoted('VERSION', meson.project_version())
cdata.set_quoted('SYSCONFDIR', sysconfdir)
cdata.set('POLKIT_HAS_AUTOPOINTERS', polkit_gobject_dep.version().version_compare('>= 0.114'))
config_h = configure_file(
input: 'config.h.in',
output: 'config.h',
configuration: cdata
)
subdir('src')
subdir('data')
subdir('utils')
if get_option('pam')
subdir('pam')
endif
if get_option('gtk_doc')
subdir('doc')
endif
subdir('tests')
subdir('po')
output = []
output += 'System paths:'
output += ' prefix: ' + get_option('prefix')
output += ' fprintd daemon directory: ' + fprintd_installdir
output += ' fprintd modules directory: ' + fprintd_plugindir
output += ' fprintd prints storage directory: ' + storage_path
output += ' DBus configuration directory: ' + dbus_conf_dir
output += ' DBus service directory: ' + dbus_service_dir
output += ' DBus interfaces directory: ' + dbus_interfaces_dir
output += ' Polkit policy directory: ' + polkit_policy_directory
output += ' Systemd service directory: ' + systemd_unit_dir
if get_option('pam')
output += ' PAM module directory: ' + pam_modules_dir
endif
output += '\nOptional features:\n'
output += ' PAM module: ' + pam_dep.found().to_string()
output += ' Manuals: ' + get_option('man').to_string()
output += ' GTK Doc: ' + get_option('gtk_doc').to_string()
output += ' XML Linter ' + xmllint.found().to_string()
output += '\nTest setup:\n'
output += ' With address sanitizer: ' + address_sanitizer.to_string()
message('\n'+'\n'.join(output)+'\n')

25
meson_options.txt Normal file
View File

@ -0,0 +1,25 @@
option('pam',
description: 'Build the fprintd PAM module',
type: 'boolean',
value: true)
option('man',
description: 'Generate the man files',
type: 'boolean',
value: true)
option('systemd',
description: 'Install system service files',
type: 'boolean',
value: true)
option('systemd_system_unit_dir',
description: 'Directory for systemd service files',
type: 'string')
option('dbus_service_dir',
description: 'Directory for dbus service files',
type: 'string')
option('pam_modules_dir',
description: 'Directory for PAM modules',
type: 'string')
option('gtk_doc',
type: 'boolean',
value: false,
description: 'Use gtk-doc to build documentation')

View File

@ -1,22 +0,0 @@
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

View File

@ -1,7 +1,7 @@
/*
* Helper functions to translate statuses and actions to strings
* Copyright (C) 2008 Bastien Nocera <hadess@hadess.net>
*
*
* Experimental code. This will be moved out of fprintd into it's own
* package once the system has matured.
*
@ -9,132 +9,177 @@
* 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;
#ifndef _GNU_SOURCE
#error _GNU_SOURCE must be defined
#endif
#include <stdio.h>
#include <stdbool.h>
#define GNUC_UNUSED __attribute__((__unused__))
static bool
str_equal (const char *a, const char *b)
{
if (a == NULL && b == NULL)
return true;
if (a == NULL || b == NULL)
return false;
return strcmp (a, b) == 0;
}
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 }
{ "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 }
};
static char *finger_str_to_msg(const char *finger_name, const char *driver_name, gboolean is_swipe)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
GNUC_UNUSED static char *
finger_str_to_msg (const char *finger_name, const char *driver_name, bool is_swipe)
{
int i;
int i;
if (finger_name == NULL)
return NULL;
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));
}
}
}
for (i = 0; fingers[i].dbus_name != NULL; i++)
{
if (!str_equal (fingers[i].dbus_name, finger_name))
continue;
if (is_swipe == false)
{
if (driver_name)
{
char *s;
int ret;
ret = asprintf (&s, TR (fingers[i].place_str_specific), driver_name);
return ret >= 0 ? s : NULL;
}
else
{
return strdup (TR (fingers[i].place_str_generic));
}
}
else
{
if (driver_name)
{
char *s;
int ret;
ret = asprintf (&s, TR (fingers[i].swipe_str_specific), driver_name);
return ret >= 0 ? s : NULL;
}
else
{
return strdup (TR (fingers[i].swipe_str_generic));
}
}
}
return NULL;
return NULL;
}
#pragma GCC diagnostic pop
/* Cases not handled:
* verify-no-match
* verify-match
* verify-unknown-error
*/
static const char *verify_result_str_to_msg(const char *result, gboolean is_swipe)
GNUC_UNUSED static const char *
verify_result_str_to_msg (const char *result, bool is_swipe)
{
if (result == NULL)
return NULL;
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");
if (strcmp (result, "verify-retry-scan") == 0)
{
if (is_swipe == false)
return TR (N_("Place your finger on the reader again"));
else
return TR (N_("Swipe your finger again"));
}
if (strcmp (result, "verify-swipe-too-short") == 0)
return TR (N_("Swipe was too short, try again"));
if (strcmp (result, "verify-finger-not-centered") == 0)
return TR (N_("Your finger was not centered, try swiping your finger again"));
if (strcmp (result, "verify-remove-and-retry") == 0)
return TR (N_("Remove your finger, and try swiping your finger again"));
return NULL;
return NULL;
}
/* Cases not handled:
@ -142,24 +187,25 @@ static const char *verify_result_str_to_msg(const char *result, gboolean is_swip
* enroll-failed
* enroll-unknown-error
*/
static const char *enroll_result_str_to_msg(const char *result, gboolean is_swipe)
GNUC_UNUSED static const char *
enroll_result_str_to_msg (const char *result, bool is_swipe)
{
if (result == NULL)
return NULL;
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");
if (strcmp (result, "enroll-retry-scan") == 0 || strcmp (result, "enroll-stage-passed") == 0)
{
if (is_swipe == false)
return TR (N_("Place your finger on the reader again"));
else
return TR (N_("Swipe your finger again"));
}
if (strcmp (result, "enroll-swipe-too-short") == 0)
return TR (N_("Swipe was too short, try again"));
if (strcmp (result, "enroll-finger-not-centered") == 0)
return TR (N_("Your finger was not centered, try swiping your finger again"));
if (strcmp (result, "enroll-remove-and-retry") == 0)
return TR (N_("Remove your finger, and try swiping your finger again"));
return NULL;
return NULL;
}

30
pam/meson.build Normal file
View File

@ -0,0 +1,30 @@
mapfile = files('pam_fprintd.ver')
pam_modules_dir = get_option('pam_modules_dir')
if pam_modules_dir == ''
pam_modules_dir = '/' / get_option('libdir') / 'security'
endif
pam_fprintd = shared_module('pam_fprintd',
name_prefix: '',
include_directories: [
include_directories('..'),
],
sources: [
'pam_fprintd.c',
'fingerprint-strings.h',
],
dependencies: [
libsystemd_dep,
pam_dep,
],
c_args: [
'-DLOCALEDIR="@0@"'.format(localedir),
],
link_args: [
'-Wl,--version-script,@0@/@1@'.format(meson.source_root(), mapfile[0]),
'-Wl,--unresolved-symbols=report-all',
],
link_depends: mapfile,
install: true,
install_dir: pam_modules_dir,
)

File diff suppressed because it is too large Load Diff

6
pam/pam_fprintd.ver Normal file
View File

@ -0,0 +1,6 @@
{
global:
pam_*;
local:
*;
};

View File

@ -0,0 +1,61 @@
/*
* pam_fprint: PAM module for fingerprint authentication through fprintd
* Copyright (C) 2020 Marco Trevisan <marco.trevisan@canonical.com>
*
* 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.
*/
#pragma once
#include <stdlib.h>
/* Define auto-pointers functions, based on GLib Macros */
#define _CLEANUP_FUNC(func) __attribute__((cleanup (func)))
#define _PF_AUTOPTR_FUNC_NAME(TypeName) pf_autoptr_cleanup_ ## TypeName
#define _PF_AUTOPTR_TYPENAME(TypeName) TypeName ## _pf_autoptr
#define PF_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, cleanup) \
typedef TypeName *_PF_AUTOPTR_TYPENAME (TypeName); \
static __attribute__((__unused__)) inline void \
_PF_AUTOPTR_FUNC_NAME (TypeName) (TypeName **_ptr) \
{ if (_ptr) (cleanup) (*_ptr); }
#define PF_DEFINE_AUTO_CLEAN_FUNC(TypeName, cleanup) \
static __attribute__((__unused__)) inline void \
_PF_AUTOPTR_FUNC_NAME (TypeName) (TypeName *_ptr) \
{ cleanup (_ptr); }
static inline void
autoptr_cleanup_generic_free (void *p)
{
void **pp = (void **) p;
free (*pp);
}
#define pf_autofree _CLEANUP_FUNC (autoptr_cleanup_generic_free)
#define pf_autoptr(TypeName) \
_CLEANUP_FUNC (_PF_AUTOPTR_FUNC_NAME (TypeName)) \
_PF_AUTOPTR_TYPENAME (TypeName)
#define pf_auto(TypeName) \
_CLEANUP_FUNC (_PF_AUTOPTR_FUNC_NAME (TypeName)) TypeName
PF_DEFINE_AUTOPTR_CLEANUP_FUNC (sd_bus, sd_bus_unref)
PF_DEFINE_AUTOPTR_CLEANUP_FUNC (sd_bus_message, sd_bus_message_unref)
PF_DEFINE_AUTOPTR_CLEANUP_FUNC (sd_bus_slot, sd_bus_slot_unref)
PF_DEFINE_AUTO_CLEAN_FUNC (sd_bus_error, sd_bus_error_free)

View File

@ -1,45 +1,71 @@
ar
bg_BG
as
ast
az
be
bg
bn_IN
ca
ca@valencia
cs
cy
da
de
el
en_GB
eo
es
fa_IR
et
eu
fa
fi
fr
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

View File

@ -3,3 +3,4 @@ src/main.c
src/manager.c
src/device.c
pam/fingerprint-strings.h
pam/pam_fprintd.c

View File

@ -6,11 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/freedesktop/language/ar/)\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"
@ -18,28 +18,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "الصلاحيات مطلوبة لتسجيل بصمات جديدة للمستخدمين الآخرين."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify 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 "Verify a fingerprint"
msgstr "أكّد البصمة"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "الصلاحيات مطلوبة لتسجيل بصمات جديدة للمستخدمين الآخرين."
#: ../src/device.c:385
#, c-format
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr "ضع أصبعك على القارئ مرة أخرى"
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "انقر بأصبعك مرة أخرى"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr "النقرة كانت سريعة، حاول ثانيا"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr "ارفع أصبعك، ثم حاول ثانيا"

270
po/as.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

270
po/ast.po Normal file
View File

@ -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 <piotrdrag@gmail.com>\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 ""

270
po/az.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

270
po/be.po Normal file
View File

@ -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 <piotrdrag@gmail.com>\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 ""

View File

@ -3,15 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Alexander Shopov <ash@kambanaria.org>, 2011.
# Alexander Shopov <ash@kambanaria.org>, 2011
# Tony Ivanov <duskull88@fastmail.fm>, 2017
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Bulgarian (http://www.transifex.com/projects/p/freedesktop/language/bg/)\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 <duskull88@fastmail.fm>\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"
@ -19,28 +20,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Необходими са допълнителни привилегии, за да добавяте нови отпечатъци за други потребители."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify 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 "Verify a fingerprint"
msgstr "Проверка на отпечатък"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Необходими са допълнителни привилегии, за да добавяте нови отпечатъци за други потребители."
#: ../src/device.c:385
#, c-format
@ -54,12 +55,12 @@ msgstr "Устройството е заето от друг потребите
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
msgstr "Поставете вашия пръст на четеца за пръстови отпечатъци"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "Поставете вашият пръст на %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
@ -250,22 +251,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr "Отново поставете пръста си върху четеца"
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Отново прекарайте пръста си върху четеца"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr "Прекалено бързо прекарахте пръста си, опитайте отново"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr "Махнете пръста си и го прекарайте отново"

View File

@ -1,172 +0,0 @@
# 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: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2011-04-18 17:52+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.net/projects/p/freedesktop/language/bg_BG/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bg_BG\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify 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 "Verify a fingerprint"
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:28
#, c-format
msgid "Place your left thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:28
#, c-format
msgid "Swipe your left thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:29
#, c-format
msgid "Place your left index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:29
#, c-format
msgid "Swipe your left index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:30
#, c-format
msgid "Place your left middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:30
#, c-format
msgid "Swipe your left middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:31
#, c-format
msgid "Place your left ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:31
#, c-format
msgid "Swipe your left ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your left little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Swipe your left little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:33
#, c-format
msgid "Place your right thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:33
#, c-format
msgid "Swipe your right thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Place your right index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your right index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:35
#, c-format
msgid "Place your right middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:35
#, c-format
msgid "Swipe your right middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:36
#, c-format
msgid "Place your right ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:36
#, c-format
msgid "Swipe your right ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:37
#, c-format
msgid "Place your right little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:37
#, c-format
msgid "Swipe your right little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
msgid "Your finger was not centered, try swiping your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:81 ../pam/fingerprint-strings.h:107
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -6,11 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Bengali (India) (http://www.transifex.com/projects/p/freedesktop/language/bn_IN/)\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"
@ -18,19 +18,19 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -38,7 +38,7 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

154
po/ca.po
View File

@ -3,14 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2015
# xavier <catala.xavier@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/freedesktop/language/ca/)\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 <rbuj@fedoraproject.org>\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"
@ -18,253 +20,253 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgstr ""
msgid "Verify a fingerprint"
msgstr "Comprova una empremta"
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
msgid "Privileges are required to verify fingerprints."
msgstr "Es requereixen privilegis per verificar empremtes."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
msgid "Enroll new fingerprints"
msgstr "Inscriu empremtes noves"
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgstr ""
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 ""
msgstr "Selecciona un usuari per inscriure"
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgstr ""
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 ""
msgstr "El dispositiu no estava preparat"
#: ../src/device.c:395
#, c-format
msgid "Device already in use by another user"
msgstr ""
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 ""
msgstr "Poseu el dit al lector d'empremtes"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "Poseu el dit a %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
msgstr "Passeu el dit pel lector d'empremtes"
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
msgstr "Passeu el dit per %s"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
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 ""
msgstr "Poseu el dit gros esquerre a %s"
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passeu el dit gros esquerre per %s"
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Poseu el dit índex esquerre a %s"
#: ../pam/fingerprint-strings.h:43
msgid "Swipe your left index finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passeu el dit índex esquerre per %s"
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
msgstr ""
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 ""
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 ""
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 ""
msgstr "Passeu el dit anular esquerre per %s"
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Poseu el dit anular esquerre a %s"
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passeu el dit anular esquerre per %s"
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Poseu el dit petit esquerre a %s"
#: ../pam/fingerprint-strings.h:58
msgid "Swipe your left little finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passeu el dit petit esquerre per %s"
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
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 ""
msgstr "Poseu el dit gros dret a %s"
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passeu el dit gros dret per %s"
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Poseu el dit índex dret a %s"
#: ../pam/fingerprint-strings.h:68
msgid "Swipe your right index finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passeu el dit índex dret per %s"
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
msgstr ""
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 ""
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 ""
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 ""
msgstr "Passeu el dit anular dret per %s"
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Poseu el dit anular dret a %s"
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passeu el dit anular dret per %s"
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Poseu el dit petit dret a %s"
#: ../pam/fingerprint-strings.h:83
msgid "Swipe your right little finger across the fingerprint reader"
msgstr ""
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 ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
msgid "Swipe your finger again"
msgstr ""
msgstr "Passeu el dit petit dret per %s"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Swipe was too short, try again"
msgstr ""
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 "Your finger was not centered, try swiping your finger again"
msgstr ""
msgid "Swipe your finger again"
msgstr "Passeu el dit un altre cop"
#: ../pam/fingerprint-strings.h:135 ../pam/fingerprint-strings.h:161
#: ../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 ""
msgstr "Retireu el dit i intenteu passar el dit de nou"

View File

@ -6,11 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Catalan (Valencian) (http://www.transifex.com/projects/p/freedesktop/language/ca@valencia/)\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"
@ -18,19 +18,19 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -38,7 +38,7 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

14
po/check-translations.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/bash
po_dir=$(dirname $0)
for i in $po_dir/*.po ; do
if ! grep -q `basename $i | sed 's,.po,,'` $po_dir/LINGUAS; then
echo '**********************************';
echo '***' `basename $i | sed 's,.po,,'` missing from po/LINGUAS '***' ;
echo '**********************************';
exit 1;
fi;
done;
exit 0

151
po/cs.po
View File

@ -3,43 +3,44 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Marek Černocký <marek@manet.cz>, 2013
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\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ý <marek@manet.cz>\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=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\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:2
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í."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
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:5
msgid "Select a user to enroll"
msgstr "Zvolte uživatele k registraci"
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgstr "Ověřit otisk prstů"
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
@ -53,218 +54,218 @@ 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 ""
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 ""
msgstr "Přiložte svůj prst na %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
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 ""
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 ""
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 "Položte palec levé ruky na %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 ""
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 ""
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 ""
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 "Položte ukazováček levé ruky na %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 ""
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 ""
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 ""
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 "Položte prostředníček levé ruky na %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 ""
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 ""
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 ""
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 "Položte prsteníček levé ruky na %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 ""
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 ""
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 ""
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 "Položte malíček levé ruky na %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 ""
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 ""
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 ""
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 "Položte palec pravé ruky na %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 ""
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 ""
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 ""
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 "Položte ukazováček pravé ruky na %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 ""
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 ""
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 ""
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 "Položte prostředníček pravé ruky na %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 ""
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 ""
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 ""
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 "Položte prsteníček pravé ruky na %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 ""
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 ""
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 ""
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 "Položte malíček pravé ruky na %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 ""
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 ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
msgid "Place your finger on the reader again"
msgstr "Položte prst na čtečku znovu"
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
msgid "Swipe your finger again"
msgstr "Otiskněte prst znovu"
msgstr "Přejeďte malíčkem pravé ruky přes %s"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Swipe was too short, try again"
msgstr "Otisknutí bylo příliš rychlé, zkuste to znovu"
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 "Your finger was not centered, try swiping your finger again"
msgstr "Prst nebyl položen na střed, zkuste prst otisknout znovu"
msgid "Swipe your finger again"
msgstr "Přejeďte prstem znovu"
#: ../pam/fingerprint-strings.h:135 ../pam/fingerprint-strings.h:161
#: ../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 jej znovu otisknout"
msgstr "Sejměte prst a zkuste s ním přejet znovu"

270
po/cy.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

271
po/da.po Normal file
View File

@ -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 <joedalton2@yahoo.dk>, 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 <joedalton2@yahoo.dk>\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"

133
po/de.po
View File

@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Ettore Atalan <atalanttore@googlemail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/freedesktop/language/de/)\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 <atalanttore@googlemail.com>\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"
@ -18,28 +19,28 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgstr "Neue Fingerabdrücke eintragen"
msgid "Verify a fingerprint"
msgstr "Einen Fingerabdruck überprüfen"
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Systemverwalterrechte sind zum Eintragen neuer Fingerabdrücke für andere Benutzer erforderlich."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
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:4
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 "Einzutragenden Benutzer auswählen"
msgstr "Wählen Sie einen Benutzer zum Eintragen aus"
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgstr "Einen Fingerabdruck überprüfen"
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
@ -49,29 +50,29 @@ 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 beansprucht"
msgstr "Gerät wird bereits von einem anderen Benutzer verwendet"
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
msgstr "Legen Sie Ihren Finger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "Legen Sie Ihren Finger auf %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
msgstr "Wischen Sie mit Ihrem Finger über den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
msgstr "Wischen Sie mit Ihrem Finger über %s"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
msgstr "Legen Sie Ihren linken Daumen auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:37
#, c-format
@ -80,16 +81,16 @@ msgstr "Legen Sie Ihren linken Daumen auf %s"
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
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 ""
msgstr "Wischen Sie mit linken Daumen über %s"
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
msgstr "Legen Sie Ihren linken Zeigefinger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:42
#, c-format
@ -98,16 +99,16 @@ msgstr "Legen Sie Ihren linken Zeigefinger auf %s"
#: ../pam/fingerprint-strings.h:43
msgid "Swipe your left index finger across the fingerprint reader"
msgstr ""
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 ""
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 ""
msgstr "Legen Sie Ihren linken Mittelfinger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:47
#, c-format
@ -116,16 +117,16 @@ msgstr "Legen Sie Ihren linken Zeigefinger auf %s"
#: ../pam/fingerprint-strings.h:48
msgid "Swipe your left middle finger across the fingerprint reader"
msgstr ""
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 ""
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 ""
msgstr "Legen Sie Ihren linken Ringfinger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:52
#, c-format
@ -134,16 +135,16 @@ msgstr "Legen Sie Ihren linken Ringfinger auf %s"
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
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 ""
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 ""
msgstr "Legen Sie Ihren linken kleinen Finger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:57
#, c-format
@ -152,16 +153,16 @@ 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 ""
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 ""
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 ""
msgstr "Legen Sie Ihren rechten Daumen auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:62
#, c-format
@ -170,16 +171,16 @@ msgstr "Legen Sie Ihren rechten Daumen auf %s"
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
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 ""
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 ""
msgstr "Legen Sie Ihren rechten Zeigefinger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:67
#, c-format
@ -188,16 +189,16 @@ msgstr "Legen Sie Ihren rechten Zeigefinger auf %s"
#: ../pam/fingerprint-strings.h:68
msgid "Swipe your right index finger across the fingerprint reader"
msgstr ""
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 ""
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 ""
msgstr "Legen Sie Ihren rechten Mittelfinger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:72
#, c-format
@ -206,16 +207,16 @@ msgstr "Legen Sie Ihren rechten Mittelfinger auf %s"
#: ../pam/fingerprint-strings.h:73
msgid "Swipe your right middle finger across the fingerprint reader"
msgstr ""
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 ""
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 ""
msgstr "Legen Sie Ihren rechten Ringfinger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:77
#, c-format
@ -224,16 +225,16 @@ msgstr "Legen Sie Ihren rechten Ringfinger auf %s"
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
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 ""
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 ""
msgstr "Legen Sie Ihren rechten kleinen Finger auf den Fingerabdruckleser"
#: ../pam/fingerprint-strings.h:82
#, c-format
@ -242,29 +243,29 @@ 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 ""
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 ""
msgstr "Wischen Sie mit Ihrem rechten kleinen Finger über %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
msgid "Swipe your finger again"
msgstr "Streifen Sie Ihren Finger erneut"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Swipe was too short, try again"
msgstr "Das Abstreifen war zu kurz, versuchen Sie es erneut"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Your finger was not centered, try swiping your finger again"
msgstr "Ihr Finger war nicht zentriert, versuchen Sie erneut Ihren Finger abzustreifen"
msgid "Swipe your finger again"
msgstr "Wischen Sie erneut mit Ihrem Finger"
#: ../pam/fingerprint-strings.h:135 ../pam/fingerprint-strings.h:161
#: ../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 abzustreifen"
msgstr "Entfernen Sie Ihren Finger und versuchen Sie erneut Ihren Finger zu wischen"

View File

@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# George Stefanakis <george.stefanakis@gmail.com>, 2011.
# Γιώργος Στεφανάκης <george.stefanakis@gmail.com>, 2011.
# geost <george.stefanakis@gmail.com>, 2011
# geost <george.stefanakis@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-07-24 22:27+0000\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 <tomtryf@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/freedesktop/language/el/)\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"
@ -20,28 +20,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Απαιτούνται προνόμια για την καταγραφή νέων δακτυλικών αποτυπωμάτων για άλλους χρήστες."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify 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 "Verify a fingerprint"
msgstr "Επιβεβαιώστε ένα δακτυλικό αποτύπωμα"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Απαιτούνται προνόμια για την καταγραφή νέων δακτυλικών αποτυπωμάτων για άλλους χρήστες."
#: ../src/device.c:385
#, c-format
@ -251,22 +251,22 @@ msgstr "Περάστε το δεξιό σας μικρό δάκτυλο π
msgid "Swipe your right little finger across %s"
msgstr "Περάστε το δεξιό σας μικρό δάκτυλο πάνω από το %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr "Τοποθετήστε ξανά το δάκτυλό σας στον αναγνώστη"
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Περάστε ξανά το δάκτυλο σας"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr "Το πέρασμα ήταν πολύ σύντομο, προσπαθήστε ξανά"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr "Απομακρύνετε το δάκτυλο σας και προσπαθήστε να το ξαναπεράσετε"

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Chris Leonard <cjl@laptop.org>, 2012.
# Chris Leonard <cjl@laptop.org>, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-09-05 12:23+0000\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 <bruce@bcowan.me.uk>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/freedesktop/language/en_GB/)\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Privileges are required to enroll new fingerprints for other users."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Privileges are required to verify 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 "Verify a fingerprint"
msgstr "Verify a fingerprint"
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
@ -250,22 +250,22 @@ msgstr "Swipe your right little finger across the fingerprint reader"
msgid "Swipe your right little finger across %s"
msgstr "Swipe your right little finger across %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Swipe your finger again"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2011.
# Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/freedesktop/language/eo/)\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Sistemprivilegioj estas bezonate por registri novajn fingrospurojn por aliaj uzantoj."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Sistemprivilegioj estas bezonate por kontroli 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 "Verify a fingerprint"
msgstr "Kontroli fingrospuron"
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
@ -250,22 +250,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Turnetu vian fingron denove"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

130
po/es.po
View File

@ -3,15 +3,17 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2012.
# Adolfo Jayme Barrientos, 2015
# Adolfo Jayme Barrientos, 2014
# Daniel Mustieles <inactive+leo@transifex.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-06-27 17:09+0000\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/freedesktop/language/es/)\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"
@ -19,28 +21,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Se requieren privilegios para enrollar huellas nuevas para otros usuarios."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Se requieren privilegios para verificar huellas."
#: ../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 "Verify a fingerprint"
msgstr "Verificar una huella"
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
@ -50,7 +52,7 @@ msgstr "No se llamó al dispositivo antes de usarlo"
#: ../src/device.c:395
#, c-format
msgid "Device already in use by another user"
msgstr "El dispositivo ya está en uso por otro usuario"
msgstr "Otro usuario ya está utilizando el dispositivo"
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
@ -63,12 +65,12 @@ msgstr "Coloque su dedo en %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr "Pase su dedo por el lector de huellas dactilares"
msgstr "Deslice su dedo por el lector de huellas dactilares"
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr "Pase su dedo por %s"
msgstr "Deslice su dedo por %s"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
@ -77,16 +79,16 @@ 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 "Ponga su pulgar izquierdo en %s"
msgstr "Coloque su pulgar izquierdo en %s"
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr "Pase su pulgar izquierdo por el lector de huellas dactilares"
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 "Pase su pulgar izquierdo por %s"
msgstr "Deslice su pulgar izquierdo por %s"
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
@ -95,16 +97,16 @@ 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 "Ponga su dedo ndice izquierdo en %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 "Pase su dedo índice izquierdo por el lector de huellas dactilares"
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 "Pase su dedo índice izquierdo por %s"
msgstr "Deslice su dedo índice izquierdo por %s"
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
@ -113,16 +115,16 @@ 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 "Ponga su dedo corazn izquierdo en %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 "Pase su dedo corazón izquierdo por el lector de huellas dactilares"
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 "Pase su dedo corazón izquierdo por %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"
@ -131,16 +133,16 @@ 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 "Ponga su dedo anular izquierdo en %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 "Pase su dedo anular izquierdo por el lector de huellas dactilares"
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 "Pase su dedo anular izquierdo por %s"
msgstr "Deslice su dedo anular izquierdo por %s"
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
@ -149,16 +151,16 @@ 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 "Ponga su dedo meique izquierdo en %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 "Pase su meñique izquierdo por el lector de huellas dactilares"
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 "Pase su meñique izquierdo por %s"
msgstr "Deslice su meñique izquierdo por %s"
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
@ -167,16 +169,16 @@ 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 "Ponga su pulgar derecho en %s"
msgstr "Coloque su pulgar derecho en %s"
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr "Pase su pulgar derecho por el lector de huellas dactilares"
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 "Pase su pulgar derecho por %s"
msgstr "Deslice su pulgar derecho por %s"
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
@ -185,16 +187,16 @@ 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 "Ponga su dedo ndice derecho en %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 "Pase su dedo índice derecho por el lector de huellas dactilares"
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 "Pase su dedo índice derecho por %s"
msgstr "Deslice su dedo índice derecho por %s"
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
@ -203,16 +205,16 @@ 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 "Ponga su dedo corazn derecho en %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 "Pase su dedo corazón derecho por el lector de huellas dactilares"
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 "Pase su dedo corazón derecho por %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"
@ -221,16 +223,16 @@ 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 "Ponga su dedo anular derecho en %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 "Pase su dedo anular derecho por el lector de huellas dactilares"
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 "Pase su dedo anular derecho por %s"
msgstr "Deslice su dedo anular derecho por %s"
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
@ -239,33 +241,33 @@ 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 "Ponga su dedo meique derecho en %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 "Pase su meñique derecho por el lector de huellas dactilares"
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 "Pase su meñique derecho por %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
msgid "Place your finger on the reader again"
msgstr "Ponga de nuevo su dedo en el lector"
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
msgid "Swipe your finger again"
msgstr "Pase su dedo de nuevo"
msgstr "Deslice su meñique derecho por %s"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Swipe was too short, try again"
msgstr "La pasada fue demasiado corta, inténtelo de nuevo"
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 "Your finger was not centered, try swiping your finger again"
msgstr "Su dedo no estaba centrado, intente pasar su dedo de nuevo"
msgid "Swipe your finger again"
msgstr "Deslice su dedo de nuevo"
#: ../pam/fingerprint-strings.h:135 ../pam/fingerprint-strings.h:161
#: ../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 pasar su dedo de nuevo"
msgstr "Quite su dedo e intente deslizarlo de nuevo"

270
po/et.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

270
po/eu.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

View File

@ -6,31 +6,31 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\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 <EMAIL@ADDRESS>\n"
"Language-Team: Persian (http://www.transifex.com/projects/p/freedesktop/language/fa/)\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=1; plural=0;\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -38,7 +38,7 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -1,172 +0,0 @@
# 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: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2011-04-18 17:52+0100\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Persian (Iran) (http://www.transifex.net/projects/p/freedesktop/language/fa_IR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fa_IR\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify 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 "Verify a fingerprint"
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:28
#, c-format
msgid "Place your left thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:28
#, c-format
msgid "Swipe your left thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:29
#, c-format
msgid "Place your left index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:29
#, c-format
msgid "Swipe your left index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:30
#, c-format
msgid "Place your left middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:30
#, c-format
msgid "Swipe your left middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:31
#, c-format
msgid "Place your left ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:31
#, c-format
msgid "Swipe your left ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your left little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Swipe your left little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:33
#, c-format
msgid "Place your right thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:33
#, c-format
msgid "Swipe your right thumb on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Place your right index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your right index finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:35
#, c-format
msgid "Place your right middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:35
#, c-format
msgid "Swipe your right middle finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:36
#, c-format
msgid "Place your right ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:36
#, c-format
msgid "Swipe your right ring finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:37
#, c-format
msgid "Place your right little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:37
#, c-format
msgid "Swipe your right little finger on %s"
msgstr ""
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
msgid "Your finger was not centered, try swiping your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:81 ../pam/fingerprint-strings.h:107
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -3,15 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Ville Skyttä <ville.skytta@iki.fi>, 2011.
# Jiri Grönroos <jiri.gronroos@iki.fi>, 2013,2018
# Ville Skyttä <ville.skytta@iki.fi>, 2011,2016
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Finnish (http://www.transifex.com/projects/p/freedesktop/language/fi/)\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 <jiri.gronroos@iki.fi>\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"
@ -19,19 +20,19 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgstr ""
msgid "Verify a fingerprint"
msgstr "Vahvista sormenjälki"
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -39,8 +40,8 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgstr "Tarkista sormenjälki"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
#, c-format
@ -50,16 +51,16 @@ msgstr ""
#: ../src/device.c:395
#, c-format
msgid "Device already in use by another user"
msgstr ""
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 ""
msgstr "Aseta sormesi sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "Aseta sormesi lukijaan %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
@ -72,7 +73,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
msgstr "Aseta vasen peukalo sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:37
#, c-format
@ -90,7 +91,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
msgstr "Aseta vasen etusormi sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:42
#, c-format
@ -108,7 +109,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
msgstr ""
msgstr "Aseta vasen keskisormi sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:47
#, c-format
@ -126,7 +127,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
msgstr "Aseta vasen nimetön sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:52
#, c-format
@ -144,7 +145,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
msgstr "Aseta vasen pikkusormi sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:57
#, c-format
@ -162,7 +163,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
msgstr "Aseta oikea peukalo sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:62
#, c-format
@ -180,7 +181,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
msgstr "Aseta oikea etusormi sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:67
#, c-format
@ -198,7 +199,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
msgstr ""
msgstr "Aseta oikea keskisormi sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:72
#, c-format
@ -216,7 +217,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
msgstr "Aseta oikea nimetön sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:77
#, c-format
@ -234,7 +235,7 @@ msgstr ""
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
msgstr "Aseta oikea pikkusormi sormenjälkilukijalle"
#: ../pam/fingerprint-strings.h:82
#, c-format
@ -250,22 +251,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Pyyhkäise sormellasi uudelleen"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Gunleif Joensen <fo.umseting@gmail.com>, 2011.
# Gunleif Joensen <fo.umseting@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
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."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
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: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 "Verify a fingerprint"
msgstr "Vátta eitt fingramerki"
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
@ -250,22 +250,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../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:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

View File

@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# <claude@2xlibre.net>, 2012.
# claudep <claude@2xlibre.net>, 2011.
# Claude Paroz <claude@2xlibre.net>, 2012
# Claude Paroz <claude@2xlibre.net>, 2011
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-10-19 08:26+0000\n"
"Last-Translator: claudep <claude@2xlibre.net>\n"
"Language-Team: French <traduc@traduc.org>\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 <claude@2xlibre.net>\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"
@ -20,28 +20,28 @@ msgstr ""
"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:2
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."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
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:5
msgid "Select a user to enroll"
msgstr "Choisir un utilisateur pour l'introduction"
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgstr "Vérifier une empreinte digitale"
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
@ -251,22 +251,22 @@ msgstr "Faites glisser votre auriculaire droit sur le lecteur d'empreintes"
msgid "Swipe your right little finger across %s"
msgstr "Faites glisser votre auriculaire droit sur %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Glissez à nouveau votre doigt"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

271
po/fur.po Normal file
View File

@ -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 <f.t.public@gmail.com>, 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 <f.t.public@gmail.com>\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"

View File

@ -6,11 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Irish (http://www.transifex.com/projects/p/freedesktop/language/ga/)\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"
@ -18,19 +18,19 @@ msgstr ""
"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 "Enroll new fingerprints"
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -38,7 +38,7 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Fran Diéguez <frandieguez@ubuntu.com>, 2012.
# Fran Diéguez <frandieguez@ubuntu.com>, 2012-2013
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-10-21 20:16+0000\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 <frandieguez@ubuntu.com>\n"
"Language-Team: Galician <proxecto@trasno.net>\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Requírense privilexios para rexistrar novas pegadas dixitais para outros usuarios."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Requírense privilexios para verificar 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 "Verify a fingerprint"
msgstr "Verificar a pegada dixital"
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
@ -104,7 +104,7 @@ 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"
msgstr "Pase o seu dedo índice esquerdo sobre %s"
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
@ -153,7 +153,7 @@ 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 "Pse o seu dedo maimiño esquerdo polo lector de pegadas dixitais"
msgstr "Pase o seu dedo maimiño esquerdo polo lector de pegadas dixitais"
#: ../pam/fingerprint-strings.h:59
#, c-format
@ -250,22 +250,22 @@ msgstr "Pase o seu dedo maimiño dereito sobre o lector de pegadas dixitais"
msgid "Swipe your right little finger across %s"
msgstr "Pase o seu dedo maimiño dereito sobre %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../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:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr "A lectura foi moi curta, ténteo de novo"
msgstr "A pasada foi moi curta, ténteo de novo"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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 deslizar o seu dedo de novo"
msgstr "O seu dedo non estaba centrado, tente a deslizalo de novo"
#: ../pam/fingerprint-strings.h:135 ../pam/fingerprint-strings.h:161
#: ../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 deslizar o seu dedo de novo"
msgstr "Retire o seu dedo e tente deslizalo de novo"

270
po/gu.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

View File

@ -6,31 +6,31 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/freedesktop/language/he/)\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=2; plural=(n != 1);\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 "Enroll new fingerprints"
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -38,7 +38,7 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -6,11 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/freedesktop/language/hi/)\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"
@ -18,19 +18,19 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -38,7 +38,7 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-10-04 22:27+0000\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 <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Potrebne su ovlasti za unošenje novih otisaka prstiju za druge korisnike."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Potrebne su ovlasti za provjeru 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 "Verify a fingerprint"
msgstr "Provjeri otiske prstiju"
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
@ -250,22 +250,22 @@ msgstr "Povucite mali prst desne ruke preko čitača otisaka prstiju"
msgid "Swipe your right little finger across %s"
msgstr "Povucite mali prst desne ruke preko %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Povucite prst još jednom"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Gabor Kelemen <kelemeng at gnome dot hu>, 2012.
# Gabor Kelemen <kelemeng at gnome dot hu>, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-09-03 12:34+0000\n"
"Last-Translator: kelemeng <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <openscope@googlegroups.com>\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 <kelemeng@ubuntu.com>\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
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."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
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: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 "Verify a fingerprint"
msgstr "Ujjlenyomat ellenőrzése"
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
@ -250,22 +250,22 @@ msgstr "Húzza le a jobb kisujját az ujjlenyomat-olvasón"
msgid "Swipe your right little finger across %s"
msgstr "Húzza le a jobb kisujját ezen: %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../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:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

154
po/ia.po
View File

@ -3,14 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Martijn Dekker <mcdutchie@hotmail.com>, 2015
# Nik Kalach <nik.kalach@inbox.ru>, 2013
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2010-11-30 07:44+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/freedesktop/language/ia/)\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 <mcdutchie@hotmail.com>\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"
@ -18,253 +20,253 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgstr ""
msgid "Verify a fingerprint"
msgstr "Verificar un impression digital"
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
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 "Privileges are required to enroll new fingerprints."
msgstr ""
msgid "Enroll new fingerprints"
msgstr "Registrar nove impressiones digital"
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgstr ""
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 ""
msgstr "Selige un usator a registrar"
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgstr ""
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 ""
msgstr "Le dispositivo non era reservate ante le uso"
#: ../src/device.c:395
#, c-format
msgid "Device already in use by another user"
msgstr ""
msgstr "Le dispositivo es in uso per altere usator"
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
msgstr "Placia le digito sur le lector de impressiones"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "Placia le digito sur %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
msgstr "Passa le digito trans le lector de impressiones"
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
msgstr "Passa le digito trans %s"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le pollice sinistre sur %s"
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le pollice sinistre trans %s"
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le indice sinistre sur %s"
#: ../pam/fingerprint-strings.h:43
msgid "Swipe your left index finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le indice sinistre trans %s"
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le digito medie sinistre sur %s"
#: ../pam/fingerprint-strings.h:48
msgid "Swipe your left middle finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le digito medie sinistre trans %s"
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le digito anular sinistre sur %s"
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le digito anular sinistre trans %s"
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le digito auricular sinistre sur %s"
#: ../pam/fingerprint-strings.h:58
msgid "Swipe your left little finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le digito auricular sinistre trans %s"
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le pollice dextere sur %s"
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le pollice dextere trans %s"
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le indice dextere sur %s"
#: ../pam/fingerprint-strings.h:68
msgid "Swipe your right index finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le indice dextere trans %s"
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le digito medie dextere sur %s"
#: ../pam/fingerprint-strings.h:73
msgid "Swipe your right middle finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le digito medie dextere trans %s"
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le digito anular dextere sur %s"
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passa le digito anular dextere trans %s"
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
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 ""
msgstr "Placia le digito auricular dextere sur %s"
#: ../pam/fingerprint-strings.h:83
msgid "Swipe your right little finger across the fingerprint reader"
msgstr ""
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 ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
msgid "Swipe your finger again"
msgstr ""
msgstr "Passa le digito auricular dextere trans %s"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Swipe was too short, try again"
msgstr ""
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 "Your finger was not centered, try swiping your finger again"
msgstr ""
msgid "Swipe your finger again"
msgstr "Passa le digito de novo"
#: ../pam/fingerprint-strings.h:135 ../pam/fingerprint-strings.h:161
#: ../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 ""
msgstr "Remove le digito e tenta de passar lo de novo"

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Andika Triwidada <andika@gmail.com>, 2012.
# Andika Triwidada <andika@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-29 03:11+0000\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 <andika@gmail.com>\n"
"Language-Team: Indonesian (http://www.transifex.com/projects/p/freedesktop/language/id/)\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Diperlukan hak khusus untuk mendaftarkan sidik jari baru bagi pengguna lain."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Diperlukan hak khusus untuk memeriksa kebenaran sidik jari."
#: ../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 "Verify a fingerprint"
msgstr "Periksa kebenaran sidik jari"
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
@ -250,22 +250,22 @@ msgstr "Sapukan kelingking kanan Anda pada pembaca sidik jari"
msgid "Swipe your right little finger across %s"
msgstr "Sapukan kelingking kanan Anda pada %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Gesekkan lagi jari Anda"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

111
po/it.po
View File

@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Milo Casagrande <milo@ubuntu.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/freedesktop/language/it/)\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 <milo@ubuntu.com>\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"
@ -18,28 +19,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Sono richiesti dei privilegi per registrare nuove impronte per altri utenti."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Sono richiesti dei privilegi per verificare le 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 "Verify a fingerprint"
msgstr "Verifica una impronta"
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
@ -53,25 +54,25 @@ msgstr "Un altro utente sta già usando il device"
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare il dito sul lettore di impronte"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "Posizionare il dito su %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
msgstr "Passare il dito sul lettore di impronte"
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
msgstr "Passare il dito su %s"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
msgstr "Posizionare il pollice sinistro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:37
#, c-format
@ -80,16 +81,16 @@ msgstr "Posizionare il pollice sinistro su %s"
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
msgstr "Passare il pollice sinistro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:39
#, c-format
msgid "Swipe your left thumb across %s"
msgstr ""
msgstr "Passare il pollice sinistro su %s"
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare l'indice sinistro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:42
#, c-format
@ -98,16 +99,16 @@ msgstr "Posizionare l'indice sinistro su %s"
#: ../pam/fingerprint-strings.h:43
msgid "Swipe your left index finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passare l'indice sinistro su %s"
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare il medio sinistro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:47
#, c-format
@ -116,16 +117,16 @@ msgstr "Posizionare il medio sinistro su %s"
#: ../pam/fingerprint-strings.h:48
msgid "Swipe your left middle finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passare il medio sinistro su %s"
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare l'anulare sinistro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:52
#, c-format
@ -134,16 +135,16 @@ msgstr "Posizionare l'anulare sinistro su %s"
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passare l'anulare sinistro su %s"
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare il mignolo sinistro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:57
#, c-format
@ -152,16 +153,16 @@ msgstr "Posizionare il mignolo sinistro su %s"
#: ../pam/fingerprint-strings.h:58
msgid "Swipe your left little finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passare il mignolo sinistro su %s"
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
msgstr "Posizionare il pollice destro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:62
#, c-format
@ -170,16 +171,16 @@ msgstr "Posizionare il pollice destro su %s"
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
msgstr "Passare il pollice destro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:64
#, c-format
msgid "Swipe your right thumb across %s"
msgstr ""
msgstr "Passare il pollice destro su %s"
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare l'indice destro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:67
#, c-format
@ -188,16 +189,16 @@ msgstr "Posizionare l'indice destro su %s"
#: ../pam/fingerprint-strings.h:68
msgid "Swipe your right index finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passare l'indice destro su %s"
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare il medio destro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:72
#, c-format
@ -206,16 +207,16 @@ msgstr "Posizionare il medio destro su %s"
#: ../pam/fingerprint-strings.h:73
msgid "Swipe your right middle finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passare il medio destro su %s"
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare l'anulare destro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:77
#, c-format
@ -224,16 +225,16 @@ msgstr "Posizionare l'anulare destro su %s"
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passare l'anulare destro su %s"
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
msgstr "Posizionare il mignolo destro sul lettore di impronte"
#: ../pam/fingerprint-strings.h:82
#, c-format
@ -242,29 +243,29 @@ msgstr "Posizionare il mignolo destro su %s"
#: ../pam/fingerprint-strings.h:83
msgid "Swipe your right little finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Passare il mignolo destro su %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Passare nuovamente il dito"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Tomoyuki KATO <tomo@dream.daynight.jp>, 2011, 2012.
# Tomoyuki KATO <inactive+katomo@transifex.com>, 2011, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-29 22:17+0000\n"
"Last-Translator: Tomoyuki KATO <tomo@dream.daynight.jp>\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/freedesktop/language/ja/)\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 <inactive+katomo@transifex.com>\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "他のユーザーに対する新しい指紋を登録するには特権が必要になります。"
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify 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 "Verify a fingerprint"
msgstr "指紋の検証"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "他のユーザーに対する新しい指紋を登録するには特権が必要になります。"
#: ../src/device.c:385
#, c-format
@ -250,22 +250,22 @@ msgstr "指紋読取装置に右の薬指をなぞってください"
msgid "Swipe your right little finger across %s"
msgstr "%s に右の小指をなぞってください"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr "もう一度読み取り装置に指を置いてください"
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "もう一度指をなぞってください"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr "なぞる幅が短すぎます、もう一度試してください"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr "指をどかして、もう一度指をなぞってみてください"

270
po/ka.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

View File

@ -6,31 +6,31 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Kazakh (http://www.transifex.com/projects/p/freedesktop/language/kk/)\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=1; plural=0;\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -38,7 +38,7 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

270
po/kn.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

159
po/ko.po
View File

@ -3,15 +3,20 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# <darkcircle.0426@gmail.com>, 2011.
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2013
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2011
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2011,2013
# Shinjo Park <kde@peremen.name>, 2015
# Seong-ho Cho <darkcircle.0426@gmail.com>, 2011,2013
# Shinjo Park <kde@peremen.name>, 2015
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/freedesktop/language/ko/)\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 <kde@peremen.name>\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"
@ -19,253 +24,253 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../data/net.reactivated.fprint.device.policy.in.h:1
msgid "Enroll new fingerprints"
msgstr "지문 "
msgid "Verify a fingerprint"
msgstr "지문 검증"
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "다른 사용자를 위한 새 지문을 등록하기 위해 권한이 필요합니다."
msgid "Privileges are required to verify fingerprints."
msgstr "지문을 검증하려면 권한이 필요합니다."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgstr "새 지문을 틍록하기 위한 권한이 필요합니다."
msgid "Enroll new fingerprints"
msgstr "새 지문 등록"
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgstr "지문을 검증하기 위해 권한이 "
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 "등록할 사용자 "
msgstr "등록할 사용자를 선택하십시오"
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgstr "지문 "
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 "장치 사용전 승인되지 않았습니다"
msgstr "장치 사용 사용 등록되지 않았"
#: ../src/device.c:395
#, c-format
msgid "Device already in use by another user"
msgstr "장치가 다른 사용자에 의해 사용중입니다"
msgstr "다른 사용자가 장치 사용 중"
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "%s에 손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
msgstr "%s에 손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
msgstr "왼손 엄지손가락을 지문 인식기에 올려놓으십시오"
#: ../pam/fingerprint-strings.h:37
#, c-format
msgid "Place your left thumb on %s"
msgstr "%s에 왼손 엄지"
msgstr "%s에 왼손 엄지손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
msgstr "왼손 엄지손가락을 지문 인식기에 문지르십시오"
#: ../pam/fingerprint-strings.h:39
#, c-format
msgid "Swipe your left thumb across %s"
msgstr ""
msgstr "%s에 왼손 엄지손가락를 문지르십시오"
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 왼손 집게손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:42
#, c-format
msgid "Place your left index finger on %s"
msgstr "%s에 왼손 검지를 "
msgstr "%s에 왼손 집게손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:43
msgid "Swipe your left index finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 왼손 집게손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:44
#, c-format
msgid "Swipe your left index finger across %s"
msgstr ""
msgstr "%s에 왼손 집게손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:46
msgid "Place your left middle finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 왼손 가운뎃손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:47
#, c-format
msgid "Place your left middle finger on %s"
msgstr "%s에 왼손 중지를 "
msgstr "%s에 왼손 가운뎃손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:48
msgid "Swipe your left middle finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 왼손 가운뎃손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:49
#, c-format
msgid "Swipe your left middle finger across %s"
msgstr ""
msgstr "%s에 왼손 가운뎃손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 왼손 약손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:52
#, c-format
msgid "Place your left ring finger on %s"
msgstr "%s에 왼손 약지를 "
msgstr "%s에 왼손 약손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 왼손 약손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:54
#, c-format
msgid "Swipe your left ring finger across %s"
msgstr ""
msgstr "%s에 왼손 약손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 왼손 새끼손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:57
#, c-format
msgid "Place your left little finger on %s"
msgstr "%s에 왼손 소지를 올"
msgstr "%s에 왼손 새끼손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:58
msgid "Swipe your left little finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 왼손 새끼손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:59
#, c-format
msgid "Swipe your left little finger across %s"
msgstr ""
msgstr "%s에 왼손 새끼손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 엄지손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:62
#, c-format
msgid "Place your right thumb on %s"
msgstr "%s에 오른손 엄지"
msgstr "%s에 오른손 엄지손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 엄지손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:64
#, c-format
msgid "Swipe your right thumb across %s"
msgstr ""
msgstr "%s에 오른손 엄지손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 집게손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:67
#, c-format
msgid "Place your right index finger on %s"
msgstr "%s에 오른손 검지를 "
msgstr "%s에 오른손 집게손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:68
msgid "Swipe your right index finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 집게손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:69
#, c-format
msgid "Swipe your right index finger across %s"
msgstr ""
msgstr "%s에 오른손 집게손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:71
msgid "Place your right middle finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 가운뎃손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:72
#, c-format
msgid "Place your right middle finger on %s"
msgstr "%s에 오른손 중지를 "
msgstr "%s에 오른손 가운뎃손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:73
msgid "Swipe your right middle finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 가운뎃손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:74
#, c-format
msgid "Swipe your right middle finger across %s"
msgstr ""
msgstr "%s에 오른손 가운뎃손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 약손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:77
#, c-format
msgid "Place your right ring finger on %s"
msgstr "%s에 오른손 약지를 올려놓으십시오"
msgstr "%s에 오른손 약손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 약손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:79
#, c-format
msgid "Swipe your right ring finger across %s"
msgstr ""
msgstr "%s에 오른손 약손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 새끼손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:82
#, c-format
msgid "Place your right little finger on %s"
msgstr "%s에 오른손 소지를 "
msgstr "%s에 오른손 새끼손가락을 올려놓으십시오"
#: ../pam/fingerprint-strings.h:83
msgid "Swipe your right little finger across the fingerprint reader"
msgstr ""
msgstr "지문 인식기에 오른손 새끼손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:84
#, c-format
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
msgid "Place your finger on the reader again"
msgstr "판독기에 손가락을 다시 "
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
msgid "Swipe your finger again"
msgstr "판독기에 손가락을 다시 "
msgstr "%s에 오른손 새끼손가락을 문지르십시오"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Swipe was too short, try again"
msgstr "훑는 시간이 짧습니다. 다시 시도해주십시오."
msgid "Place your finger on the reader again"
msgstr "인식기에 손가락을 다시 올려놓으십시오"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Your finger was not centered, try swiping your finger again"
msgstr "손가락이 가운데에 있지 않았습니다. 손가락을 판독기에 다시 훑어 보십시오."
msgid "Swipe your finger again"
msgstr "인식기에 손가락을 다시 문지르십시오"
#: ../pam/fingerprint-strings.h:135 ../pam/fingerprint-strings.h:161
#: ../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 "손가락을 떼고, 손가락을 판독기에 다시 훑어 보십시오"
msgstr "손가락을 뗀 다음 인식기에 다시 문질러 보십시오"

View File

@ -6,31 +6,31 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Lithuanian (http://www.transifex.com/projects/p/freedesktop/language/lt/)\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=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\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 "Enroll new fingerprints"
msgid "Verify a fingerprint"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgid "Privileges are required to verify fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:3
msgid "Privileges are required to enroll new fingerprints."
msgid "Enroll new fingerprints"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:4
msgid "Privileges are required to verify fingerprints."
msgid "Privileges are required to enroll new fingerprints."
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:5
@ -38,7 +38,7 @@ msgid "Select a user to enroll"
msgstr ""
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr ""
#: ../src/device.c:385
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr ""
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr ""
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr ""
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr ""

113
po/lv.po
View File

@ -3,15 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# <rudolfs.mazurs@gmail.com>, 2011.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2011
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\n"
"Last-Translator: hadess <hadess@hadess.net>\n"
"Language-Team: Latvian (http://www.transifex.com/projects/p/freedesktop/language/lv/)\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 <rudolfs.mazurs@gmail.com>\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"
@ -19,28 +20,28 @@ msgstr ""
"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:2
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."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
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: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 "Verify a fingerprint"
msgstr "Pārbaudīt pirkstu nospiedumu"
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
@ -54,25 +55,25 @@ msgstr "Ierīci jau lieto cits lietotājs"
#: ../pam/fingerprint-strings.h:31
msgid "Place your finger on the fingerprint reader"
msgstr ""
msgstr "Novietojiet pirkstu uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:32
#, c-format
msgid "Place your finger on %s"
msgstr ""
msgstr "Novietojiet pirkstu uz %s"
#: ../pam/fingerprint-strings.h:33
msgid "Swipe your finger across the fingerprint reader"
msgstr ""
msgstr "Novelciet pirkstu gar pirkstu nospiedumu lasītāju"
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
msgstr "Novelciet pirkstu gar %s"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
msgstr ""
msgstr "Novietojiet kreiso īkšķi uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:37
#, c-format
@ -81,16 +82,16 @@ msgstr "Novietojiet kreiso īkšķi uz %s"
#: ../pam/fingerprint-strings.h:38
msgid "Swipe your left thumb across the fingerprint reader"
msgstr ""
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 ""
msgstr "Novelciet kreiso īkšķi gar %s"
#: ../pam/fingerprint-strings.h:41
msgid "Place your left index finger on the fingerprint reader"
msgstr ""
msgstr "Novietojiet kreiso rādītājpirkstu uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:42
#, c-format
@ -99,16 +100,16 @@ 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 ""
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 ""
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 ""
msgstr "Novietojiet kreiso vidējo pirkstu uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:47
#, c-format
@ -117,16 +118,16 @@ 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 ""
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 ""
msgstr "Novelciet kreiso vidējo pirkstu gar %s"
#: ../pam/fingerprint-strings.h:51
msgid "Place your left ring finger on the fingerprint reader"
msgstr ""
msgstr "Novietojiet kreiso zeltnesi uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:52
#, c-format
@ -135,16 +136,16 @@ msgstr "Novietojiet savu kreiso zeltnesi uz %s"
#: ../pam/fingerprint-strings.h:53
msgid "Swipe your left ring finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Novelciet kreiso zeltnesi gar %s"
#: ../pam/fingerprint-strings.h:56
msgid "Place your left little finger on the fingerprint reader"
msgstr ""
msgstr "Novietojiet kreiso mazo pirkstiņu uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:57
#, c-format
@ -153,16 +154,16 @@ 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 ""
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 ""
msgstr "Novelciet kreiso mazo pirkstiņu gar %s"
#: ../pam/fingerprint-strings.h:61
msgid "Place your right thumb on the fingerprint reader"
msgstr ""
msgstr "Novietojiet labo īkšķi uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:62
#, c-format
@ -171,16 +172,16 @@ msgstr "Novietojiet labo īkšķi uz %s"
#: ../pam/fingerprint-strings.h:63
msgid "Swipe your right thumb across the fingerprint reader"
msgstr ""
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 ""
msgstr "Novelciet labo īkšķi gar %s"
#: ../pam/fingerprint-strings.h:66
msgid "Place your right index finger on the fingerprint reader"
msgstr ""
msgstr "Novietojiet labo rādītājpirkstu uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:67
#, c-format
@ -189,16 +190,16 @@ 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 ""
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 ""
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 ""
msgstr "Novietojiet labo vidējo pirkstu uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:72
#, c-format
@ -207,16 +208,16 @@ 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 ""
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 ""
msgstr "Novelciet labo vidējo pirkstu gar %s"
#: ../pam/fingerprint-strings.h:76
msgid "Place your right ring finger on the fingerprint reader"
msgstr ""
msgstr "Novietojiet labo zeltnesi uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:77
#, c-format
@ -225,16 +226,16 @@ msgstr "Novietojiet savu labo zeltnesi uz %s"
#: ../pam/fingerprint-strings.h:78
msgid "Swipe your right ring finger across the fingerprint reader"
msgstr ""
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 ""
msgstr "Novelciet labo zeltnesi gar %s"
#: ../pam/fingerprint-strings.h:81
msgid "Place your right little finger on the fingerprint reader"
msgstr ""
msgstr "Novietojiet labo mazo pirkstiņu uz pirkstu nospiedumu lasītāja"
#: ../pam/fingerprint-strings.h:82
#, c-format
@ -243,29 +244,29 @@ 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 ""
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 ""
msgstr "Novelciet labo mazo pirkstiņu gar %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Velciet savu pirkstu atkal"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

6
po/meson.build Normal file
View File

@ -0,0 +1,6 @@
i18n.gettext(meson.project_name(), preset: 'glib')
test('check-translations',
find_program('check-translations.sh'),
suite: ['dist'],
)

270
po/ml.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

270
po/mr.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

270
po/ms.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

270
po/nb.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Richard E. van der Luit <nippur@fedoraproject.org>, 2012.
# Richard E. van der Luit <nippur@fedoraproject.org>, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-06-06 09:28+0000\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 <nippur@fedoraproject.org>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/freedesktop/language/nl/)\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
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"
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
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: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 "Verify a fingerprint"
msgstr "Verifieer een vingerafdruk"
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
@ -250,22 +250,22 @@ msgstr "Veeg met uw rechter pink over de lezer"
msgid "Swipe your right little finger across %s"
msgstr "Veeg met uw rechter pink over %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../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:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

270
po/nn.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

271
po/oc.po Normal file
View File

@ -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 <cvalmary@yahoo.fr>, 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 <cvalmary@yahoo.fr>\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"

270
po/or.po Normal file
View File

@ -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 <EMAIL@ADDRESS>\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 ""

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# A S Alam <apreet.alam@gmail.com>, 2012.
# A S Alam <alam.yellow@gmail.com>, 2012-2013
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-07-10 17:08+0000\n"
"Last-Translator: A S Alam <apreet.alam@gmail.com>\n"
"Language-Team: Panjabi (Punjabi) (http://www.transifex.com/projects/p/freedesktop/language/pa/)\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 <alam.yellow@gmail.com>\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "ਹੋਰ ਯੂਜ਼ਰ ਲਈ ਨਵੇਂ ਉਂਗਲ-ਨਿਸ਼ਾਨ ਲੈਣ ਲਈ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ।"
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify 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 "Verify a fingerprint"
msgstr "ਉਂਗਲ-ਨਿਸ਼ਾਨ ਦੀ ਜਾਂਚ"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "ਹੋਰ ਯੂਜ਼ਰ ਲਈ ਨਵੇਂ ਉਂਗਲ-ਨਿਸ਼ਾਨ ਲੈਣ ਲਈ ਅਧਿਕਾਰਾਂ ਦੀ ਲੋੜ ਹੈ।"
#: ../src/device.c:385
#, c-format
@ -68,7 +68,7 @@ msgstr "ਆਪਣੀ ਉਂਗਲ ਫਿੰਗਰਪਰਿੰਟ ਰੀਡਰ
#: ../pam/fingerprint-strings.h:34
#, c-format
msgid "Swipe your finger across %s"
msgstr ""
msgstr "ਆਪਣੀ ਉਂਗਲ %s ਉੱਤੇ ਪੂਰੀ ਘਸਾਉ"
#: ../pam/fingerprint-strings.h:36
msgid "Place your left thumb on the fingerprint reader"
@ -250,22 +250,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr "ਰੀਡਰ ਉੱਤੇ ਆਪਣੀ ਉਂਗਲ ਮੁੜ ਰੱਖੋ"
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "ਆਪਣੀ ਉਂਗਲ ਮੁੜ ਘਸਾਉ"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr "ਉਂਗਲ ਥੋੜੀ ਘਸਾਈ ਹੈ, ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr "ਆਪਣੀ ਉਂਗਲ ਘਸਾਉ ਅਤੇ ਫੇਰ ਆਪਣੀ ਉਂਗਲ ਦੁਬਾਰਾ ਘਸਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ"

View File

@ -3,44 +3,44 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Piotr Drąg <piotrdrag@gmail.com>, 2012.
# Piotr Drąg <piotrdrag@gmail.com>, 2012,2016
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-29 19:39+0000\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 <piotrdrag@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/freedesktop/language/pl/)\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=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\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:2
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."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Wymagane są uprawnienia, aby zweryfikować 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 "Verify a fingerprint"
msgstr "Weryfikowanie odcisków palców"
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
@ -250,22 +250,22 @@ msgstr "Proszę przeciągnąć prawy mały palec na urządzeniu"
msgid "Swipe your right little finger across %s"
msgstr "Proszę przeciągnąć prawy mały palec na urządzeniu %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../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:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"
msgstr "Proszę odsunąć palec i spróbować ponownie przeciągnąć palec na urządzeniu"

271
po/pt.po Normal file
View File

@ -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 <palbuquerque73@gmail.com>, 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 <palbuquerque73@gmail.com>\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"

View File

@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Rafael Ferreira <rafael.f.f1@gmail.com>, 2012.
# Rafael Fontenelle <rffontenelle@gmail.com>, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-06-03 20:10+0000\n"
"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/freedesktop/language/pt_BR/)\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 <rffontenelle@gmail.com>\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"
@ -19,28 +19,28 @@ msgstr ""
"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:2
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."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
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:5
msgid "Select a user to enroll"
msgstr "Selecione um usuário para inscrever"
#: ../data/net.reactivated.fprint.device.policy.in.h:6
msgid "Verify a fingerprint"
msgstr "Verificar uma impressão digital"
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
@ -250,22 +250,22 @@ msgstr "Passe seu dedo mindinho direito pelo leitor de impressão digital"
msgid "Swipe your right little finger across %s"
msgstr "Passe seu dedo mindinho direito pelo %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Passe seu dedo novamente"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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."

View File

@ -6,11 +6,11 @@
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-05-28 13:24+0000\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 <hadess@hadess.net>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/freedesktop/language/ro/)\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"
@ -18,28 +18,28 @@ msgstr ""
"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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Sunt necesare privilegii pentru a înscrie amprente noi pentru alți utilizatori."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify fingerprints."
msgstr "Sunt necesare privilegii pentru a verifica amprentele."
#: ../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 "Verify a fingerprint"
msgstr "Verifică o amprentă"
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
@ -249,22 +249,22 @@ msgstr ""
msgid "Swipe your right little finger across %s"
msgstr ""
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../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:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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ă"

View File

@ -3,44 +3,44 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Yuri Kozlov <yuray@komyakino.ru>, 2011, 2012.
# Yuri Kozlov <yuray@komyakino.ru>, 2011, 2012
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-06-03 05:23+0000\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 <yuray@komyakino.ru>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/freedesktop/language/ru/)\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=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\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:2
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Для ввода отпечатков пальцев других пользователей требуются права доступа."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
msgid "Privileges are required to verify 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 "Verify a fingerprint"
msgstr "Проверка отпечатков пальцев"
msgid "Privileges are required to enroll new fingerprints for other users."
msgstr "Для ввода отпечатков пальцев других пользователей требуются права доступа."
#: ../src/device.c:385
#, c-format
@ -250,22 +250,22 @@ msgstr "Проведите мизинцем правой руки по счит
msgid "Swipe your right little finger across %s"
msgstr "Проведите мизинцем правой руки по %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
msgid "Place your finger on the reader again"
msgstr "Положите палец на считывающее устройство ещё раз"
#: ../pam/fingerprint-strings.h:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Проведите пальцем ещё раз"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../pam/fingerprint-strings.h:136 ../pam/fingerprint-strings.h:162
msgid "Swipe was too short, try again"
msgstr "Вы провели пальцем слишком маленький отрезок, попробуйте ещё раз"
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../pam/fingerprint-strings.h:140 ../pam/fingerprint-strings.h:166
msgid "Remove your finger, and try swiping your finger again"
msgstr "Уберите палец и попробуйте провести ещё раз"

View File

@ -3,45 +3,45 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Pavol Klačanský <pavol@klacansky.com>, 2012.
# Pavol Šimo <palo.simo@gmail.com>, 2011.
# pavolzetor <inactive+pavolzetor@transifex.com>, 2012
# Pavol Šimo <palo.simo@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: fprintd\n"
"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=libfprint\n"
"POT-Creation-Date: 2012-02-08 12:50+0000\n"
"PO-Revision-Date: 2012-10-14 21:49+0000\n"
"Last-Translator: pavolzetor <pavol@klacansky.com>\n"
"Language-Team: Slovak (http://www.transifex.com/projects/p/freedesktop/language/sk/)\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 <inactive+pavolzetor@transifex.com>\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=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\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:2
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."
#: ../data/net.reactivated.fprint.device.policy.in.h:3
#: ../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:4
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: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 "Verify a fingerprint"
msgstr "Overiť odtlačok prsta"
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
@ -251,22 +251,22 @@ msgstr "Prejdite malíčkom pravej ruky po čítačke"
msgid "Swipe your right little finger across %s"
msgstr "Prejdite malíčkom pravej ruky po %s"
#: ../pam/fingerprint-strings.h:126 ../pam/fingerprint-strings.h:152
#: ../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:128 ../pam/fingerprint-strings.h:154
#: ../pam/fingerprint-strings.h:133 ../pam/fingerprint-strings.h:159
msgid "Swipe your finger again"
msgstr "Prejdite prstom znova"
#: ../pam/fingerprint-strings.h:131 ../pam/fingerprint-strings.h:157
#: ../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:133 ../pam/fingerprint-strings.h:159
#: ../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:135 ../pam/fingerprint-strings.h:161
#: ../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"

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