mirror of
https://gitlab.com/mishakmak/pam-fprint-grosshack.git
synced 2026-04-10 12:53:34 +02:00
Compare commits
682 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 564502577e | |||
| ab9bc17ed5 | |||
| 8d59ec751f | |||
| 2f22fab80a | |||
| 6870e3c370 | |||
| c87dc3de93 | |||
| 6981e033be | |||
| 160229a645 | |||
| cdf61c423f | |||
| 650d3499a1 | |||
| 674008cabd | |||
| c43dde880e | |||
| a6efa2a7c2 | |||
| 9a1a641b03 | |||
| 8fb67836b8 | |||
| 73cb590acc | |||
| abf3831755 | |||
| 7c1e1f67bf | |||
| 4ed76ba997 | |||
| 2d9543fe94 | |||
| 865439a665 | |||
| a734ceff71 | |||
| 0595f416f9 | |||
| 38c21e3952 | |||
| 50943b1bd4 | |||
| 245dcfa218 | |||
| 090016fdcd | |||
| 90babad082 | |||
| 47af2bada5 | |||
| c1bc6b4da0 | |||
| 0bb8271ede | |||
| b393eddd4b | |||
| 2c9cf975a2 | |||
| 29a976b483 | |||
| 7d4331b29a | |||
| b440acb57d | |||
| 0cf0fea902 | |||
| b3d6bf0825 | |||
| fc65055279 | |||
| 02468366b2 | |||
| 3d309ea400 | |||
| b483edbe92 | |||
| e4c155d5b8 | |||
| 717a919996 | |||
| e6fc854a9a | |||
| 5d7422e17a | |||
| fc7e058e93 | |||
| ff4ba1da47 | |||
| 626128a0fa | |||
| 0bba073dff | |||
| ec74c849be | |||
| e09d90c81b | |||
| e3b0d52ce5 | |||
| 70182083a1 | |||
| 66e7df1105 | |||
| 96b911913e | |||
| 37e6939fa9 | |||
| bb23b7e9d0 | |||
| 80eb673e83 | |||
| 88d7d97c0d | |||
| 6bc19c8892 | |||
| c690542e7c | |||
| 5f6e80de01 | |||
| 3c8ac241b8 | |||
| 2bf6d6a266 | |||
| be45b44337 | |||
| 572c119fd4 | |||
| 980bab5135 | |||
| 161278cacd | |||
| 2dd1cd8fc3 | |||
| 0de01da150 | |||
| 0844002b78 | |||
| 9ae3c16f2d | |||
| f4995dcabe | |||
| 8c0876ae49 | |||
| 3a96b6f2f0 | |||
| 688f9b0acf | |||
| 5b9e237884 | |||
| 8288c0efc7 | |||
| 0d2dbc6179 | |||
| b760a82ac6 | |||
| f398d09b23 | |||
| 9ec1747b84 | |||
| 6482e2dbd4 | |||
| ac9a1538bb | |||
| 7aecec1449 | |||
| 0f7340130e | |||
| fcd7e9bc76 | |||
| 00629fc374 | |||
| d7da04fa4b | |||
| 7f2b5fe7ff | |||
| f44233461f | |||
| 9e8139e6d4 | |||
| e8baf4c9a9 | |||
| 3b787aa8d1 | |||
| 4f4b0d5f11 | |||
| aae37304e5 | |||
| 8869b8296f | |||
| bc55deab2a | |||
| 41086ac4c6 | |||
| 4e075ba491 | |||
| e8622b3e63 | |||
| 5785dc65b4 | |||
| b7b91e77bb | |||
| 084e5bfafd | |||
| d53eaa7d89 | |||
| 29a83ec49a | |||
| a5ff42394e | |||
| 0af8cf1d56 | |||
| 3a05589685 | |||
| 8485985ed3 | |||
| bb722a0373 | |||
| 022ee1a4c5 | |||
| 8d14af379f | |||
| 9a13293818 | |||
| c66d5d0fa6 | |||
| aba0f0a714 | |||
| b1a218d56a | |||
| 59c2dc5df2 | |||
| f4d2e905bd | |||
| 6f355797f8 | |||
| 4b246d3ce2 | |||
| 8da1b5e7f5 | |||
| 6d21128b89 | |||
| 1511eb93ea | |||
| 8f3b48e261 | |||
| bc8ff3e3f6 | |||
| d07e81acae | |||
| a04a60cd8e | |||
| ecf6b7c323 | |||
| df6ebefef7 | |||
| b7aa0c455d | |||
| fe95889f2e | |||
| 556f8928a6 | |||
| 02bd36d8d9 | |||
| b92f39be3d | |||
| b46aba6fb2 | |||
| 2b81184b42 | |||
| 2af0e6407a | |||
| 9a39f1fde8 | |||
| 1deb1e2044 | |||
| 75989bd2be | |||
| 3df730faeb | |||
| f2514f43f6 | |||
| 8ef255a3bd | |||
| 15b41aa7c2 | |||
| bec42959ad | |||
| 5e00b01cf1 | |||
| b3bf4ac1a3 | |||
| 4aa70fb6c6 | |||
| d2c8a383e6 | |||
| 9a85bfa57f | |||
| 7f2133cc79 | |||
| 8491d35eef | |||
| 32ae65fae6 | |||
| 8799fd296a | |||
| 157bcf0ff5 | |||
| d7431c9654 | |||
| 2348876ba0 | |||
| 0b80245e8a | |||
| 72a2504fc4 | |||
| 8d8c181f31 | |||
| cce9551c98 | |||
| c8c543672d | |||
| 5acf13cf51 | |||
| f3a8adf3c8 | |||
| c32737f4d4 | |||
| 804aff3c30 | |||
| f87cb27163 | |||
| 457cbd46cd | |||
| 32b70c0edc | |||
| ff798edc51 | |||
| 56436fb8b1 | |||
| dbf01399ad | |||
| 0f29cfc0c7 | |||
| e0a643f3b9 | |||
| 3fa0f232ef | |||
| 3c91ac9a3f | |||
| 3fe268f6f2 | |||
| 76c6e9e030 | |||
| 5dde80c136 | |||
| 0203c8aed8 | |||
| 7d87f5e664 | |||
| fd72c0b81b | |||
| 1835d99265 | |||
| 30eaaf2def | |||
| 657f58fd64 | |||
| 584933aad7 | |||
| eadf4fced8 | |||
| 27a76c9b79 | |||
| 9301693c83 | |||
| 00fbf19079 | |||
| 6fd1aa51cd | |||
| 0e428d34ec | |||
| da60bddb3e | |||
| 506d99e90c | |||
| e7f47e28d7 | |||
| 938c1aac5a | |||
| fd02922608 | |||
| 195f7eaf5f | |||
| 48ea3b89c9 | |||
| 4cfa6b5b37 | |||
| c685f0d34c | |||
| eece834231 | |||
| 3faaa81257 | |||
| b9cdb58a1a | |||
| ab8dcfaa61 | |||
| 25a97c8276 | |||
| 8057e49d31 | |||
| f75e800d5c | |||
| 6ae4f5e939 | |||
| 7c9a04c2ae | |||
| 7b7aa6e99d | |||
| b624f8c8c7 | |||
| 3e81179eca | |||
| c6647ba875 | |||
| 988ee01f66 | |||
| 32ee94c8a0 | |||
| 7d22a2b5b9 | |||
| de725a91e4 | |||
| 18392cba54 | |||
| 783d82f359 | |||
| c00a3375d1 | |||
| 5aa61adabc | |||
| 1fc10f15ee | |||
| c24badfd68 | |||
| 4612c1f3ed | |||
| ca216a32af | |||
| 944493e472 | |||
| 34f24cbe19 | |||
| 9314069a88 | |||
| 66e21eac8f | |||
| f73429f062 | |||
| c18ebaf9da | |||
| 4a80bfacec | |||
| 52058c1ea0 | |||
| 22cdc0a7ea | |||
| 043fcaafec | |||
| bf2236620e | |||
| 0122d351f9 | |||
| 4435706d20 | |||
| c5877bbc12 | |||
| a170a3a09f | |||
| a76af6ce71 | |||
| 34a24eac77 | |||
| 47751548b2 | |||
| a30c45629e | |||
| 3242b99410 | |||
| 5ccb9ba0ec | |||
| f4eaacd0ec | |||
| 34b21fa917 | |||
| 2d98d4543f | |||
| 8c46fddd03 | |||
| 3a00643d5b | |||
| eb73e024e1 | |||
| a4b06c2219 | |||
| 5ccaa094a0 | |||
| fc7e4d0e5c | |||
| 583cd870d8 | |||
| 2ca2d5e62c | |||
| c5c81a2ea8 | |||
| c0ad5880a4 | |||
| 2dc3a4e2c5 | |||
| 3b0d93bcc2 | |||
| eac171ab0f | |||
| 7533f63a06 | |||
| a38917ab26 | |||
| a92b8e5f60 | |||
| 29f34cf23c | |||
| a10f0dc22d | |||
| 267b322f6d | |||
| 3b83240e57 | |||
| 897cbd341e | |||
| 9d0305ea05 | |||
| 3dbfdabe01 | |||
| 45cf63d589 | |||
| 29ed88a50a | |||
| e301779c20 | |||
| be5d283a3e | |||
| ebfcbdd13e | |||
| ec7376d7e6 | |||
| df568e1ce1 | |||
| 7ee61393ec | |||
| 57ca0dc95e | |||
| 85ba309e9d | |||
| 3f2174676e | |||
| 5e18d46971 | |||
| a8bd2bc25e | |||
| 88a627f187 | |||
| a8818f9bfb | |||
| c5a3089f89 | |||
| 5de1261df6 | |||
| e5c82d7b96 | |||
| 9c842e2c2f | |||
| ec5cce083c | |||
| ab8118bde2 | |||
| 08fb209aed | |||
| 6eb9f263fd | |||
| 74d05e7996 | |||
| 83cd09ba2f | |||
| 8ed77829a7 | |||
| b63c76319f | |||
| fd9a86eca4 | |||
| 38ba7199b7 | |||
| 827baff301 | |||
| 6a5d46c8b0 | |||
| 1ae0f4926d | |||
| e1c2698807 | |||
| b14bfd8226 | |||
| 1e2f360ade | |||
| 778a8540aa | |||
| 4e707f0d31 | |||
| 4c78012103 | |||
| e59f3cbc4f | |||
| 1a860aa882 | |||
| a183b779ec | |||
| 9d6c7eb1a9 | |||
| 110c0018a2 | |||
| 5611317c72 | |||
| 0904c8a527 | |||
| a681996d1d | |||
| 4e7cf47a3d | |||
| 9d3f3fcaca | |||
| 30474a6546 | |||
| 93bad82540 | |||
| e224913b80 | |||
| b2cae5cccf | |||
| 3419901f65 | |||
| c85ca09e35 | |||
| ecc02cb588 | |||
| 091f373109 | |||
| f6eb3b3ea5 | |||
| d7ca9e6095 | |||
| 6797928884 | |||
| d6c70be822 | |||
| d33a7c7e9d | |||
| 94d3a18dcd | |||
| 5635383c96 | |||
| ac98b881be | |||
| 629f7fcc11 | |||
| 5a703baa20 | |||
| 6641cb6da8 | |||
| 870b48637a | |||
| 4b0cde81fd | |||
| 59b3d2af8d | |||
| 93bcac946e | |||
| a5063dc0e4 | |||
| 5fbc38c938 | |||
| c42e627ddd | |||
| 2fd86624e5 | |||
| 6dc699ae6f | |||
| e075d37590 | |||
| 18d6a86e9d | |||
| 14051cac76 | |||
| 4e47222962 | |||
| c07a63da99 | |||
| 812a3552a6 | |||
| ff06a301f0 | |||
| 19353c971c | |||
| 290e56023f | |||
| efe92a7c33 | |||
| a7cf0ae3b2 | |||
| ba60533f71 | |||
| fcd2d65490 | |||
| 6dd010f05c | |||
| 714f499ab6 | |||
| d72c802415 | |||
| 184e1bd4d0 | |||
| f401f399a8 | |||
| 3dd0018f23 | |||
| 90298134a2 | |||
| 8ff4360750 | |||
| fd733e55be | |||
| 6a1fffae82 | |||
| 47bd3f7fbb | |||
| 4f3589c0dc | |||
| eccd790df7 | |||
| bc29114a2c | |||
| cf95187268 | |||
| 23c37cd9b5 | |||
| 967e4f24ed | |||
| d7fec03f24 | |||
| 4a3ae5ccaf | |||
| e828ea3b2d | |||
| d27872ff86 | |||
| cfbded36e1 | |||
| 072fbc2b46 | |||
| 7846359b65 | |||
| 08339a0648 | |||
| 3dd10b4b37 | |||
| bee2e154b1 | |||
| 27f0b64d03 | |||
| f4ee2f86a3 | |||
| 04829ed39f | |||
| 756a80a63e | |||
| b861500a9f | |||
| 154d0c0373 | |||
| b2cdc1ed1e | |||
| ab47e03f05 | |||
| f92801a15c | |||
| 086ceb98ab | |||
| 8bdbc7e2b0 | |||
| 1f8bb1abd4 | |||
| 47d55a97c4 | |||
| 657b90a066 | |||
| 3821b96ca5 | |||
| 22ad9b5ae8 | |||
| 2ddc8a86a2 | |||
| 930cae4647 | |||
| 5e9624bef5 | |||
| efac52d94f | |||
| af18aa35e5 | |||
| 0d7a703200 | |||
| ad19c49e2e | |||
| a8de1003a4 | |||
| cefe939141 | |||
| 24cd986476 | |||
| 06480c7994 | |||
| b2ad590891 | |||
| 85aad7bb01 | |||
| 0fb4f3b021 | |||
| 21564885ea | |||
| 6064e30200 | |||
| fd8297306c | |||
| e7f804e9fc | |||
| 0e993d92e2 | |||
| b312a5e540 | |||
| c12778ec5b | |||
| dbabd4d7d3 | |||
| db1865eb3e | |||
| 10a3e75937 | |||
| 01ea517a97 | |||
| 3a98ef646b | |||
| 750a815fdf | |||
| 53fcf52989 | |||
| 52e12459df | |||
| 554df2a8d9 | |||
| 681bd1ed2a | |||
| 8890732194 | |||
| 7dac81dcad | |||
| 1ecae1d014 | |||
| ba7a45d3f8 | |||
| 49dced5566 | |||
| e25544a8f0 | |||
| ee8589ec9d | |||
| 580cceb50e | |||
| b90b21f26b | |||
| 6d583cb5d8 | |||
| c776068cd2 | |||
| b8d80fcb35 | |||
| 32c2ccdd8c | |||
| 58784f7002 | |||
| f295e6c571 | |||
| b02825620a | |||
| 2327307b81 | |||
| 7c1ae363a8 | |||
| a18af36a03 | |||
| 526b2e8c53 | |||
| 73625233f6 | |||
| 08de7e33a4 | |||
| c871dfc998 | |||
| dccc5796b6 | |||
| 0994cc314e | |||
| 09b1f1f1db | |||
| e10417a907 | |||
| 8f75563920 | |||
| 2e00c7a4b1 | |||
| 72d8a0f512 | |||
| 130d6cdb63 | |||
| e2fd52190a | |||
| 7d8450e5ab | |||
| 95e95d2910 | |||
| 75aeff4acd | |||
| bebd3d2a98 | |||
| 0e2bf7e804 | |||
| f5a2c21f90 | |||
| 53d80c1474 | |||
| 9bed3bed3f | |||
| 1a094c1a09 | |||
| 4ed46deaf2 | |||
| 0724413eda | |||
| eb6dbb6953 | |||
| 5c5849dca7 | |||
| 048181ae7f | |||
| 8e3345a60f | |||
| 33a21b5089 | |||
| dd006382f5 | |||
| a34432ccf9 | |||
| f2804921a3 | |||
| 74577a6806 | |||
| 2076025208 | |||
| 77126ccf1f | |||
| 46b7d7c1a7 | |||
| 791a208afd | |||
| b832002c97 | |||
| 8a2f276003 | |||
| aab923e3cd | |||
| cc4bac3410 | |||
| 18d4aa6d7d | |||
| 046ec8dbf4 | |||
| 874b4556ef | |||
| c2aa5c0b9a | |||
| f745c49112 | |||
| 319d859107 | |||
| b97903f781 | |||
| a30697a28d | |||
| aad3212d22 | |||
| 3624bcb114 | |||
| 8fbc59a258 | |||
| 5a8da0022a | |||
| 6089ba6f40 | |||
| ee6e8a6fa3 | |||
| 42f5280a03 | |||
| affffaf134 | |||
| 6ab270fb1a | |||
| 2d0bed6b13 | |||
| c43134e36f | |||
| b9d23ddb87 | |||
| 205dedae4f | |||
| d70f15b5e8 | |||
| 6f63beb1fc | |||
| f7557c6ee7 | |||
| 0b598965b0 | |||
| 8325d347d6 | |||
| 0bdf801043 | |||
| 6e3b053372 | |||
| c6e72c5f28 | |||
| 986a42bcd1 | |||
| 0c6bab8640 | |||
| b99afd19f0 | |||
| 3d6dfabd8d | |||
| 67adcb59ed | |||
| db0ab55bef | |||
| 00b79d1a2f | |||
| f1517af09a | |||
| c0bf1515fd | |||
| 872089883c | |||
| 431755becd | |||
| 0a42b90390 | |||
| cd3ed2e450 | |||
| c929d39df1 | |||
| 1a5ef6c5a7 | |||
| ce3406b20f | |||
| 0d407db171 | |||
| 4eb751a218 | |||
| 0f44267ea1 | |||
| 9baea4494b | |||
| 41afbd1ced | |||
| f2d6921b74 | |||
| b690daa95f | |||
| deb3c25e51 | |||
| a520896325 | |||
| 707ed01059 | |||
| 6903c36157 | |||
| d0df422f9b | |||
| 882740f8a1 | |||
| 5043ef3c7d | |||
| cdd79a0935 | |||
| 776b4f4cec | |||
| 31bfd1b055 | |||
| 74838f9efc | |||
| 54ba81191e | |||
| 521ba9b124 | |||
| 3db69c2c2f | |||
| b2ff316e20 | |||
| 94f54c0638 | |||
| 9c8d062669 | |||
| ca482036c7 | |||
| d7821aa790 | |||
| 16cb1a8ec6 | |||
| 31ba9ebea4 | |||
| 8893c2f906 | |||
| 3520cb56d1 | |||
| 96444b4156 | |||
| c0ba475fbf | |||
| 704c19b87a | |||
| 8f90390c6b | |||
| e061990fa9 | |||
| 011310e30c | |||
| 3274a31153 | |||
| d6c4e8ba64 | |||
| 48976d0031 | |||
| cbf4a47af3 | |||
| bfbac18606 | |||
| 09529c396b | |||
| 94a9815362 | |||
| 9ed8767cb3 | |||
| 8ae7abc6c2 | |||
| dd9d7cc35d | |||
| dbeeb95756 | |||
| 5e76441210 | |||
| 8de9164be0 | |||
| 267e6b3238 | |||
| 51f4dce4e7 | |||
| 0c76397a6e | |||
| 815256717b | |||
| 9e32cd5257 | |||
| 32b9f1b056 | |||
| 12ef09a1c9 | |||
| 596172e42d | |||
| d37d8a233a | |||
| 3550ac5f05 | |||
| 111681c57d | |||
| 6eed9f1244 | |||
| 04bd6bab46 | |||
| fa4af3ee67 | |||
| 31b985f547 | |||
| 661684b1f5 | |||
| 2322244c5a | |||
| 8e0c030f62 | |||
| 4234902671 | |||
| 78ffe68426 | |||
| 2704e72308 | |||
| f39f28830a | |||
| e6d291b248 | |||
| a2f2526df6 | |||
| 2f78c46dcf | |||
| 8eba309920 | |||
| 6494efa94e | |||
| e55ad52ded | |||
| 0d28678118 | |||
| 051eb0427d | |||
| f54a90ea80 | |||
| da87d1d7ee | |||
| 3d2d73d615 | |||
| 06ea385260 | |||
| 8fa3dcd5cd | |||
| 32307570fe | |||
| 7ae196a0dd | |||
| 36d3d9d749 | |||
| b3c1ed0d2a | |||
| eabeaa258e | |||
| e2ba6321f8 | |||
| efe2a5b00c | |||
| 9acacefa18 | |||
| ac1a99ad06 | |||
| e437d20108 | |||
| fa31b0aec2 | |||
| 431adc4c5b | |||
| c4f3cc2dc3 | |||
| 4edc17ac99 | |||
| 56683b1098 | |||
| f7c51b0d58 | |||
| f94c8727d2 | |||
| 4f9256c033 | |||
| 73ed60a60d | |||
| d7e326a776 | |||
| 7e4630ced2 | |||
| fc228b9976 | |||
| 7710040ea7 | |||
| 3330b8f351 | |||
| 4183c3cdec | |||
| 7eb1f0fd86 | |||
| b4f5304565 | |||
| 9c99e5cd59 | |||
| cb72e9790d | |||
| 197e139a45 | |||
| 21459e6d7d | |||
| 476b175cc0 | |||
| c35cf36ba8 | |||
| 9ea025d9cb | |||
| 870a7a8361 | |||
| 0aaff3a6c6 | |||
| 2e434a062d | |||
| 78623147bc | |||
| 8266f354cc | |||
| da44184115 | |||
| 4fa35c3207 | |||
| 4b05658597 | |||
| 486c0bb347 | |||
| 42dd4a8b3a | |||
| 9577b6db03 | |||
| 71bc81468f | |||
| b80f7359c3 | |||
| 1bd948ac16 | |||
| 73edad087f | |||
| 4c120e487b | |||
| cde767cbc9 | |||
| d77b59cd36 | |||
| 77fa713920 | |||
| b10180503d | |||
| 815df79451 |
7
.git-blame-ignore-revs
Normal file
7
.git-blame-ignore-revs
Normal 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
37
.gitignore
vendored
@ -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
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
[main]
|
||||
host = https://www.transifex.net
|
||||
|
||||
[fprintd.fprintd-po-fprintd-pot]
|
||||
file_filter = po/<lang>.po
|
||||
source_file = po/fprintd.pot
|
||||
source_lang = en
|
||||
|
||||
1
AUTHORS
1
AUTHORS
@ -1,3 +1,4 @@
|
||||
Daniel Drake <dsd@gentoo.org>
|
||||
Bastien Nocera <hadess@hadess.net>
|
||||
Misha <mishakmak@gmail.com>
|
||||
|
||||
|
||||
237
INSTALL
237
INSTALL
@ -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.
|
||||
|
||||
26
Makefile.am
26
Makefile.am
@ -1,26 +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
|
||||
|
||||
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
|
||||
10
NEWS
10
NEWS
@ -1,10 +0,0 @@
|
||||
This file lists notable changes in each release. For the full history of all
|
||||
changes, see ChangeLog.
|
||||
|
||||
version 0.4.0:
|
||||
- Loads of new translations
|
||||
- Fix crasher when PAM module gets unloaded
|
||||
- Use GIO to monitor D-Bus clients instead of custom code
|
||||
|
||||
version 0.2.0:
|
||||
- First actual release
|
||||
58
README
58
README
@ -1,17 +1,52 @@
|
||||
This is a fork of the pam module which implements the simultaneous
|
||||
password and fingerprint behaviour present in pam_thinkfinger. It
|
||||
was called a 'gross hack' by the fprintd developers in their README
|
||||
for the PAM module, but it works, and I am not beneath using it.
|
||||
|
||||
Compilation uses meson/ninja. Configure with "meson-build . build"
|
||||
and run "meson compile -C build" to compile. To install, move the
|
||||
generated pam_fprintd_grosshack.so to the correct directory on the
|
||||
system. Alternatively, Arch users can install pam-fprint-grosshack
|
||||
from the AUR.
|
||||
|
||||
To use this module, add the following lines to the appropriate files
|
||||
in /etc/pam.d/ (i.e. /etc/pam.d/system-auth for any use):
|
||||
|
||||
auth sufficient pam_fprintd_grosshack.so
|
||||
auth sufficient pam_unix.so try_first_pass nullok
|
||||
|
||||
Warning! The original developers called this implementation a gross
|
||||
hack for a reason. This code may have major security flaws or other
|
||||
unforeseen bugs, so use with caution. And, of course, the standard
|
||||
legalese applies: No warranty, provided as-is, whatever you do or
|
||||
whatever happens to you is not my fault, etc.
|
||||
|
||||
-- Misha
|
||||
|
||||
-----------------------------------------------------------
|
||||
Original README
|
||||
-----------------------------------------------------------
|
||||
|
||||
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 (see COPYING).
|
||||
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.
|
||||
|
||||
Translating
|
||||
===========
|
||||
|
||||
fprintd and pam_fprintd are translated using weblate. Please visit
|
||||
https://translate.fedoraproject.org/projects/fprintd/ to contribute
|
||||
translations.
|
||||
|
||||
API use cases
|
||||
=============
|
||||
@ -34,3 +69,14 @@ API use cases
|
||||
of PIN code authentication and/or tokens)
|
||||
* Given a list of users, verify which one has scanned their finger
|
||||
|
||||
Debugging
|
||||
=========
|
||||
|
||||
To enable debug output run `systemctl edit fprintd.service` then enter:
|
||||
```
|
||||
[Service]
|
||||
Environment=G_MESSAGES_DEBUG=all
|
||||
```
|
||||
Save the result and restart fprintd using `systemctl restart fprintd.service`.
|
||||
|
||||
After that, you can grab the logs using `journalctl -u fprintd.service`.
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
Transifex.net Token Verification
|
||||
=================================
|
||||
|
||||
The list of tokens bellow guarantee the respective users to be able to enable
|
||||
submission on components using the following repository url:
|
||||
|
||||
ssh://git.freedesktop.org/git/libfprint/fprintd
|
||||
|
||||
Tokens:
|
||||
|
||||
dKfMSehAGCsQ5gxT4r2DAp9PyEMsKAMp / hadess
|
||||
18
TODO
18
TODO
@ -1,18 +0,0 @@
|
||||
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
|
||||
|
||||
182
acinclude.m4
182
acinclude.m4
@ -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)
|
||||
])
|
||||
10
autogen.sh
10
autogen.sh
@ -1,10 +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
|
||||
./configure $*
|
||||
14
config.h.in
Normal file
14
config.h.in
Normal 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
|
||||
76
configure.ac
76
configure.ac
@ -1,76 +0,0 @@
|
||||
AC_INIT([fprintd], [0.4.0])
|
||||
AM_INIT_AUTOMAKE([1.11 dist-bzip2 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])
|
||||
|
||||
GTK_DOC_CHECK([1.3])
|
||||
|
||||
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
|
||||
])
|
||||
@ -1,31 +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
|
||||
|
||||
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 = fprintd.1
|
||||
fprintd.1: fprintd.pod
|
||||
$(AM_V_GEN) pod2man -c "" -s 1 -q none -n fprintd -r freedesktop $< > $@
|
||||
|
||||
EXTRA_DIST = $(dbus_services_in_files) $(dbus_conf_DATA) $(polkit_in_files) $(conf_DATA) fprintd.pod
|
||||
CLEANFILES = $(polkit_DATA) $(dbus_services_DATA) fprintd.1
|
||||
|
||||
check:
|
||||
@$(XMLLINT) --noout $(polkit_DATA)
|
||||
|
||||
|
||||
204
data/fprintd.1
204
data/fprintd.1
@ -1,204 +0,0 @@
|
||||
.\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
||||
.\"
|
||||
.\" Standard preamble:
|
||||
.\" ========================================================================
|
||||
.de Sp \" Vertical space (when we can't use .PP)
|
||||
.if t .sp .5v
|
||||
.if n .sp
|
||||
..
|
||||
.de Vb \" Begin verbatim text
|
||||
.ft CW
|
||||
.nf
|
||||
.ne \\$1
|
||||
..
|
||||
.de Ve \" End verbatim text
|
||||
.ft R
|
||||
.fi
|
||||
..
|
||||
.\" Set up some character translations and predefined strings. \*(-- will
|
||||
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
||||
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
||||
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
||||
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
||||
.\" nothing in troff, for use with C<>.
|
||||
.tr \(*W-
|
||||
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
||||
.ie n \{\
|
||||
. ds -- \(*W-
|
||||
. ds PI pi
|
||||
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
||||
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
||||
. ds L" ""
|
||||
. ds R" ""
|
||||
. ds C`
|
||||
. ds C'
|
||||
'br\}
|
||||
.el\{\
|
||||
. ds -- \|\(em\|
|
||||
. ds PI \(*p
|
||||
. ds L" ``
|
||||
. ds R" ''
|
||||
'br\}
|
||||
.\"
|
||||
.\" Escape single quotes in literal strings from groff's Unicode transform.
|
||||
.ie \n(.g .ds Aq \(aq
|
||||
.el .ds Aq '
|
||||
.\"
|
||||
.\" If the F register is turned on, we'll generate index entries on stderr for
|
||||
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
||||
.\" entries marked with X<> in POD. Of course, you'll have to process the
|
||||
.\" output yourself in some meaningful fashion.
|
||||
.ie \nF \{\
|
||||
. de IX
|
||||
. tm Index:\\$1\t\\n%\t"\\$2"
|
||||
..
|
||||
. nr % 0
|
||||
. rr F
|
||||
.\}
|
||||
.el \{\
|
||||
. de IX
|
||||
..
|
||||
.\}
|
||||
.\"
|
||||
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
||||
.\" Fear. Run. Save yourself. No user-serviceable parts.
|
||||
. \" fudge factors for nroff and troff
|
||||
.if n \{\
|
||||
. ds #H 0
|
||||
. ds #V .8m
|
||||
. ds #F .3m
|
||||
. ds #[ \f1
|
||||
. ds #] \fP
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
||||
. ds #V .6m
|
||||
. ds #F 0
|
||||
. ds #[ \&
|
||||
. ds #] \&
|
||||
.\}
|
||||
. \" simple accents for nroff and troff
|
||||
.if n \{\
|
||||
. ds ' \&
|
||||
. ds ` \&
|
||||
. ds ^ \&
|
||||
. ds , \&
|
||||
. ds ~ ~
|
||||
. ds /
|
||||
.\}
|
||||
.if t \{\
|
||||
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
||||
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
||||
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
||||
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
||||
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
||||
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
||||
.\}
|
||||
. \" troff and (daisy-wheel) nroff accents
|
||||
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
||||
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
||||
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
||||
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
||||
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
||||
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
||||
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
||||
.ds ae a\h'-(\w'a'u*4/10)'e
|
||||
.ds Ae A\h'-(\w'A'u*4/10)'E
|
||||
. \" corrections for vroff
|
||||
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
||||
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
||||
. \" for low resolution devices (crt and lpr)
|
||||
.if \n(.H>23 .if \n(.V>19 \
|
||||
\{\
|
||||
. ds : e
|
||||
. ds 8 ss
|
||||
. ds o a
|
||||
. ds d- d\h'-1'\(ga
|
||||
. ds D- D\h'-1'\(hy
|
||||
. ds th \o'bp'
|
||||
. ds Th \o'LP'
|
||||
. ds ae ae
|
||||
. ds Ae AE
|
||||
.\}
|
||||
.rm #[ #] #H #V #F C
|
||||
.\" ========================================================================
|
||||
.\"
|
||||
.IX Title "fprintd 1"
|
||||
.TH fprintd 1 "2010-08-16" "freedesktop" ""
|
||||
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
||||
.\" way too many mistakes in technical documents.
|
||||
.if n .ad l
|
||||
.nh
|
||||
.SH "NAME"
|
||||
fprintd \- Fingerprint management daemon, and test applications
|
||||
.SH "SYNOPSYS"
|
||||
.IX Header "SYNOPSYS"
|
||||
\&\fBfprintd-enroll\fR [username]
|
||||
.PP
|
||||
\&\fBfprintd-list\fR username [usernames...]
|
||||
.PP
|
||||
\&\fBfprintd-verify\fR [\-f finger] [usename]
|
||||
.PP
|
||||
\&\fBfprintd-delete\fR username [usernames...]
|
||||
.SH "DESCRIPTION"
|
||||
.IX Header "DESCRIPTION"
|
||||
This manual page documents briefly the \fBfprintd\fR command-line utilities.
|
||||
.PP
|
||||
The \fBfprintd\fR daemon is accessed through \fBD\-Bus\fR by those command-line utilities.
|
||||
.SH "ARGUMENTS"
|
||||
.IX Header "ARGUMENTS"
|
||||
.IP "\fBusername\fR" 8
|
||||
.IX Item "username"
|
||||
The username for the user for which you want to query or modify the fingerprint database.
|
||||
.Sp
|
||||
Not that \fBfprintd-list\fR and \fBfprintd-delete\fR require at least one username to be passed, and support multiple usernames.
|
||||
.Sp
|
||||
\&\fBfprintd-enroll\fR and \fBfprintd-verify\fR will use the current username if none are passed on the command-line.
|
||||
.IP "\fB\-f finger\fR" 8
|
||||
.IX Item "-f finger"
|
||||
For \fBfprintd-enroll\fR, the finger to enroll. Possible values are:
|
||||
.Sp
|
||||
left-thumb,
|
||||
left-index-finger,
|
||||
left-middle-finger,
|
||||
left-ring-finger,
|
||||
left-little-finger,
|
||||
right-thumb,
|
||||
right-index-finger,
|
||||
right-middle-finger,
|
||||
right-ring-finger,
|
||||
right-little-finger.
|
||||
.Sp
|
||||
The default is automatic, selecting the first available finger for swipe devices, or all the enrolled fingers, for press devices.
|
||||
.SH "TEST APPLICATIONS"
|
||||
.IX Header "TEST APPLICATIONS"
|
||||
.SS "fprintd-enroll"
|
||||
.IX Subsection "fprintd-enroll"
|
||||
.RS 8
|
||||
Will enroll the user's right index finger into the database.
|
||||
.RE
|
||||
.SS "fprintd-list"
|
||||
.IX Subsection "fprintd-list"
|
||||
.RS 8
|
||||
Will list the user's enrolled fingerprints.
|
||||
.RE
|
||||
.SS "fprintd-verify"
|
||||
.IX Subsection "fprintd-verify"
|
||||
.RS 8
|
||||
Will enroll the user's right index finger into the database.
|
||||
.RE
|
||||
.SS "fprintd-enroll"
|
||||
.IX Subsection "fprintd-enroll"
|
||||
.RS 8
|
||||
Will enroll the user's right index finger into the database.
|
||||
.RE
|
||||
.SH "AUTHOR"
|
||||
.IX Header "AUTHOR"
|
||||
\&\fBfprintd\fR was written by Bastien Nocera and Daniel Drake.
|
||||
.SH "DIRECTORIES"
|
||||
.IX Header "DIRECTORIES"
|
||||
By default, fprintd stores the fingerprints in \fB/var/lib/fprint/\fR
|
||||
.SH "SEE ALSO"
|
||||
.IX Header "SEE ALSO"
|
||||
.IP "\fBdbus-daemon\fR, \fBgnome-about-me\fR" 8
|
||||
.IX Item "dbus-daemon, gnome-about-me"
|
||||
@ -1,2 +0,0 @@
|
||||
[storage]
|
||||
type=file
|
||||
102
data/fprintd.pod
102
data/fprintd.pod
@ -1,102 +0,0 @@
|
||||
=head1 NAME
|
||||
|
||||
fprintd - Fingerprint management daemon, and test applications
|
||||
|
||||
=head1 SYNOPSYS
|
||||
|
||||
B<fprintd-enroll> [username]
|
||||
|
||||
B<fprintd-list> username [usernames...]
|
||||
|
||||
B<fprintd-verify> [-f finger] [usename]
|
||||
|
||||
B<fprintd-delete> username [usernames...]
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This manual page documents briefly the B<fprintd> command-line utilities.
|
||||
|
||||
The B<fprintd> daemon is accessed through B<D-Bus> by those command-line utilities.
|
||||
|
||||
=head1 ARGUMENTS
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<username>
|
||||
|
||||
The username for the user for which you want to query or modify the fingerprint database.
|
||||
|
||||
Not that B<fprintd-list> and B<fprintd-delete> require at least one username to be passed, and support multiple usernames.
|
||||
|
||||
B<fprintd-enroll> and B<fprintd-verify> will use the current username if none are passed on the command-line.
|
||||
|
||||
=item B<-f finger>
|
||||
|
||||
For B<fprintd-enroll>, the finger to enroll. Possible values are:
|
||||
|
||||
left-thumb,
|
||||
left-index-finger,
|
||||
left-middle-finger,
|
||||
left-ring-finger,
|
||||
left-little-finger,
|
||||
right-thumb,
|
||||
right-index-finger,
|
||||
right-middle-finger,
|
||||
right-ring-finger,
|
||||
right-little-finger.
|
||||
|
||||
The default is automatic, selecting the first available finger for swipe devices, or all the enrolled fingers, for press devices.
|
||||
|
||||
=back
|
||||
|
||||
=head1 TEST APPLICATIONS
|
||||
|
||||
=over 8
|
||||
|
||||
=back
|
||||
|
||||
=head2 fprintd-enroll
|
||||
|
||||
=over 8
|
||||
|
||||
Will enroll the user's right index finger into the database.
|
||||
|
||||
=back
|
||||
|
||||
=head2 fprintd-list
|
||||
|
||||
=over 8
|
||||
|
||||
Will list the user's enrolled fingerprints.
|
||||
|
||||
=back
|
||||
|
||||
=head2 fprintd-verify
|
||||
|
||||
=over 8
|
||||
|
||||
Will enroll the user's right index finger into the database.
|
||||
|
||||
=back
|
||||
|
||||
=head2 fprintd-enroll
|
||||
|
||||
=over 8
|
||||
|
||||
Will enroll the user's right index finger into the database.
|
||||
|
||||
=back
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
B<fprintd> was written by Bastien Nocera and Daniel Drake.
|
||||
|
||||
=head1 DIRECTORIES
|
||||
|
||||
By default, fprintd stores the fingerprints in B</var/lib/fprint/>
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<dbus-daemon>, B<gnome-about-me>
|
||||
@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
|
||||
|
||||
<!DOCTYPE busconfig PUBLIC
|
||||
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
||||
<busconfig>
|
||||
|
||||
<!-- Only root can own the service -->
|
||||
<policy user="root">
|
||||
<allow own="net.reactivated.Fprint"/>
|
||||
</policy>
|
||||
|
||||
<!-- Anyone can talk to the service -->
|
||||
<policy context="default">
|
||||
<allow send_destination="net.reactivated.Fprint"/>
|
||||
<allow send_interface="net.reactivated.Fprint"/>
|
||||
</policy>
|
||||
|
||||
</busconfig>
|
||||
@ -1,4 +0,0 @@
|
||||
[D-BUS Service]
|
||||
Name=net.reactivated.Fprint
|
||||
Exec=@LIBEXECDIR@/fprintd
|
||||
User=root
|
||||
@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE policyconfig PUBLIC
|
||||
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
|
||||
|
||||
<policyconfig>
|
||||
|
||||
<vendor>The FPrint Project</vendor>
|
||||
<vendor_url>http://reactivated.net/fprint/</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>
|
||||
<defaults>
|
||||
<allow_any>no</allow_any>
|
||||
<allow_inactive>no</allow_inactive>
|
||||
<allow_active>yes</allow_active>
|
||||
</defaults>
|
||||
</action>
|
||||
|
||||
<action id="net.reactivated.fprint.device.enroll">
|
||||
<_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>
|
||||
</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>
|
||||
<defaults>
|
||||
<allow_any>no</allow_any>
|
||||
<allow_inactive>no</allow_inactive>
|
||||
<allow_active>auth_admin_keep</allow_active>
|
||||
</defaults>
|
||||
</action>
|
||||
|
||||
</policyconfig>
|
||||
@ -1,77 +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=
|
||||
|
||||
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
|
||||
|
||||
@ -1,15 +0,0 @@
|
||||
|
||||
all : 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
|
||||
@ -1,32 +0,0 @@
|
||||
<!-- DTD for D-Bus Introspection Documentation -->
|
||||
|
||||
<!ELEMENT doc (summary?,description?,errors?,permission?,since?,deprecated,seealso?)>
|
||||
|
||||
<!ELEMENT summary (#PCDATA|ref)*>
|
||||
<!ELEMENT description (#PCDATA|para|example)*>
|
||||
<!ELEMENT errors (error)*>
|
||||
<!ELEMENT permission (#PCDATA|ref|para)*>
|
||||
<!ELEMENT since EMPTY>
|
||||
<!ATTLIST since version CDATA #REQUIRED>
|
||||
<!ELEMENT deprecated (#PCDATA|ref)>
|
||||
<!ATTLIST deprecated version CDATA #REQUIRED>
|
||||
<!ATTLIST deprecated instead CDATA #REQUIRED>
|
||||
<!ELEMENT seealso (ref+)>
|
||||
|
||||
<!ELEMENT error (#PCDATA|para)*>
|
||||
<!ATTLIST error name CDATA #REQUIRED>
|
||||
<!ELEMENT para (#PCDATA|example|code|list|ref)*>
|
||||
<!ELEMENT example (#PCDATA|para|code|ref)*>
|
||||
<!ATTLIST language (c|glib|python|shell) #REQUIRED>
|
||||
<!ATTLIST title CDATA #IMPLIED>
|
||||
<!ELEMENT list (item*)>
|
||||
<!ATTLIST list type (bullet|number) #REQUIRED>
|
||||
<!ELEMENT item (term|definition)*>
|
||||
<!ELEMENT term (#PCDATA|ref)*>
|
||||
<!ELEMENT definition (#PCDATA|para)*>
|
||||
|
||||
<!ELEMENT code (#PCDATA)>
|
||||
<!ATTLIST code lang CDATA #IMPLIED>
|
||||
<!ELEMENT ref CDATA>
|
||||
<!ATTLIST ref type (parameter|arg|signal|method|interface) #REQUIRED>
|
||||
<!ATTLIST ref to CDATA #REQUIRED>
|
||||
@ -1,550 +0,0 @@
|
||||
<?xml version='1.0'?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"
|
||||
exclude-result-prefixes="doc">
|
||||
<!--
|
||||
Convert D-Bus Glib xml into DocBook refentries
|
||||
Copyright (C) 2007 William Jon McCann
|
||||
License: GPL
|
||||
-->
|
||||
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
||||
<xsl:variable name="interface" select="//interface/@name"/>
|
||||
<xsl:variable name="basename">
|
||||
<xsl:call-template name="interface-basename">
|
||||
<xsl:with-param name="str" select="$interface"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<refentry><xsl:attribute name="id"><xsl:value-of select="$basename"/></xsl:attribute>
|
||||
<refmeta>
|
||||
<refentrytitle role="top_of_page"><xsl:value-of select="//interface/@name"/></refentrytitle>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname><xsl:value-of select="//interface/@name"/></refname>
|
||||
<refpurpose><xsl:value-of select="$basename"/> interface</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsynopsisdiv role="synopsis">
|
||||
<title role="synopsis.title">Methods</title>
|
||||
<synopsis>
|
||||
<xsl:call-template name="methods-synopsis">
|
||||
<xsl:with-param name="basename" select="$basename"/>
|
||||
</xsl:call-template>
|
||||
</synopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(///signal) > 0">
|
||||
<refsect1 role="signal_proto">
|
||||
<title role="signal_proto.title">Signals</title>
|
||||
<synopsis>
|
||||
<xsl:call-template name="signals-synopsis">
|
||||
<xsl:with-param name="basename" select="$basename"/>
|
||||
</xsl:call-template>
|
||||
</synopsis>
|
||||
</refsect1>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<refsect1 role="impl_interfaces">
|
||||
<title role="impl_interfaces.title">Implemented Interfaces</title>
|
||||
<para>
|
||||
Objects implementing <xsl:value-of select="$interface"/> also implements
|
||||
org.freedesktop.DBus.Introspectable,
|
||||
org.freedesktop.DBus.Properties
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(///property) > 0">
|
||||
<refsect1 role="properties">
|
||||
<title role="properties.title">Properties</title>
|
||||
<synopsis>
|
||||
<xsl:call-template name="properties-synopsis">
|
||||
<xsl:with-param name="basename" select="$basename"/>
|
||||
</xsl:call-template>
|
||||
</synopsis>
|
||||
</refsect1>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<refsect1 role="desc">
|
||||
<title role="desc.title">Description</title>
|
||||
<para>
|
||||
<xsl:apply-templates select="//interface/doc:doc"/>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="details">
|
||||
<title role="details.title">Details</title>
|
||||
<xsl:call-template name="method-details">
|
||||
<xsl:with-param name="basename" select="$basename"/>
|
||||
</xsl:call-template>
|
||||
</refsect1>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(///signal) > 0">
|
||||
<refsect1 role="signals">
|
||||
<title role="signals.title">Signal Details</title>
|
||||
<xsl:call-template name="signal-details">
|
||||
<xsl:with-param name="basename" select="$basename"/>
|
||||
</xsl:call-template>
|
||||
</refsect1>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(///property) > 0">
|
||||
<refsect1 role="property_details">
|
||||
<title role="property_details.title">Property Details</title>
|
||||
<xsl:call-template name="property-details">
|
||||
<xsl:with-param name="basename" select="$basename"/>
|
||||
</xsl:call-template>
|
||||
</refsect1>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
</refentry>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="property-doc">
|
||||
<xsl:apply-templates select="doc:doc/doc:description"/>
|
||||
|
||||
<variablelist role="params">
|
||||
<xsl:for-each select="arg">
|
||||
<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
|
||||
<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
|
||||
</varlistentry>
|
||||
</xsl:for-each>
|
||||
</variablelist>
|
||||
|
||||
<xsl:apply-templates select="doc:doc/doc:since"/>
|
||||
<xsl:apply-templates select="doc:doc/doc:deprecated"/>
|
||||
<xsl:apply-templates select="doc:doc/doc:permission"/>
|
||||
<xsl:apply-templates select="doc:doc/doc:seealso"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="property-details">
|
||||
<xsl:param name="basename"/>
|
||||
<xsl:variable name="longest">
|
||||
<xsl:call-template name="find-longest">
|
||||
<xsl:with-param name="set" select="@name"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:for-each select="///property">
|
||||
<refsect2>
|
||||
<title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute></anchor>The "<xsl:value-of select="@name"/>" property</title>
|
||||
<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
|
||||
<programlisting>'<xsl:value-of select="@name"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="2"/></xsl:call-template>
|
||||
<xsl:call-template name="property-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/></xsl:call-template></programlisting>
|
||||
</refsect2>
|
||||
|
||||
<xsl:call-template name="property-doc"/>
|
||||
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="signal-doc">
|
||||
<xsl:apply-templates select="doc:doc/doc:description"/>
|
||||
|
||||
<variablelist role="params">
|
||||
<xsl:for-each select="arg">
|
||||
<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
|
||||
<listitem><simpara><xsl:value-of select="doc:doc/doc:summary"/></simpara></listitem>
|
||||
</varlistentry>
|
||||
</xsl:for-each>
|
||||
</variablelist>
|
||||
|
||||
<xsl:apply-templates select="doc:doc/doc:since"/>
|
||||
<xsl:apply-templates select="doc:doc/doc:deprecated"/>
|
||||
<xsl:apply-templates select="doc:doc/doc:permission"/>
|
||||
<xsl:apply-templates select="doc:doc/doc:seealso"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="signal-details">
|
||||
<xsl:param name="basename"/>
|
||||
<xsl:variable name="longest">
|
||||
<xsl:call-template name="find-longest">
|
||||
<xsl:with-param name="set" select="@name"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:for-each select="///signal">
|
||||
<refsect2>
|
||||
<title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute></anchor>The <xsl:value-of select="@name"/> signal</title>
|
||||
<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
|
||||
<programlisting><xsl:value-of select="@name"/> (<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/><xsl:with-param name="prefix" select="."/></xsl:call-template>)</programlisting>
|
||||
</refsect2>
|
||||
|
||||
<xsl:call-template name="signal-doc"/>
|
||||
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:code">
|
||||
<programlisting>
|
||||
<xsl:apply-templates />
|
||||
</programlisting>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:tt">
|
||||
<literal>
|
||||
<xsl:apply-templates />
|
||||
</literal>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:i">
|
||||
<emphasis>
|
||||
<xsl:apply-templates />
|
||||
</emphasis>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:b">
|
||||
<emphasis role="bold">
|
||||
<xsl:apply-templates />
|
||||
</emphasis>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:ulink">
|
||||
<ulink>
|
||||
<xsl:attribute name="url"><xsl:value-of select="@url"/></xsl:attribute>
|
||||
<xsl:value-of select="."/>
|
||||
</ulink>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:summary">
|
||||
<xsl:apply-templates />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:example">
|
||||
<informalexample>
|
||||
<xsl:apply-templates />
|
||||
</informalexample>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="listitems-do-term">
|
||||
<xsl:param name="str"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length($str) > 0">
|
||||
<emphasis role="bold"><xsl:value-of select="$str"/>: </emphasis>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="do-listitems">
|
||||
<xsl:for-each select="doc:item">
|
||||
<listitem>
|
||||
<xsl:call-template name="listitems-do-term"><xsl:with-param name="str" select="doc:term"/></xsl:call-template>
|
||||
<xsl:apply-templates select="doc:definition"/>
|
||||
</listitem>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:list">
|
||||
<para>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains(@type,'number')">
|
||||
<orderedlist>
|
||||
<xsl:call-template name="do-listitems"/>
|
||||
</orderedlist>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<itemizedlist>
|
||||
<xsl:call-template name="do-listitems"/>
|
||||
</itemizedlist>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</para>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:para">
|
||||
<para>
|
||||
<xsl:apply-templates />
|
||||
</para>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:title">
|
||||
<refsect2><title role="title.description"><anchor role="description"><xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute></anchor><xsl:value-of select="."/></title></refsect2>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:description">
|
||||
<xsl:apply-templates />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:since">
|
||||
<para role="since">Since <xsl:value-of select="@version"/>
|
||||
</para>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:deprecated">
|
||||
<xsl:variable name="name" select="../../@name"/>
|
||||
<xsl:variable name="parent">
|
||||
<xsl:call-template name="interface-basename">
|
||||
<xsl:with-param name="str" select="../../../@name"/>/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="type" select="name(../..)"/>
|
||||
|
||||
<para role="deprecated">
|
||||
<warning><para><literal><xsl:value-of select="$name"/></literal> is deprecated since version <xsl:value-of select="@version"/> and should not be used in newly-written code. Use
|
||||
|
||||
<xsl:variable name="to">
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($type,'property')">
|
||||
<xsl:value-of select="$parent"/>:<xsl:value-of select="@instead"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="contains($type,'signal')">
|
||||
<xsl:value-of select="$parent"/>::<xsl:value-of select="@instead"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="contains($type,'method')">
|
||||
<xsl:value-of select="$parent"/>.<xsl:value-of select="@instead"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="contains($type,'interface')">
|
||||
<xsl:value-of select="@instead"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@instead"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:call-template name="create-link">
|
||||
<xsl:with-param name="type" select="$type"/>
|
||||
<xsl:with-param name="to" select="$to"/>
|
||||
<xsl:with-param name="val" select="@instead"/>
|
||||
</xsl:call-template>
|
||||
instead.</para></warning>
|
||||
</para>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:permission">
|
||||
<para role="permission">
|
||||
<xsl:apply-templates />
|
||||
</para>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:errors">
|
||||
<para role="errors">
|
||||
<xsl:apply-templates />
|
||||
</para>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:seealso">
|
||||
<para>
|
||||
See also:
|
||||
<xsl:apply-templates />
|
||||
|
||||
</para>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="create-link">
|
||||
<xsl:param name="type"/>
|
||||
<xsl:param name="to"/>
|
||||
<xsl:param name="val"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($type,'property')">
|
||||
<link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><literal><xsl:value-of select="$val"/></literal></link>
|
||||
</xsl:when>
|
||||
<xsl:when test="contains($type,'signal')">
|
||||
<link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><literal><xsl:value-of select="$val"/></literal></link>
|
||||
</xsl:when>
|
||||
<xsl:when test="contains($type,'method')">
|
||||
<link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><function><xsl:value-of select="$val"/></function></link>
|
||||
</xsl:when>
|
||||
<xsl:when test="contains($type,'interface')">
|
||||
<link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><xsl:value-of select="$val"/></link>
|
||||
</xsl:when>
|
||||
<xsl:when test="contains($type,'description')">
|
||||
<link><xsl:attribute name="linkend"><xsl:value-of select="$to"/></xsl:attribute><xsl:value-of select="$val"/></link>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="doc:ref">
|
||||
<xsl:call-template name="create-link">
|
||||
<xsl:with-param name="type" select="@type"/>
|
||||
<xsl:with-param name="to" select="@to"/>
|
||||
<xsl:with-param name="val" select="."/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="method-doc">
|
||||
<xsl:apply-templates select="doc:doc/doc:description"/>
|
||||
|
||||
<variablelist role="params">
|
||||
<xsl:for-each select="arg">
|
||||
<varlistentry><term><parameter><xsl:value-of select="@name"/></parameter>:</term>
|
||||
<listitem><simpara><xsl:apply-templates select="doc:doc/doc:summary"/></simpara></listitem>
|
||||
</varlistentry>
|
||||
</xsl:for-each>
|
||||
</variablelist>
|
||||
|
||||
<xsl:apply-templates select="doc:doc/doc:since"/>
|
||||
<xsl:apply-templates select="doc:doc/doc:deprecated"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(doc:doc/doc:errors) > 0">
|
||||
<refsect3>
|
||||
<title>Errors</title>
|
||||
<variablelist role="errors">
|
||||
<xsl:for-each select="doc:doc/doc:errors/doc:error">
|
||||
<varlistentry>
|
||||
<term><parameter><xsl:value-of select="@name"/></parameter>:</term>
|
||||
<listitem><simpara><xsl:apply-templates select="."/></simpara></listitem>
|
||||
</varlistentry>
|
||||
</xsl:for-each>
|
||||
</variablelist>
|
||||
</refsect3>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(doc:doc/doc:permission) > 0">
|
||||
<refsect3>
|
||||
<title>Permissions</title>
|
||||
<xsl:apply-templates select="doc:doc/doc:permission"/>
|
||||
</refsect3>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:apply-templates select="doc:doc/doc:seealso"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="method-details">
|
||||
<xsl:param name="basename"/>
|
||||
<xsl:variable name="longest">
|
||||
<xsl:call-template name="find-longest">
|
||||
<xsl:with-param name="set" select="@name"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:for-each select="///method">
|
||||
<refsect2>
|
||||
<title><anchor role="function"><xsl:attribute name="id"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute></anchor><xsl:value-of select="@name"/> ()</title>
|
||||
<indexterm><primary><xsl:value-of select="@name"/></primary><secondary><xsl:value-of select="$basename"/></secondary></indexterm>
|
||||
<programlisting><xsl:value-of select="@name"/> (<xsl:call-template name="method-args"><xsl:with-param name="indent" select="string-length(@name) + 2"/><xsl:with-param name="prefix" select="."/></xsl:call-template>)</programlisting>
|
||||
</refsect2>
|
||||
|
||||
<xsl:call-template name="method-doc"/>
|
||||
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="properties-synopsis">
|
||||
<xsl:param name="basename"/>
|
||||
<xsl:variable name="longest">
|
||||
<xsl:call-template name="find-longest">
|
||||
<xsl:with-param name="set" select="///property/@name"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:for-each select="///property">
|
||||
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>:<xsl:value-of select="@name"/></xsl:attribute>'<xsl:value-of select="@name"/>'</link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template> <xsl:call-template name="property-args"><xsl:with-param name="indent" select="$longest + 2"/></xsl:call-template>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="signals-synopsis">
|
||||
<xsl:param name="basename"/>
|
||||
<xsl:variable name="longest">
|
||||
<xsl:call-template name="find-longest">
|
||||
<xsl:with-param name="set" select="///signal/@name"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:for-each select="///signal">
|
||||
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>::<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="signal-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///signal"/></xsl:call-template>)
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="methods-synopsis">
|
||||
<xsl:param name="basename"/>
|
||||
<xsl:variable name="longest">
|
||||
<xsl:call-template name="find-longest">
|
||||
<xsl:with-param name="set" select="///method/@name"/>
|
||||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
<xsl:for-each select="///method">
|
||||
<link><xsl:attribute name="linkend"><xsl:value-of select="$basename"/>.<xsl:value-of select="@name"/></xsl:attribute><xsl:value-of select="@name"/></link><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@name) + 1"/></xsl:call-template>(<xsl:call-template name="method-args"><xsl:with-param name="indent" select="$longest + 2"/><xsl:with-param name="prefix" select="///method"/></xsl:call-template>)
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="method-args"><xsl:param name="indent"/><xsl:param name="prefix"/><xsl:variable name="longest"><xsl:call-template name="find-longest"><xsl:with-param name="set" select="$prefix/arg/@type"/></xsl:call-template></xsl:variable><xsl:for-each select="arg"><xsl:value-of select="@direction"/>
|
||||
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="4 - string-length(@direction)"/></xsl:call-template>'<xsl:value-of select="@type"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@type) + 1"/></xsl:call-template>
|
||||
<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
|
||||
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="signal-args"><xsl:param name="indent"/><xsl:param name="prefix"/><xsl:variable name="longest"><xsl:call-template name="find-longest"><xsl:with-param name="set" select="$prefix/arg/@type"/></xsl:call-template></xsl:variable><xsl:for-each select="arg">'<xsl:value-of select="@type"/>'<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$longest - string-length(@type) + 1"/></xsl:call-template>
|
||||
<xsl:value-of select="@name"/><xsl:if test="not(position() = last())">,
|
||||
<xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="$indent"/></xsl:call-template></xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="property-args"><xsl:param name="indent"/>
|
||||
<xsl:value-of select="@access"/><xsl:call-template name="pad-spaces"><xsl:with-param name="width" select="9 - string-length(@access) + 1"/></xsl:call-template>'<xsl:value-of select="@type"/>'
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="pad-spaces">
|
||||
<xsl:param name="width"/>
|
||||
<xsl:variable name="spaces" xml:space="preserve"> </xsl:variable>
|
||||
<xsl:value-of select="substring($spaces,1,$width)"/>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="find-longest">
|
||||
<xsl:param name="set"/>
|
||||
<xsl:param name="index" select="1"/>
|
||||
<xsl:param name="longest" select="0"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="$index > count($set)">
|
||||
<!--finished looking-->
|
||||
<xsl:value-of select="$longest"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="string-length($set[$index])>$longest">
|
||||
<!--found new longest-->
|
||||
<xsl:call-template name="find-longest">
|
||||
<xsl:with-param name="set" select="$set"/>
|
||||
<xsl:with-param name="index" select="$index + 1"/>
|
||||
<xsl:with-param name="longest" select="string-length($set[$index])"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!--this isn't any longer-->
|
||||
<xsl:call-template name="find-longest">
|
||||
<xsl:with-param name="set" select="$set"/>
|
||||
<xsl:with-param name="index" select="$index + 1"/>
|
||||
<xsl:with-param name="longest" select="$longest"/>
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="interface-basename">
|
||||
<xsl:param name="str"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="contains($str,'.')">
|
||||
<xsl:call-template name="interface-basename">
|
||||
<xsl:with-param name="str" select="substring-after($str,'.')"/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$str"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@ -1,82 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
|
||||
<!ENTITY version SYSTEM "version.xml">
|
||||
]>
|
||||
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
|
||||
<bookinfo>
|
||||
<title>fprintd Reference Manual</title>
|
||||
<releaseinfo>Version &version;</releaseinfo>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Bastien</firstname>
|
||||
<surname>Nocera</surname>
|
||||
<affiliation>
|
||||
<address>
|
||||
<email>hadess@hadess.net</email>
|
||||
</address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<copyright>
|
||||
<year>2008</year>
|
||||
<holder>The fprintd Authors</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice>
|
||||
<para>
|
||||
Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the <citetitle>GNU Free
|
||||
Documentation License</citetitle>, Version 1.1 or any later
|
||||
version published by the Free Software Foundation with no
|
||||
Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts. You may obtain a copy of the <citetitle>GNU Free
|
||||
Documentation License</citetitle> from the Free Software
|
||||
Foundation by visiting <ulink type="http"
|
||||
url="http://www.fsf.org">their Web site</ulink> or by writing
|
||||
to:
|
||||
|
||||
<address>
|
||||
The Free Software Foundation, Inc.,
|
||||
<street>59 Temple Place</street> - Suite 330,
|
||||
<city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
|
||||
<country>USA</country>
|
||||
</address>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Many of the names used by companies to distinguish their
|
||||
products and services are claimed as trademarks. Where those
|
||||
names appear in any GNOME documentation, and those trademarks
|
||||
are made aware to the members of the GNOME Documentation
|
||||
Project, the names have been printed in caps or initial caps.
|
||||
</para>
|
||||
</legalnotice>
|
||||
</bookinfo>
|
||||
|
||||
<reference id="ref-dbus">
|
||||
<title>D-Bus API Reference</title>
|
||||
<partintro>
|
||||
<para>
|
||||
This part documents the D-Bus interface used to access the
|
||||
fprintd daemon.
|
||||
</para>
|
||||
</partintro>
|
||||
<xi:include href="dbus/net.reactivated.Fprint.Manager.ref.xml"/>
|
||||
<xi:include href="dbus/net.reactivated.Fprint.Device.ref.xml"/>
|
||||
</reference>
|
||||
|
||||
<index>
|
||||
<title>Index</title>
|
||||
</index>
|
||||
|
||||
<!-- License -->
|
||||
|
||||
<appendix id="license">
|
||||
<title>License</title>
|
||||
<para>
|
||||
<programlisting><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="../COPYING" parse="text"><xi:fallback>FIXME: MISSING XINCLUDE CONTENT</xi:fallback></xi:include></programlisting>
|
||||
</para>
|
||||
</appendix>
|
||||
</book>
|
||||
@ -1 +0,0 @@
|
||||
@VERSION@
|
||||
196
git.mk
196
git.mk
@ -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
|
||||
208
meson.build
Normal file
208
meson.build
Normal file
@ -0,0 +1,208 @@
|
||||
project('fprintd', 'c',
|
||||
version: '1.94.1',
|
||||
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.94.0'
|
||||
|
||||
glib_version_def = 'GLIB_VERSION_@0@_@1@'.format(
|
||||
glib_min_version.split('.')[0], glib_min_version.split('.')[1])
|
||||
common_cflags = cc.get_supported_arguments([
|
||||
'-DGLIB_VERSION_MIN_REQUIRED=' + glib_version_def,
|
||||
'-DGLIB_VERSION_MAX_ALLOWED=' + glib_version_def,
|
||||
])
|
||||
add_project_arguments(common_cflags, language: 'c')
|
||||
|
||||
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',
|
||||
)
|
||||
pthread_dep = dependency('threads')
|
||||
|
||||
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() and get_option('pam')).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
25
meson_options.txt
Normal 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: false)
|
||||
option('systemd',
|
||||
description: 'Install system service files',
|
||||
type: 'boolean',
|
||||
value: false)
|
||||
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')
|
||||
@ -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
|
||||
@ -20,65 +20,164 @@
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
struct {
|
||||
#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;
|
||||
const char *swipe_str;
|
||||
} fingers[11] = {
|
||||
{ "left-thumb", N_("Place your left thumb on %s"), N_("Swipe your left thumb on %s") },
|
||||
{ "left-index-finger", N_("Place your left index finger on %s"), N_("Swipe your left index finger on %s") },
|
||||
{ "left-middle-finger", N_("Place your left middle finger on %s"), N_("Swipe your left middle finger on %s") },
|
||||
{ "left-ring-finger", N_("Place your left ring finger on %s"), N_("Swipe your left ring finger on %s") },
|
||||
{ "left-little-finger", N_("Place your left little finger on %s"), N_("Swipe your left little finger on %s") },
|
||||
{ "right-thumb", N_("Place your right thumb on %s"), N_("Swipe your right thumb on %s") },
|
||||
{ "right-index-finger", N_("Place your right index finger on %s"), N_("Swipe your right index finger on %s") },
|
||||
{ "right-middle-finger", N_("Place your right middle finger on %s"), N_("Swipe your right middle finger on %s") },
|
||||
{ "right-ring-finger", N_("Place your right ring finger on %s"), N_("Swipe your right ring finger on %s") },
|
||||
{ "right-little-finger", N_("Place your right little finger on %s"), N_("Swipe your right little finger on %s") },
|
||||
{ NULL, NULL, NULL }
|
||||
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 }
|
||||
};
|
||||
|
||||
static const char *finger_str_to_msg(const char *finger_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;
|
||||
|
||||
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)
|
||||
return fingers[i].place_str;
|
||||
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 fingers[i].swipe_str;
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
#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 (strcmp (result, "verify-retry-scan") == 0) {
|
||||
if (is_swipe == FALSE)
|
||||
return N_("Place your finger on the reader again");
|
||||
if (strcmp (result, "verify-retry-scan") == 0)
|
||||
{
|
||||
if (is_swipe == false)
|
||||
return TR (N_("Place your finger on the reader again"));
|
||||
else
|
||||
return N_("Swipe your finger again");
|
||||
return TR (N_("Swipe your finger again"));
|
||||
}
|
||||
if (strcmp (result, "verify-swipe-too-short") == 0)
|
||||
return N_("Swipe was too short, try again");
|
||||
return TR (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");
|
||||
return TR (N_("Your finger was not centered, try swiping your finger again"));
|
||||
if (strcmp (result, "verify-remove-and-retry") == 0)
|
||||
return N_("Remove your finger, and try swiping your finger again");
|
||||
return TR (N_("Remove your finger, and try swiping your finger again"));
|
||||
|
||||
return NULL;
|
||||
}
|
||||
@ -88,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 (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");
|
||||
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 N_("Swipe your finger again");
|
||||
return TR (N_("Swipe your finger again"));
|
||||
}
|
||||
if (strcmp (result, "enroll-swipe-too-short") == 0)
|
||||
return N_("Swipe was too short, try again");
|
||||
return TR (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");
|
||||
return TR (N_("Your finger was not centered, try swiping your finger again"));
|
||||
if (strcmp (result, "enroll-remove-and-retry") == 0)
|
||||
return N_("Remove your finger, and try swiping your finger again");
|
||||
return TR (N_("Remove your finger, and try swiping your finger again"));
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
31
pam/meson.build
Normal file
31
pam/meson.build
Normal file
@ -0,0 +1,31 @@
|
||||
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_grosshack',
|
||||
name_prefix: '',
|
||||
include_directories: [
|
||||
include_directories('..'),
|
||||
],
|
||||
sources: [
|
||||
'pam_fprintd.c',
|
||||
'fingerprint-strings.h',
|
||||
],
|
||||
dependencies: [
|
||||
libsystemd_dep,
|
||||
pam_dep,
|
||||
pthread_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,
|
||||
)
|
||||
1065
pam/pam_fprintd.c
1065
pam/pam_fprintd.c
File diff suppressed because it is too large
Load Diff
6
pam/pam_fprintd.ver
Normal file
6
pam/pam_fprintd.ver
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
global:
|
||||
pam_*;
|
||||
local:
|
||||
*;
|
||||
};
|
||||
61
pam/pam_fprintd_autoptrs.h
Normal file
61
pam/pam_fprintd_autoptrs.h
Normal 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)
|
||||
35
po/LINGUAS
35
po/LINGUAS
@ -1,35 +0,0 @@
|
||||
ar
|
||||
bg_BG
|
||||
bn_IN
|
||||
ca
|
||||
ca@valencia
|
||||
cs
|
||||
de
|
||||
el
|
||||
en_GB
|
||||
es
|
||||
fa_IR
|
||||
fr
|
||||
fo
|
||||
ga
|
||||
gl
|
||||
hi
|
||||
hu
|
||||
id
|
||||
it
|
||||
kk
|
||||
ko
|
||||
pa
|
||||
pl
|
||||
ro
|
||||
ru
|
||||
sk
|
||||
sl
|
||||
sr
|
||||
sr@latin
|
||||
sv
|
||||
tr
|
||||
uk
|
||||
wa
|
||||
zh_CN
|
||||
zh_TW
|
||||
@ -1,5 +0,0 @@
|
||||
data/net.reactivated.fprint.device.policy.in
|
||||
src/main.c
|
||||
src/manager.c
|
||||
src/device.c
|
||||
pam/fingerprint-strings.h
|
||||
172
po/ar.po
172
po/ar.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 "ضع إبهامك الأيسر على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "انقر بإبهامك الأيسر على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "ضع سبابتك اليسرى على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "انقر بسبابتك اليسرى على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "ضع أصبعك الوسطى اليسرى على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "انقر بأصبعك الوسطى اليسرى على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "ضع بنصرك الأيسر على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "انقر ببنصرك الأيسر على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "ضع خنصرك الأيسر على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "انقر بخنصرك الأيسر على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "ضع إبهامك الأيمن على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "انقر بإبهامك الأيمن على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "ضع سبابتك اليمنى على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "انقر بسبابتك اليمنى على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "ضع أصبعك الوسطى اليمنى على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "انقر بأصبعك الوسطى اليمنى على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "ضع بنصرك الأيمن على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "انقر ببنصرك الأيمن على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "ضع خنصرك الأيمن على %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "انقر بخنصرك الأيمن على %s"
|
||||
|
||||
#: ../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 "ارفع أصبعك، ثم حاول ثانيا"
|
||||
175
po/bg.po
175
po/bg.po
@ -1,175 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-03-22 15:29+0000\n"
|
||||
"Last-Translator: al_shopov <ash@kambanaria.org>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: 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 "Поставете левия си палец върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Прекарайте левия си палец върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Поставете левия си показалец върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Прекарайте левия си показалец върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Поставете левия си среден пръст върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Прекарайте левия си среден пръст върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Поставете левия си безименен пръст върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Прекарайте левия си безименен пръст върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Поставете лявото си кутре върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Прекарайте лявото си кутре върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Поставете десния си палец върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Прекарайте десния си палец върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Поставете десния си показалец върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Прекарайте десния си показалец върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Поставете десния си среден пръст върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Прекарайте десния си среден пръст върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Поставете десния си безименен пръст върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Прекарайте десния си безименен пръст върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Поставете дясното си кутре върху %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Прекарайте дясното си кутре върху %s"
|
||||
|
||||
#: ../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 "Махнете пръста си и го прекарайте отново"
|
||||
172
po/bg_BG.po
172
po/bg_BG.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bulgarian (Bulgaria) <None>\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 ""
|
||||
172
po/bn_IN.po
172
po/bn_IN.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bengali (India) <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bn_IN\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
172
po/ca.po
172
po/ca.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Catalan <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Catalan (Valencian) <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca@valencia\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
174
po/cs.po
174
po/cs.po
@ -1,174 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Czech <>\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"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
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
|
||||
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ů"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Zařízení nebylo před použitím získáno"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Zařízení je již používáno jiným uživatelem"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Položte palec levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Otiskněte palec levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Položte ukazováček levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Otiskněte ukazováček levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Položte prostředníček levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Otiskněte prostředníček levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Položte prsteníček levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Otiskněte prsteníček levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Položte malíček levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Otiskněte malíček levé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Položte palec pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Otiskněte palec pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Položte ukazováček pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Otiskněte ukazováček pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Položte prostředníček pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Otiskněte prostředníček pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Položte prsteníček pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Otiskněte prsteníček pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Položte malíček pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Otiskněte malíček pravé ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Položte prst na čtečku znovu"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Otiskněte prst znovu"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Otisknutí bylo příliš rychlé, zkuste to znovu"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
msgid "Your finger was not centered, try swiping your finger again"
|
||||
msgstr "Prst nebyl položen na střed, zkuste prst otisknout znovu"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Sejměte prst a zkuste jej znovu otisknout"
|
||||
180
po/de.po
180
po/de.po
@ -1,180 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: German <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "Enroll new fingerprints"
|
||||
msgstr "Neue Fingerabdrücke eintragen"
|
||||
|
||||
#: ../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:5
|
||||
msgid "Select a user to enroll"
|
||||
msgstr "Einzutragenden Benutzer auswählen"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:6
|
||||
msgid "Verify a fingerprint"
|
||||
msgstr "Einen Fingerabdruck überprüfen"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Nutzung des Gerätes wurde vorher nicht angefragt"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Gerät wird bereits von einem anderen Benutzer beansprucht"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Legen Sie Ihren linken Daumen auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Streifen Sie Ihren linken Daumen über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Legen Sie Ihren linken Zeigefinger auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Streifen Sie Ihren linken Zeigefinger über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Legen Sie Ihren linken Zeigefinger auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Streifen Sie Ihren linken Mittelfinger über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Legen Sie Ihren linken Ringfinger auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Streifen Sie Ihren linken Ringfinger über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Legen Sie Ihren linken kleinen Finger auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Streifen Sie Ihren linken kleinen Finger über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Legen Sie Ihren rechten Daumen auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Streifen Sie Ihren linken Daumen über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Legen Sie Ihren rechten Zeigefinger auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Streifen Sie Ihren rechten Zeigefinger über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Legen Sie Ihren rechten Mittelfinger auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Streifen Sie Ihren rechten Mittelfinger über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Legen Sie Ihren rechten Ringfinger auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Streifen Sie Ihren rechten Ringfinger über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Legen Sie Ihren rechten kleinen Finger auf %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Streifen Sie Ihren rechten kleinen Finger über %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Legen Sie Ihren Finger erneut auf den Leser"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Streifen Sie Ihren Finger erneut"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Das Abstreifen war zu kurz, versuchen Sie es erneut"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
msgid "Your finger was not centered, try swiping your finger again"
|
||||
msgstr ""
|
||||
"Ihr Finger war nicht zentriert, versuchen Sie erneut Ihren Finger "
|
||||
"abzustreifen"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr ""
|
||||
"Entfernen Sie Ihren Finger und versuchen Sie erneut Ihren Finger "
|
||||
"abzustreifen"
|
||||
172
po/el.po
172
po/el.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Greek <>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: el\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
172
po/en_GB.po
172
po/en_GB.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en_GB\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Device was not claimed before use"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Device already in use by another user"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Place your left thumb on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Swipe your left thumb on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Place your left index finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Swipe your left index finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Place your left middle finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Swipe your left middle finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Place your left ring finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Swipe your left ring finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Place your left little finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Swipe your left little finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Place your right thumb on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Swipe your right thumb on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Place your right index finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Swipe your right index finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Place your right middle finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Swipe your right middle finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Place your right ring finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Swipe your right ring finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Place your right little finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Swipe your right little finger on %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Place your finger on the reader again"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Swipe your finger again"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Swipe was too short, try again"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Remove your finger, and try swiping your finger again"
|
||||
173
po/es.po
173
po/es.po
@ -1,173 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "No se llamó al dispositivo antes de usarlo"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "El dispositivo ya está en uso por otro usuario"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Ponga su pulgar izquierdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Pase su pulgar izquierdo sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Ponga su dedo índice izquierdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Pase su dedo índice izquierdo sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Ponga su dedo corazón izquierdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Pase su dedo corazón izquierdo sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Ponga su dedo anular izquierdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Pase su dedo anular izquierdo sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Ponga su dedo meñique izquierdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Pase su dedo meñique izquierdo sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Ponga su pulgar derecho en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Pase su pulgar derecho sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Ponga su dedo índice derecho en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Pase su dedo índice derecho sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Ponga su dedo corazón derecho en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Pase su dedo corazón derecho sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Ponga su dedo anular derecho en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Pase su dedo anular derecho sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Ponga su dedo meñique derecho en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Pase su dedo meñique derecho sobre %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Ponga de nuevo su dedo en el lector"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Pase su dedo de nuevo"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "La pasada fue demasiado corta, inténtelo de nuevo"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
msgid "Your finger was not centered, try swiping your finger again"
|
||||
msgstr "Su dedo no estaba centrado, intente pasar su dedo de nuevo"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Quite su dedo e intente pasar su dedo de nuevo"
|
||||
172
po/fa_IR.po
172
po/fa_IR.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Persian (Iran) <>\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 ""
|
||||
174
po/fo.po
174
po/fo.po
@ -1,174 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-03-22 15:29+0000\n"
|
||||
"Last-Translator: Gunleif <fo.umseting@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fo\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Tóleind varð ikki kravd áðrenn nýtslu"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Tóleind er longu í brúka, av einum ørðum brúkara"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Set vinstra tummil á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Drag vinstra tummil eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Set vinstra peikifingur á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Drag vinstra peikifingur eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Set vinstra longutong á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Drag vinstra longutong eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Set vinstra ringfingur á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Drag vinstra ringfingur eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Set vinstra lítlafingur á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Drag vinstra lítlafingur eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Set høgra tummil á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Drag høgra tummil eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Set høgra peikifingur á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Drag høgra peikifingur eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Set høgra longutong á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Drag høgra longutong eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Set høgra ringfingur á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Drag høgra ringfingur eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Set høgra lítlafingur á %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Drag høgra lítlafingur eftir %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Set fingurin á lesaran umaftur"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Drag fingurin enn eina ferð"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Dragið var ov stutt, royn aftur"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Flyt fingurin, og royn aftur at draga hann"
|
||||
179
po/fr.po
179
po/fr.po
@ -1,179 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-03-22 15:29+0000\n"
|
||||
"Last-Translator: claudep <claude@2xlibre.net>\n"
|
||||
"Language-Team: French <traduc@traduc.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Le périphérique n'a pas été réservé avant utilisation"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Le périphérique est déjà utilisé par un autre utilisateur"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Placez votre pouce gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Glissez votre pouce gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Placez votre index gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Glissez votre index gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Placez votre majeur gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Glissez votre majeur gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Placez votre annulaire gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Glissez votre annulaire gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Placez votre auriculaire gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Glissez votre auriculaire gauche sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Placez votre pouce droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Glissez votre pouce droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Placez votre index droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Glissez votre index droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Placez votre majeur droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Glissez votre majeur droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Placez votre annulaire droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Glissez votre annulaire droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Placez votre auriculaire droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Glissez votre auriculaire droit sur %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Placez à nouveau votre doigt sur le lecteur"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Glissez à nouveau votre doigt"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Le glissement était trop bref, essayez une nouvelle fois"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr ""
|
||||
"Enlevez votre doigt du lecteur et essayez de le glisser une nouvelle fois"
|
||||
172
po/ga.po
172
po/ga.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Irish <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ga\n"
|
||||
"Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
174
po/gl.po
174
po/gl.po
@ -1,174 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: gl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "O dispositivo non foi solicitado antes do seu uso"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "O dispositivo está sendo usado por outro usuario"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Dispoña o dedo polgar esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Deslice o seu dedo polgar esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Dispoña o seu dedo índice esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Deslice o seu dedo índice esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Dispoña o seu dedo mediano esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Deslice o seu dedo mediano esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Dispoña o seu dedo anular esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Dispoña o seu dedo anular esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Dispoña o seu dedo maimiño esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Deslice o seu dedo maimiño esquerdo en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Dispoña o seu dedo polgar dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Deslice o seu dedo polgar dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Dispoña o seu dedo índice dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Deslice o seu dedo índice dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Dispoña o seu dedo mediano dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Deslice o seu dedo mediano dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Dispoña o seu dedo anular dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Deslice o seu dedo anular dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Dispoña o seu dedo maimiño dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Deslice o seu dedo maimiño dereito en %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Dispoña de novo o seu dedo no lector"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Deslice de novo o seu dedo"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "A lectura foi moi curta, ténteo de novo"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Retire o seu dedo e tente deslizar o seu dedo de novo"
|
||||
172
po/hi.po
172
po/hi.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hindi <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
173
po/hu.po
173
po/hu.po
@ -1,173 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hungarian <openscope@googlegroups.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "Enroll new fingerprints"
|
||||
msgstr "Új újjlenyomatok 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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Az eszközt használat előtt nem foglalták le"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Az eszközt már másik felhasználó használja"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Helyezze a bal hüvelykujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Húzza le a bal hüvelykujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Helyezze a bal mutatóujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Húzza le a bal mutatóujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Helyezze a bal középső ujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Húzza le a bal középső ujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Helyezze a bal gyűrűsujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Húzza le a bal gyűrűsujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Helyezze a bal kisujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Húzza le a bal kisujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Helyezze a jobb hüvelykujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Húzza le a jobb hüvelykujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Helyezze a jobb mutatóujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Húzza le a jobb mutatóujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Helyezze a jobb középső ujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Húzza le a jobb középső ujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Helyezze a jobb gyűrűsujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Húzza le a jobb gyűrűsujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Helyezze a jobb kisujját ide: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Húzza le a jobb kisujját ezen: %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Helyezze ismét az olvasóra az ujját"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Húzza le ismét az ujját"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "A lehúzás túl gyors volt, próbálja újra"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Vegye el az ujját és próbálja újra lehúzni"
|
||||
173
po/id.po
173
po/id.po
@ -1,173 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Indonesian <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: id\n"
|
||||
"Plural-Forms: nplurals=1; plural=0\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Perangkat tak diklaim sebelum dipakai"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Perangkat telah sedang dipakai oleh pengguna lain"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Letakkan jempol kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Gesekkan jempol kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Letakkan telunjuk kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Gesekkan telunjuk kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Letakkan jari tengah kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Gesekkan jari tengah kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Letakkan jari manis kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Gesekkan jari manis kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Letakkan kelingking kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Gesekkan kelingking kiri Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Letakkan jempol kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Gesekkan jempol kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Letakkan telunjuk kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Gesekkan telunjuk kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Letakkan jari tengah kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Gesekkan jari tengah kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Letakkan jari manis kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Gesekkan jari manis kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Letakkan kelingking kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Gesekkan kelingking kanan Anda pada %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Letakkan jari Anda pada pembaca lagi"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Gesekkan lagi jari Anda"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Gesekan terlalu pendek, coba lagi"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Angkat jari Anda, lalu coba gesekkan lagi"
|
||||
173
po/it.po
173
po/it.po
@ -1,173 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Italian <>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Il device non è stato richiesto prima dell'uso"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Un altro utente sta già usando il device"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Posizionare il pollice sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Passare il pollice sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Posizionare l'indice sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Passare l'indice sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Posizionare il medio sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Passare il medio sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Posizionare l'anulare sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Passare l'anulare sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Posizionare il mignolo sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Passare il mignolo sinistro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Posizionare il pollice destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Passare il pollice destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Posizionare l'indice destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Passare l'indice destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Posizionare il medio destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Passare il medio destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Posizionare l'anulare destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Passare l'anulare destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Posizionare il mignolo destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Passare il mignolo destro su %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Posizionare nuovamente il dito sul lettore"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Passare nuovamente il dito"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Il passaggio è stato troppo corto, riprovare"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Rimuovere il dito e ripetere un altro passaggio"
|
||||
172
po/kk.po
172
po/kk.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Kazakh <None>\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"
|
||||
|
||||
#: ../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 ""
|
||||
172
po/ko.po
172
po/ko.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Korean <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ko\n"
|
||||
"Plural-Forms: nplurals=1; plural=0\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
172
po/pa.po
172
po/pa.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Panjabi (Punjabi) <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pa\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
175
po/pl.po
175
po/pl.po
@ -1,175 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Polish <None>\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"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
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
|
||||
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"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Urządzenie nie zostało zajęte przed użyciem"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Urządzenie jest już używane przez innego użytkownika"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Proszę umieścić lewy kciuk na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Proszę przeciągnąć lewy kciuk na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Proszę umieścić lewy palec wskazujący na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Proszę przeciągnąć lewy palec środkowy na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Proszę umieścić lewy palec środkowy na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Proszę przeciągnąć lewy palec środkowy na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Proszę umieścić lewy palec serdeczny na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Proszę przeciągnąć lewy palec serdeczny na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Proszę umieścić lewy mały palec na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Proszę przeciągnąć lewy mały palec na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Proszę umieścić prawy kciuk na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Proszę przeciągnąć prawy kciuk na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Proszę umieścić prawy palec wskazujący na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Proszę przeciągnąć prawy palec wskazujący na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Proszę umieścić prawy palec środkowy na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Proszę przeciągnąć prawy palec środkowy na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Proszę umieścić prawy palec serdeczny na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Proszę przeciągnąć prawy palec serdeczny na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Proszę umieścić prawy mały palec na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Proszę przeciągnąć prawy mały palec na urządzeniu %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Proszę ponownie umieścić palec na urządzeniu"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Proszę ponownie przeciągnąć palec"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Przeciągnięcie było zbyt krótkie, proszę spróbować ponownie"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr ""
|
||||
"Proszę odsunąć palec i spróbować ponownie przeciągnąć palec na urządzeniu"
|
||||
174
po/ro.po
174
po/ro.po
@ -1,174 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ro\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1))\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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
|
||||
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ă"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Dispozitivul nu a fost solicitat înainte de utilizare"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Dispozitivul este deja utilizat de un alt utilizator"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Plasați degetul mare de la mâna stângă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Treceți degetul mare de la mâna stângă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Plasați degetul arătător de la mâna stângă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Treceți degetul arătător de la mâna stângă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Plasați degetul mijlociu de la mâna stângă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Treceți degetul mijlociu de la mâna stângă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Plasați degetul inelar de la mâna stângă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Treceți degetul inelar de la mâna stângă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Plasați degetul mic de la mâna stângă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Treceți degetul mic de la mâna stângă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Plasați degetul mare de la mâna dreaptă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Treceți degetul mare de la mâna dreaptă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Plasați degetul arătător de la mâna dreaptă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Treceți degetul arătător de la mâna dreaptă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Plasați degetul mijlociu de la mâna dreaptă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Treceți degetul mijlociu de la mâna dreaptă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Plasați degetul inelar de la mâna dreaptă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Treceți degetul inelar de la mâna dreaptă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Plasați degetul mic de la mâna dreaptă pe %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Treceți degetul mic de la mâna dreaptă peste %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Plasați din nou degetul pe cititor"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Treceți degetul din nou"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Trecerea degetului a fost prea scurtă, mai încercați o dată"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Luați degetul și mai încercați să-l treceți o dată"
|
||||
172
po/ru.po
172
po/ru.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Russian <None>\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"
|
||||
|
||||
#: ../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 ""
|
||||
174
po/sk.po
174
po/sk.po
@ -1,174 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-03-22 15:29+0000\n"
|
||||
"Last-Translator: palos <palo.simo@gmail.com>\n"
|
||||
"Language-Team: Slovak <None>\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"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
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
|
||||
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 "Zvolte uživatele k registraci"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:6
|
||||
msgid "Verify a fingerprint"
|
||||
msgstr "Overiť odtlačok prsta"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Zariadenie nebolo pred použitím vyžiadané"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Zariadenia je už používané iným používateľom"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Položte palec ľavej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Prejdite palcom ľavej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Položte ukazovák ľavej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Prejdite ukazovákom ľavej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Položte prostredník ľavej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Prejdite prostredníkom ľavej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Položte prstenník ľavej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Prejdite prsteníkom ľavej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Položte malíček ľavej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Prejdite malíčkom ľavej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Položte palec pravej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Prejdite palcom pravej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Položte ukazovák pravej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Prejdite ukazovákom pravej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Položte prostredník pravej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Prejdite prostredníkom pravej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Položte prstenník pravej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Prejdite prstenníkom pravej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Položte malíček pravej ruky na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Prejdite malíčkom pravej ruky po %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Položte prst na čítačku znova"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Prejdite prstom znova"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Prechod bol príliš krátky, skúste to znova"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
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:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Zodvihnite svoj prst a skúste ním prejsť znova"
|
||||
176
po/sl.po
176
po/sl.po
@ -1,176 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Slovenian <lugos-slo@lugos.si>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "Enroll new fingerprints"
|
||||
msgstr "Vpišite nove prstne odtise"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:2
|
||||
msgid "Privileges are required to enroll new fingerprints for other users."
|
||||
msgstr ""
|
||||
"Za vpis novih prstnih odtisov drugih uporabnikov so zahtevana skrbniška "
|
||||
"dovoljenja."
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:3
|
||||
msgid "Privileges are required to enroll new fingerprints."
|
||||
msgstr "Za vpis novih prstnih odtisov so zahtevana skrbniška dovoljenja."
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:4
|
||||
msgid "Privileges are required to verify fingerprints."
|
||||
msgstr "Za overjanje prstnih odtisov so zahtevana skrbniška dovoljenja."
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:5
|
||||
msgid "Select a user to enroll"
|
||||
msgstr "Izbor uporabnika za vpis prstnega odtisa"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:6
|
||||
msgid "Verify a fingerprint"
|
||||
msgstr "Overjanje s prstnim odtisom"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Naprava je prevzeta pred uporabo"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Napravo uporablja drug uporabnik"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Položite levi palec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Povlecite levi palec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Položite levi kazalec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Povlecite levi kazalec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Položite levi sredinec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Povlecite levi sredinec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Položite levi prstanec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Povlecite levi prstanec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Položite levi mezinec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Povlecite levi mezinec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Položite desni palec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Povlecite desni palec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Položite desni kazalec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Povlecite desni kazalec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Položite desni sredinec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Povlecite desni sredinec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Položite desni prstanec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Povlecite desni prstanec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Položite desni mezinec na %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Povlecite desni mezinec preko %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Ponovno položite prst na bralnik"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Znova povlecite prst preko bralnika."
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Prst ste povlekli prehitro. Poskusite znova."
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
msgid "Your finger was not centered, try swiping your finger again"
|
||||
msgstr ""
|
||||
"Prsta niste postavili na sredino, poskusite znova povleči prst preko "
|
||||
"bralnika."
|
||||
|
||||
#: ../pam/fingerprint-strings.h:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Dvignite prst in poskusite znova povleči prst preko bralnika."
|
||||
172
po/sr.po
172
po/sr.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Serbian <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sr\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 "Поставите палац леве руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Превуците палац леве руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Поставите кажипрст леве руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Превуците кажипрст леве руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Поставите средњи прст леве руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Превуците средњи прст леве руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Поставите домали прст леве руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Превуците домали прст леве руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Поставите мали прст леве руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Превуците мали прст леве руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Поставите палац десне руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Превуците палац десне руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Поставите кажипрст десне руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Превуците кажипрст десне руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Поставите средњи прст десне руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Превуците средњи прст десне руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Поставите домали прст десне руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Превуците домали прст десне руке преко %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Поставите мали прст десне руке на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Превуците мали прст десне руке преко %s"
|
||||
|
||||
#: ../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 "Склоните прст и покушајте да га превучете поново"
|
||||
172
po/sr@latin.po
172
po/sr@latin.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Serbian (Latin) <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sr@latin\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
173
po/sv.po
173
po/sv.po
@ -1,173 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Swedish <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "Enroll new fingerprints"
|
||||
msgstr "Registrera nya fingeravtryck"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:2
|
||||
msgid "Privileges are required to enroll new fingerprints for other users."
|
||||
msgstr ""
|
||||
"Privilegier krävs för att registera nya fingeravtryck för andra användare."
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:3
|
||||
msgid "Privileges are required to enroll new fingerprints."
|
||||
msgstr "Privilegier krävs för att registrera nya fingeravtryck."
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:4
|
||||
msgid "Privileges are required to verify fingerprints."
|
||||
msgstr "Privilegier krävs för att verifiera fingeravtryck."
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:5
|
||||
msgid "Select a user to enroll"
|
||||
msgstr "Välj användare att registrera"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:6
|
||||
msgid "Verify a fingerprint"
|
||||
msgstr "Verifiera fingeravtryck"
|
||||
|
||||
#: ../src/device.c:385
|
||||
#, c-format
|
||||
msgid "Device was not claimed before use"
|
||||
msgstr "Enheten har inte tagits över innan användning"
|
||||
|
||||
#: ../src/device.c:395
|
||||
#, c-format
|
||||
msgid "Device already in use by another user"
|
||||
msgstr "Enheten används redan av en annan användare"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Place your left thumb on %s"
|
||||
msgstr "Placera din vänstra tumme på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Dra din vänstra tumme på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Placera ditt vänstra pekfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Dra ditt vänstra pekfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Placera ditt vänstra långfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Dra ditt vänstra långfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Placera ditt vänsta ringfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Dra ditt vänstra ringfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Placera ditt vänstra lillfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Dra ditt vänstra lillfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Placera din högra tumme på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Dra din högra tumme på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Placera ditt högra pekfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Dra ditt högra pekfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Placera ditt högra långfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Dra ditt högra långfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Placera ditt högra ringfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Dra ditt högra ringfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Placera ditt högra lillfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Dra ditt högra lillfinger på %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:72 ../pam/fingerprint-strings.h:98
|
||||
msgid "Place your finger on the reader again"
|
||||
msgstr "Placera ditt finger på läsaren igen"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:74 ../pam/fingerprint-strings.h:100
|
||||
msgid "Swipe your finger again"
|
||||
msgstr "Dra ditt finger igen"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:77 ../pam/fingerprint-strings.h:103
|
||||
msgid "Swipe was too short, try again"
|
||||
msgstr "Dragningen var för kort, försök igen"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:79 ../pam/fingerprint-strings.h:105
|
||||
msgid "Your finger was not centered, try swiping your finger again"
|
||||
msgstr "Ditt finger var inte centrerat. Prova att dra ditt finger igen"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:81 ../pam/fingerprint-strings.h:107
|
||||
msgid "Remove your finger, and try swiping your finger again"
|
||||
msgstr "Ta bort ditt finger och prova att dra ditt finger igen"
|
||||
172
po/tr.po
172
po/tr.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Turkish <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: tr\n"
|
||||
"Plural-Forms: nplurals=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 ""
|
||||
175
po/uk.po
175
po/uk.po
@ -1,175 +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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: uk\n"
|
||||
"Plural-Forms: nplurals=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 "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 "Прикладіть лівий великий палець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:28
|
||||
#, c-format
|
||||
msgid "Swipe your left thumb on %s"
|
||||
msgstr "Натисніть лівим великим пальцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Place your left index finger on %s"
|
||||
msgstr "Прикладіть лівий вказівний палець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:29
|
||||
#, c-format
|
||||
msgid "Swipe your left index finger on %s"
|
||||
msgstr "Натисніть лівим вказівним пальцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Place your left middle finger on %s"
|
||||
msgstr "Прикладіть лівий середній палець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:30
|
||||
#, c-format
|
||||
msgid "Swipe your left middle finger on %s"
|
||||
msgstr "Натисніть лівим середнім пальцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Place your left ring finger on %s"
|
||||
msgstr "Прикладіть лівий безіменний палець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:31
|
||||
#, c-format
|
||||
msgid "Swipe your left ring finger on %s"
|
||||
msgstr "Натисніть лівим безіменним пальцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Place your left little finger on %s"
|
||||
msgstr "Прикладіть лівий мізинець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:32
|
||||
#, c-format
|
||||
msgid "Swipe your left little finger on %s"
|
||||
msgstr "Натисніть лівим мізинцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Place your right thumb on %s"
|
||||
msgstr "Прикладіть правий великий палець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:33
|
||||
#, c-format
|
||||
msgid "Swipe your right thumb on %s"
|
||||
msgstr "Натисніть правим великим пальцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Place your right index finger on %s"
|
||||
msgstr "Прикладіть правий вказівний палець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:34
|
||||
#, c-format
|
||||
msgid "Swipe your right index finger on %s"
|
||||
msgstr "Натисніть правим вказівним пальцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Place your right middle finger on %s"
|
||||
msgstr "Прикладіть правий середній палець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:35
|
||||
#, c-format
|
||||
msgid "Swipe your right middle finger on %s"
|
||||
msgstr "Натисніть правим середнім пальцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Place your right ring finger on %s"
|
||||
msgstr "Прикладіть правий безіменний палець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:36
|
||||
#, c-format
|
||||
msgid "Swipe your right ring finger on %s"
|
||||
msgstr "Натисніть правим безіменним пальцем на %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Place your right little finger on %s"
|
||||
msgstr "Прикладіть правий мізинець до %s"
|
||||
|
||||
#: ../pam/fingerprint-strings.h:37
|
||||
#, c-format
|
||||
msgid "Swipe your right little finger on %s"
|
||||
msgstr "Натисніть правим мізинцем на %s"
|
||||
|
||||
#: ../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 "Приберіть ваш палець і повторіть спробу натискання"
|
||||
172
po/wa.po
172
po/wa.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:56+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Walloon <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: wa\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
172
po/zh_CN.po
172
po/zh_CN.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-04-18 16:57+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
172
po/zh_TW.po
172
po/zh_TW.po
@ -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.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
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-03-30 16:29+0100\n"
|
||||
"PO-Revision-Date: 2011-03-22 15:29+0000\n"
|
||||
"Last-Translator: zerng07 <pswo10680@gmail.com>\n"
|
||||
"Language-Team: Chinese (Taiwan) <None>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_TW\n"
|
||||
"Plural-Forms: nplurals=1; plural=0\n"
|
||||
|
||||
#: ../data/net.reactivated.fprint.device.policy.in.h:1
|
||||
msgid "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 ""
|
||||
@ -1,44 +0,0 @@
|
||||
BUILT_SOURCES = manager-dbus-glue.h device-dbus-glue.h $(MARSHALFILES) $(interfaces_DATA)
|
||||
noinst_HEADERS = $(BUILT_SOURCES)
|
||||
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
EXTRA_DIST = manager.xml device.xml fprintd-marshal.list
|
||||
|
||||
libexec_PROGRAMS = fprintd
|
||||
noinst_LTLIBRARIES = libfprintd.la
|
||||
|
||||
AM_CFLAGS = $(WARN_CFLAGS) $(FPRINT_CFLAGS) $(DAEMON_CFLAGS) -DLOCALEDIR=\""$(datadir)/locale"\" -DPLUGINDIR=\""$(libdir)/fprintd/modules"\"
|
||||
|
||||
libfprintd_la_SOURCES = \
|
||||
manager.c device.c \
|
||||
$(MARSHALFILES) \
|
||||
fprintd.h
|
||||
libfprintd_la_LIBADD = $(FPRINT_LIBS) $(DAEMON_LIBS)
|
||||
libfprintd_la_LDFLAGS = -no-undefined
|
||||
|
||||
fprintd_SOURCES = \
|
||||
main.c \
|
||||
file_storage.c file_storage.h storage.h
|
||||
fprintd_LDADD = libfprintd.la
|
||||
|
||||
interfaces_DATA = net.reactivated.Fprint.Manager.xml net.reactivated.Fprint.Device.xml
|
||||
net.reactivated.Fprint.Manager.xml: manager.xml
|
||||
cat $< > $@
|
||||
net.reactivated.Fprint.Device.xml: device.xml
|
||||
cat $< > $@
|
||||
interfacesdir = $(datadir)/dbus-1/interfaces/
|
||||
|
||||
manager-dbus-glue.h: manager.xml
|
||||
dbus-binding-tool --prefix=fprint_manager --mode=glib-server $< --output=$@
|
||||
|
||||
device-dbus-glue.h: device.xml
|
||||
dbus-binding-tool --prefix=fprint_device --mode=glib-server $< --output=$@
|
||||
|
||||
MARSHALFILES = fprintd-marshal.c fprintd-marshal.h
|
||||
GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
|
||||
|
||||
fprintd-marshal.h: fprintd-marshal.list
|
||||
( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(srcdir)/fprintd-marshal.list --header > fprintd-marshal.h )
|
||||
fprintd-marshal.c: fprintd-marshal.h
|
||||
( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(srcdir)/fprintd-marshal.list --body --header > fprintd-marshal.c )
|
||||
|
||||
1205
src/device.c
1205
src/device.c
File diff suppressed because it is too large
Load Diff
566
src/device.xml
566
src/device.xml
@ -1,566 +0,0 @@
|
||||
<!DOCTYPE node PUBLIC
|
||||
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" [
|
||||
<!ENTITY ERROR_CLAIM_DEVICE "net.reactivated.Fprint.Error.ClaimDevice">
|
||||
<!ENTITY ERROR_ALREADY_IN_USE "net.reactivated.Fprint.Error.AlreadyInUse">
|
||||
<!ENTITY ERROR_INTERNAL "net.reactivated.Fprint.Error.Internal">
|
||||
<!ENTITY ERROR_PERMISSION_DENIED "net.reactivated.Fprint.Error.PermissionDenied">
|
||||
<!ENTITY ERROR_NO_ENROLLED_PRINTS "net.reactivated.Fprint.Error.NoEnrolledPrints">
|
||||
<!ENTITY ERROR_NO_ACTION_IN_PROGRESS "net.reactivated.Fprint.Error.NoActionInProgress">
|
||||
<!ENTITY ERROR_INVALID_FINGERNAME "net.reactivated.Fprint.Error.InvalidFingername">
|
||||
]>
|
||||
|
||||
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
||||
<interface name="net.reactivated.Fprint.Device">
|
||||
<annotation name="org.freedesktop.DBus.GLib.CSymbol"
|
||||
value="fprint_device" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:title id="polkit-integration">
|
||||
PolicyKit integration
|
||||
</doc:title>
|
||||
<doc:para>
|
||||
fprintd uses PolicyKit to check whether users are allowed to access fingerprint data, or the
|
||||
fingerprint readers itself.
|
||||
<doc:list>
|
||||
<doc:item>
|
||||
<doc:term>net.reactivated.fprint.device.verify</doc:term>
|
||||
<doc:definition>
|
||||
Whether the user is allowed to verify fingers against saved fingerprints.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>net.reactivated.fprint.device.enroll</doc:term>
|
||||
<doc:definition>
|
||||
Whether the user is allowed to enroll new fingerprints.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>net.reactivated.fprint.device.setusername</doc:term>
|
||||
<doc:definition>
|
||||
Whether the user is allowed to query, verify, or enroll fingerprints for users other than itself.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
</doc:list>
|
||||
</doc:para>
|
||||
|
||||
<doc:title id="usernames">
|
||||
Usernames
|
||||
</doc:title>
|
||||
<doc:para>
|
||||
When a username argument is used for a method, a PolicyKit check is done on the
|
||||
<doc:tt>net.reactivated.fprint.device.setusername</doc:tt> PolicyKit
|
||||
action to see whether the user the client is running as is allowed to access data from other users.
|
||||
</doc:para>
|
||||
<doc:para>
|
||||
By default, only root is allowed to access fingerprint data for users other than itself. For a normal user,
|
||||
it is recommended that you use an empty string for the username, which will mean "the client the user is
|
||||
running as".
|
||||
</doc:para>
|
||||
<doc:para>
|
||||
See <doc:ref type="description" to="polkit-integration">PolicyKit integration</doc:ref>.
|
||||
</doc:para>
|
||||
|
||||
<doc:title id="fingerprint-names">
|
||||
Fingerprint names
|
||||
</doc:title>
|
||||
<doc:para>
|
||||
When a finger name argument is used for a method, it refers to either a single finger, or
|
||||
"any" finger. See the list of possible values below:
|
||||
<doc:list>
|
||||
<doc:item>
|
||||
<doc:term>left-thumb</doc:term>
|
||||
<doc:definition>
|
||||
Left thumb
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>left-index-finger</doc:term>
|
||||
<doc:definition>
|
||||
Left index finger
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>left-middle-finger</doc:term>
|
||||
<doc:definition>
|
||||
Left middle finger
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>left-ring-finger</doc:term>
|
||||
<doc:definition>
|
||||
Left ring finger
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>left-little-finger</doc:term>
|
||||
<doc:definition>
|
||||
Left little finger
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>right-thumb</doc:term>
|
||||
<doc:definition>
|
||||
Right thumb
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>right-index-finger</doc:term>
|
||||
<doc:definition>
|
||||
Right index finger
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>right-middle-finger</doc:term>
|
||||
<doc:definition>
|
||||
Right middle finger
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>right-ring-finger</doc:term>
|
||||
<doc:definition>
|
||||
Right ring finger
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>right-little-finger</doc:term>
|
||||
<doc:definition>
|
||||
Right little finger
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>any</doc:term>
|
||||
<doc:definition>
|
||||
Any finger. This is only used for <doc:ref type="method" to="Device.VerifyStart">Device.VerifyStart</doc:ref>
|
||||
(select the first finger with a fingerprint associated, or all the fingerprints available for the user when
|
||||
the device supports it) and <doc:ref type="signal" to="Device::VerifyFingerSelected">Device::VerifyFingerSelected</doc:ref>
|
||||
(any finger with an associated fingerprint can be used).
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
</doc:list>
|
||||
</doc:para>
|
||||
|
||||
<doc:title id="verify-statuses">
|
||||
Verify Statuses
|
||||
</doc:title>
|
||||
<doc:para>
|
||||
<doc:list>
|
||||
Possible values for the result passed through <doc:ref type="signal" to="Device::VerifyResult">Device::VerifyResult</doc:ref> are:
|
||||
<doc:item>
|
||||
<doc:term>verify-no-match</doc:term>
|
||||
<doc:definition>
|
||||
The verification did not match, <doc:ref type="method" to="Device.VerifyStop">Device.VerifyStop</doc:ref> should now be called.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>verify-match</doc:term>
|
||||
<doc:definition>
|
||||
The verification succeeded, <doc:ref type="method" to="Device.VerifyStop">Device.VerifyStop</doc:ref> should now be called.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>verify-retry-scan</doc:term>
|
||||
<doc:definition>
|
||||
The user should retry scanning their finger, the verification is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>verify-swipe-too-short</doc:term>
|
||||
<doc:definition>
|
||||
The user's swipe was too short. The user should retry scanning their finger, the verification is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>verify-finger-not-centered</doc:term>
|
||||
<doc:definition>
|
||||
The user's finger was not centered on the reader. The user should retry scanning their finger, the verification is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>verify-remove-and-retry</doc:term>
|
||||
<doc:definition>
|
||||
The user should remove their finger from the reader and retry scanning their finger, the verification is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>verify-disconnected</doc:term>
|
||||
<doc:definition>
|
||||
The device was disconnected during the verification, no other actions should be taken, and you shouldn't use the device any more.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>verify-unknown-error</doc:term>
|
||||
<doc:definition>
|
||||
An unknown error occurred (usually a driver problem), <doc:ref type="method" to="Device.VerifyStop">Device.VerifyStop</doc:ref> should now be called.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
</doc:list>
|
||||
</doc:para>
|
||||
|
||||
<doc:title id="enroll-statuses">
|
||||
Enroll Statuses
|
||||
</doc:title>
|
||||
<doc:para>
|
||||
<doc:list>
|
||||
Possible values for the result passed through <doc:ref type="signal" to="Device::EnrollResult">Device::EnrollResult</doc:ref> are:
|
||||
<doc:item>
|
||||
<doc:term>enroll-completed</doc:term>
|
||||
<doc:definition>
|
||||
The enrollment successfully completed, <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref> should now be called.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>enroll-failed</doc:term>
|
||||
<doc:definition>
|
||||
The enrollment failed, <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref> should now be called.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>enroll-stage-passed</doc:term>
|
||||
<doc:definition>
|
||||
One stage of the enrollment passed, the enrollment is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>enroll-retry-scan</doc:term>
|
||||
<doc:definition>
|
||||
The user should retry scanning their finger, the enrollment is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>enroll-swipe-too-short</doc:term>
|
||||
<doc:definition>
|
||||
The user's swipe was too short. The user should retry scanning their finger, the enrollment is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>enroll-finger-not-centered</doc:term>
|
||||
<doc:definition>
|
||||
The user's finger was not centered on the reader. The user should retry scanning their finger, the enrollment is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>enroll-remove-and-retry</doc:term>
|
||||
<doc:definition>
|
||||
The user should remove their finger from the reader and retry scanning their finger, the enrollment is still ongoing.
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>enroll-disconnected</doc:term>
|
||||
<doc:definition>
|
||||
The device was disconnected during the enrollment, no other actions should be taken, and you shouldn't use the device any more.
|
||||
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>enroll-unknown-error</doc:term>
|
||||
<doc:definition>
|
||||
An unknown error occurred (usually a driver problem), <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref> should now be called.
|
||||
|
||||
</doc:definition>
|
||||
</doc:item>
|
||||
</doc:list>
|
||||
</doc:para>
|
||||
</doc:doc>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="ListEnrolledFingers">
|
||||
<arg type="s" name="username" direction="in">
|
||||
<doc:doc><doc:summary>The username for whom to list the enrolled fingerprints. See <doc:ref type="description" to="usernames">Usernames</doc:ref>.</doc:summary></doc:doc>
|
||||
</arg>
|
||||
<arg type="as" name="enrolled_fingers" direction="out">
|
||||
<doc:doc><doc:summary>An array of strings representing the enrolled fingerprints. See <doc:ref type="description" to="fingerprint-names">Fingerprint names</doc:ref>.</doc:summary></doc:doc>
|
||||
</arg>
|
||||
<annotation name="org.freedesktop.DBus.GLib.Async" value="" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
List all the enrolled fingerprints for the chosen user.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
||||
<doc:error name="&ERROR_NO_ENROLLED_PRINTS;">if the chosen user doesn't have any fingerprints enrolled</doc:error>
|
||||
</doc:errors>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="DeleteEnrolledFingers">
|
||||
<arg type="s" name="username" direction="in">
|
||||
<doc:doc><doc:summary>The username for whom to delete the enrolled fingerprints. See <doc:ref type="description" to="usernames">Usernames</doc:ref>.</doc:summary></doc:doc>
|
||||
</arg>
|
||||
<annotation name="org.freedesktop.DBus.GLib.Async" value="" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Delete all the enrolled fingerprints for the chosen user.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
||||
</doc:errors>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="Claim">
|
||||
<arg type="s" name="username" direction="in">
|
||||
<doc:doc><doc:summary>The username for whom to claim the device. See <doc:ref type="description" to="usernames">Usernames</doc:ref>.</doc:summary></doc:doc>
|
||||
</arg>
|
||||
<annotation name="org.freedesktop.DBus.GLib.Async" value="" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Claim the device for the chosen user.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
||||
<doc:error name="&ERROR_ALREADY_IN_USE;">if the device is already claimed</doc:error>
|
||||
<doc:error name="&ERROR_INTERNAL;">if the device couldn't be claimed</doc:error>
|
||||
</doc:errors>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="Release">
|
||||
<annotation name="org.freedesktop.DBus.GLib.Async" value="" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Release a device claimed with <doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref>.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
||||
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
||||
</doc:errors>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="VerifyStart">
|
||||
<arg type="s" name="finger_name" direction="in">
|
||||
<doc:doc><doc:summary>A string representing the finger to verify. See <doc:ref type="description" to="fingerprint-names">Fingerprint names</doc:ref>.</doc:summary></doc:doc>
|
||||
</arg>
|
||||
<annotation name="org.freedesktop.DBus.GLib.Async" value="" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Check the chosen finger against a saved fingerprint. You need to have claimed the device using
|
||||
<doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref>. The finger selected is sent to the front-end
|
||||
using <doc:ref type="signal" to="Device::VerifyFingerSelected">Device::VerifyFingerSelected</doc:ref> and
|
||||
verification status through <doc:ref type="signal" to="Device::VerifyStatus">Device::VerifyStatus</doc:ref>.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
||||
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
||||
<doc:error name="&ERROR_ALREADY_IN_USE;">if the device was already being used</doc:error>
|
||||
<doc:error name="&ERROR_NO_ENROLLED_PRINTS;">if there are no enrolled prints for the chosen user</doc:error>
|
||||
<doc:error name="&ERROR_INTERNAL;">if there was an internal error</doc:error>
|
||||
</doc:errors>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="VerifyStop">
|
||||
<annotation name="org.freedesktop.DBus.GLib.Async" value="" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Stop an on-going fingerprint verification started with <doc:ref type="method" to="Device.VerifyStart">Device.VerifyStart</doc:ref>.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
||||
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
||||
<doc:error name="&ERROR_NO_ACTION_IN_PROGRESS;">if there was no ongoing verification</doc:error>
|
||||
<doc:error name="&ERROR_INTERNAL;">if there was an internal error</doc:error>
|
||||
</doc:errors>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<signal name="VerifyFingerSelected">
|
||||
<arg type="s" name="finger_name">
|
||||
<doc:doc>
|
||||
<doc:summary>
|
||||
<doc:para>
|
||||
A string representing the finger select to be verified.
|
||||
</doc:para>
|
||||
</doc:summary>
|
||||
</doc:doc>
|
||||
</arg>
|
||||
<doc:doc>
|
||||
<doc:seealso>
|
||||
<doc:ref type="description" to="fingerprint-names">Fingerprint names</doc:ref>.
|
||||
</doc:seealso>
|
||||
</doc:doc>
|
||||
</signal>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<signal name="VerifyStatus">
|
||||
<arg type="s" name="result">
|
||||
<doc:doc>
|
||||
<doc:summary>
|
||||
A string representing the status of the verification.
|
||||
</doc:summary>
|
||||
</doc:doc>
|
||||
</arg>
|
||||
|
||||
<arg type="b" name="done">
|
||||
<doc:doc>
|
||||
<doc:summary>
|
||||
Whether the verification finished and can be stopped.
|
||||
</doc:summary>
|
||||
</doc:doc>
|
||||
</arg>
|
||||
|
||||
<doc:doc>
|
||||
<doc:seealso>
|
||||
<doc:ref type="description" to="verify-statuses">Verify Statuses</doc:ref> and <doc:ref type="method" to="Device.VerifyStop">Device.VerifyStop</doc:ref>.
|
||||
</doc:seealso>
|
||||
</doc:doc>
|
||||
</signal>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="EnrollStart">
|
||||
<arg type="s" name="finger_name" direction="in">
|
||||
<doc:doc><doc:summary>A string representing the finger to enroll. See
|
||||
<doc:ref type="description" to="fingerprint-names">Fingerprint names</doc:ref>.
|
||||
Note that "any" is not a valid finger name for this method.</doc:summary></doc:doc>
|
||||
</arg>
|
||||
<annotation name="org.freedesktop.DBus.GLib.Async" value="" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Start enrollemnt for the selected finger. You need to have claimed the device using
|
||||
<doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref> before calling
|
||||
this method. Enrollment status is sent through <doc:ref type="signal" to="Device::EnrollStatus">Device::EnrollStatus</doc:ref>.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
||||
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
||||
<doc:error name="&ERROR_ALREADY_IN_USE;">if the device was already being used</doc:error>
|
||||
<doc:error name="&ERROR_INVALID_FINGERNAME;">if there are no enrolled prints for the chosen user</doc:error>
|
||||
<doc:error name="&ERROR_INTERNAL;">if there was an internal error</doc:error>
|
||||
</doc:errors>
|
||||
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="EnrollStop">
|
||||
<annotation name="org.freedesktop.DBus.GLib.Async" value="" />
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Stop an on-going fingerprint enrollment started with <doc:ref type="method" to="Device.EnrollStart">Device.EnrollStart</doc:ref>.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_PERMISSION_DENIED;">if the caller lacks the appropriate PolicyKit authorization</doc:error>
|
||||
<doc:error name="&ERROR_CLAIM_DEVICE;">if the device was not claimed</doc:error>
|
||||
<doc:error name="&ERROR_NO_ACTION_IN_PROGRESS;">if there was no ongoing verification</doc:error>
|
||||
<doc:error name="&ERROR_INTERNAL;">if there was an internal error</doc:error>
|
||||
</doc:errors>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<signal name="EnrollStatus">
|
||||
<arg type="s" name="result">
|
||||
<doc:doc>
|
||||
<doc:summary>
|
||||
A string representing the status of the enrollment.
|
||||
</doc:summary>
|
||||
</doc:doc>
|
||||
</arg>
|
||||
|
||||
<arg type="b" name="done">
|
||||
<doc:doc>
|
||||
<doc:summary>
|
||||
Whether the enrollment finished and can be stopped.
|
||||
</doc:summary>
|
||||
</doc:doc>
|
||||
</arg>
|
||||
|
||||
<doc:doc>
|
||||
<doc:seealso>
|
||||
<doc:ref type="description" to="enroll-statuses">Enrollment Statuses</doc:ref> and <doc:ref type="method" to="Device.EnrollStop">Device.EnrollStop</doc:ref>.
|
||||
</doc:seealso>
|
||||
</doc:doc>
|
||||
</signal>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<property name="name" type="s" access="read">
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
The product name of the device.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
</doc:doc>
|
||||
</property>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<property name="num-enroll-stages" type="i" access="read">
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
The number of enrollment stages for the device. This is only available when the device has been claimed, otherwise it will be undefined (-1).
|
||||
</doc:para>
|
||||
<doc:seealso>
|
||||
<doc:ref type="method" to="Device.Claim">Device.Claim</doc:ref> and <doc:ref type="method" to="Device.EnrollStart">Device.EnrollStart</doc:ref>.
|
||||
</doc:seealso>
|
||||
</doc:description>
|
||||
</doc:doc>
|
||||
</property>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<property name="scan-type" type="s" access="read">
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
The scan type of the device, either "press" if you place your finger on the device, or "swipe" if you have to swipe your finger.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
</doc:doc>
|
||||
</property>
|
||||
|
||||
</interface>
|
||||
</node>
|
||||
|
||||
@ -1,294 +0,0 @@
|
||||
/*
|
||||
* Simple file storage for fprintd
|
||||
* Copyright (C) 2007 Daniel Drake <dsd@gentoo.org>
|
||||
* Copyright (C) 2008 Vasily Khoruzhick <anarsoul@gmail.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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/* FIXME:
|
||||
* This file almost duplicate data.c from libfprint
|
||||
* Maybe someday data.c will be upgraded to this one ;)
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <glib.h>
|
||||
#include <glib/gstdio.h>
|
||||
|
||||
#include <libfprint/fprint.h>
|
||||
|
||||
#include "file_storage.h"
|
||||
|
||||
#define DIR_PERMS 0700
|
||||
|
||||
#ifndef FILE_STORAGE_PATH
|
||||
#define FILE_STORAGE_PATH "/var/lib/fprint/"
|
||||
#endif
|
||||
|
||||
#define FP_FINGER_IS_VALID(finger) \
|
||||
((finger) >= LEFT_THUMB && (finger) <= RIGHT_LITTLE)
|
||||
|
||||
static char *get_path_to_storedir(uint16_t driver_id, uint32_t devtype, char *base_store)
|
||||
{
|
||||
char idstr[5];
|
||||
char devtypestr[9];
|
||||
|
||||
g_snprintf(idstr, sizeof(idstr), "%04x", driver_id);
|
||||
g_snprintf(devtypestr, sizeof(devtypestr), "%08x", devtype);
|
||||
|
||||
return g_build_filename(base_store, idstr, devtypestr, NULL);
|
||||
}
|
||||
|
||||
static char *__get_path_to_print(uint16_t driver_id, uint32_t devtype,
|
||||
enum fp_finger finger, char *base_store)
|
||||
{
|
||||
char *dirpath;
|
||||
char *path;
|
||||
char fingername[2];
|
||||
|
||||
g_snprintf(fingername, 2, "%x", finger);
|
||||
|
||||
dirpath = get_path_to_storedir(driver_id, devtype, base_store);
|
||||
path = g_build_filename(dirpath, fingername, NULL);
|
||||
g_free(dirpath);
|
||||
return path;
|
||||
}
|
||||
|
||||
static char *get_path_to_print(struct fp_dev *dev, enum fp_finger finger, char *base_store)
|
||||
{
|
||||
return __get_path_to_print(fp_driver_get_driver_id(fp_dev_get_driver(dev)),
|
||||
fp_dev_get_devtype(dev), finger, base_store);
|
||||
}
|
||||
|
||||
static char *get_path_to_print_dscv(struct fp_dscv_dev *dev, enum fp_finger finger, char *base_store)
|
||||
{
|
||||
return __get_path_to_print(fp_driver_get_driver_id(fp_dscv_dev_get_driver(dev)),
|
||||
fp_dscv_dev_get_devtype(dev), finger, base_store);
|
||||
}
|
||||
|
||||
static int file_storage_get_basestore_for_username(const char *username, char **base_store)
|
||||
{
|
||||
char *dirpath = FILE_STORAGE_PATH;
|
||||
|
||||
*base_store = g_build_filename(dirpath, username, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* if username == NULL function will use current username */
|
||||
int file_storage_print_data_save(struct fp_print_data *data,
|
||||
enum fp_finger finger, const char *username)
|
||||
{
|
||||
GError *err = NULL;
|
||||
char *path, *dirpath, *buf;
|
||||
size_t len;
|
||||
int r;
|
||||
char *base_store = NULL;
|
||||
|
||||
r = file_storage_get_basestore_for_username(username, &base_store);
|
||||
|
||||
if (r < 0) {
|
||||
return r;
|
||||
}
|
||||
|
||||
len = fp_print_data_get_data(data, (guchar **) &buf);
|
||||
if (!len) {
|
||||
g_free(base_store);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
path = __get_path_to_print(fp_print_data_get_driver_id(data), fp_print_data_get_devtype(data), finger, base_store);
|
||||
dirpath = g_path_get_dirname(path);
|
||||
r = g_mkdir_with_parents(dirpath, DIR_PERMS);
|
||||
if (r < 0) {
|
||||
g_free(base_store);
|
||||
g_free(path);
|
||||
g_free(dirpath);
|
||||
return r;
|
||||
}
|
||||
|
||||
//fp_dbg("saving to %s", path);
|
||||
g_file_set_contents(path, buf, len, &err);
|
||||
free(buf);
|
||||
g_free(dirpath);
|
||||
g_free(path);
|
||||
if (err) {
|
||||
r = err->code;
|
||||
//fp_err("save failed: %s", err->message);
|
||||
g_error_free(err);
|
||||
/* FIXME interpret error codes */
|
||||
return r;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int load_from_file(char *path, struct fp_print_data **data)
|
||||
{
|
||||
gsize length;
|
||||
char *contents;
|
||||
GError *err = NULL;
|
||||
struct fp_print_data *fdata;
|
||||
|
||||
//fp_dbg("from %s", path);
|
||||
g_file_get_contents(path, &contents, &length, &err);
|
||||
if (err) {
|
||||
int r = err->code;
|
||||
g_error_free(err);
|
||||
/* FIXME interpret more error codes */
|
||||
if (r == G_FILE_ERROR_NOENT)
|
||||
return -ENOENT;
|
||||
else
|
||||
return r;
|
||||
}
|
||||
|
||||
fdata = fp_print_data_from_data((guchar *) contents, length);
|
||||
g_free(contents);
|
||||
if (!fdata)
|
||||
return -EIO;
|
||||
*data = fdata;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int file_storage_print_data_load(struct fp_dev *dev,
|
||||
enum fp_finger finger, struct fp_print_data **data, const char *username)
|
||||
{
|
||||
gchar *path;
|
||||
struct fp_print_data *fdata = NULL;
|
||||
int r;
|
||||
char *base_store = NULL;
|
||||
|
||||
r = file_storage_get_basestore_for_username(username, &base_store);
|
||||
|
||||
if (r < 0) {
|
||||
return r;
|
||||
}
|
||||
|
||||
path = get_path_to_print(dev, finger, base_store);
|
||||
r = load_from_file(path, &fdata);
|
||||
g_free(path);
|
||||
g_free(base_store);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
if (!fp_dev_supports_print_data(dev, fdata)) {
|
||||
fp_print_data_free(fdata);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
*data = fdata;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int file_storage_print_data_delete(struct fp_dscv_dev *dev,
|
||||
enum fp_finger finger, const char *username)
|
||||
{
|
||||
int r;
|
||||
char *base_store;
|
||||
|
||||
r = file_storage_get_basestore_for_username(username, &base_store);
|
||||
|
||||
if (r < 0) {
|
||||
return r;
|
||||
}
|
||||
|
||||
gchar *path = get_path_to_print_dscv(dev, finger, base_store);
|
||||
|
||||
r = g_unlink(path);
|
||||
g_free(path);
|
||||
g_free(base_store);
|
||||
|
||||
/* FIXME: cleanup empty directory */
|
||||
return r;
|
||||
}
|
||||
|
||||
static GSList *scan_dev_storedir(char *devpath, uint16_t driver_id,
|
||||
uint32_t devtype, GSList *list)
|
||||
{
|
||||
GError *err = NULL;
|
||||
const gchar *ent;
|
||||
|
||||
GDir *dir = g_dir_open(devpath, 0, &err);
|
||||
if (!dir) {
|
||||
//fp_err("opendir %s failed: %s", devpath, err->message);
|
||||
g_error_free(err);
|
||||
return list;
|
||||
}
|
||||
|
||||
while ((ent = g_dir_read_name(dir))) {
|
||||
/* ent is an 1 hex character fp_finger code */
|
||||
guint64 val;
|
||||
gchar *endptr;
|
||||
|
||||
if (*ent == 0 || strlen(ent) != 1)
|
||||
continue;
|
||||
|
||||
val = g_ascii_strtoull(ent, &endptr, 16);
|
||||
if (endptr == ent || !FP_FINGER_IS_VALID(val)) {
|
||||
//fp_dbg("skipping print file %s", ent);
|
||||
continue;
|
||||
}
|
||||
|
||||
list = g_slist_prepend(list, GINT_TO_POINTER(val));
|
||||
}
|
||||
|
||||
g_dir_close(dir);
|
||||
return list;
|
||||
}
|
||||
|
||||
GSList *file_storage_discover_prints(struct fp_dscv_dev *dev, const char *username)
|
||||
{
|
||||
GSList *list = NULL;
|
||||
char *base_store = NULL;
|
||||
char *storedir = NULL;
|
||||
int r;
|
||||
|
||||
|
||||
r = file_storage_get_basestore_for_username(username, &base_store);
|
||||
|
||||
if (r < 0) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
storedir = get_path_to_storedir(fp_driver_get_driver_id(fp_dscv_dev_get_driver(dev)),
|
||||
fp_dscv_dev_get_devtype(dev), base_store);
|
||||
|
||||
list = scan_dev_storedir(storedir, fp_driver_get_driver_id(fp_dscv_dev_get_driver(dev)),
|
||||
fp_dscv_dev_get_devtype(dev), list);
|
||||
|
||||
g_free(base_store);
|
||||
g_free(storedir);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
int file_storage_init(void)
|
||||
{
|
||||
/* Nothing to do */
|
||||
return 0;
|
||||
}
|
||||
|
||||
int file_storage_deinit(void)
|
||||
{
|
||||
/* Nothing to do */
|
||||
return 0;
|
||||
}
|
||||
@ -1,41 +0,0 @@
|
||||
/*
|
||||
* Simple file storage for fprintd
|
||||
* Copyright (C) 2008 Vasily Khoruzhick <anarsoul@gmail.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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef FILE_STORAGE_H
|
||||
|
||||
#define FILE_STORAGE_H
|
||||
|
||||
int file_storage_print_data_save(struct fp_print_data *data,
|
||||
enum fp_finger finger, const char *username);
|
||||
|
||||
|
||||
int file_storage_print_data_load(struct fp_dev *dev,
|
||||
enum fp_finger finger, struct fp_print_data **data, const char *username);
|
||||
|
||||
int file_storage_print_data_delete(struct fp_dscv_dev *dev,
|
||||
enum fp_finger finger, const char *username);
|
||||
|
||||
int file_storage_init(void);
|
||||
|
||||
int file_storage_deinit(void);
|
||||
|
||||
GSList *file_storage_discover_prints(struct fp_dscv_dev *dev, const char *username);
|
||||
|
||||
#endif
|
||||
@ -1 +0,0 @@
|
||||
VOID:STRING,BOOLEAN
|
||||
103
src/fprintd.h
103
src/fprintd.h
@ -1,103 +0,0 @@
|
||||
/*
|
||||
* fprintd header file
|
||||
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#ifndef __FPRINTD_H__
|
||||
#define __FPRINTD_H__
|
||||
|
||||
#include <glib.h>
|
||||
#include <dbus/dbus-glib.h>
|
||||
|
||||
/* General */
|
||||
#define TIMEOUT 30
|
||||
#define FPRINT_SERVICE_NAME "net.reactivated.Fprint"
|
||||
extern DBusGConnection *fprintd_dbus_conn;
|
||||
|
||||
/* Errors */
|
||||
GQuark fprint_error_quark(void);
|
||||
GType fprint_error_get_type(void);
|
||||
|
||||
#define FPRINT_ERROR fprint_error_quark()
|
||||
#define FPRINT_TYPE_ERROR fprint_error_get_type()
|
||||
#define FPRINT_ERROR_DBUS_INTERFACE "net.reactivated.Fprint.Error"
|
||||
typedef enum {
|
||||
FPRINT_ERROR_CLAIM_DEVICE, /* developer didn't claim the device */
|
||||
FPRINT_ERROR_ALREADY_IN_USE, /* device is already claimed by somebody else */
|
||||
FPRINT_ERROR_INTERNAL, /* internal error occured */
|
||||
FPRINT_ERROR_PERMISSION_DENIED, /* PolicyKit refused the action */
|
||||
FPRINT_ERROR_NO_ENROLLED_PRINTS, /* No prints are enrolled */
|
||||
FPRINT_ERROR_NO_ACTION_IN_PROGRESS, /* No actions currently in progress */
|
||||
FPRINT_ERROR_INVALID_FINGERNAME, /* the finger name passed was invalid */
|
||||
FPRINT_ERROR_NO_SUCH_DEVICE, /* device does not exist */
|
||||
} FprintError;
|
||||
|
||||
/* Manager */
|
||||
#define FPRINT_TYPE_MANAGER (fprint_manager_get_type())
|
||||
#define FPRINT_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST((object), FPRINT_TYPE_MANAGER, FprintManager))
|
||||
#define FPRINT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), FPRINT_TYPE_MANAGER, FprintManagerClass))
|
||||
#define FPRINT_IS_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), FPRINT_TYPE_MANAGER))
|
||||
#define FPRINT_IS_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), FPRINT_TYPE_MANAGER))
|
||||
#define FPRINT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), FPRINT_TYPE_MANAGER, FprintManagerClass))
|
||||
|
||||
struct FprintManager {
|
||||
GObject parent;
|
||||
};
|
||||
|
||||
struct FprintManagerClass {
|
||||
GObjectClass parent;
|
||||
};
|
||||
|
||||
typedef struct FprintManager FprintManager;
|
||||
typedef struct FprintManagerClass FprintManagerClass;
|
||||
|
||||
FprintManager *fprint_manager_new(gboolean no_timeout);
|
||||
GType fprint_manager_get_type(void);
|
||||
|
||||
/* Device */
|
||||
#define FPRINT_TYPE_DEVICE (fprint_device_get_type())
|
||||
#define FPRINT_DEVICE(object) (G_TYPE_CHECK_INSTANCE_CAST((object), FPRINT_DEVICE_TYPE, FprintDevice))
|
||||
#define FPRINT_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), FPRINT_DEVICE_TYPE, FprintDeviceClass))
|
||||
#define FPRINT_IS_DEVICE(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), FPRINT_TYPE_DEVICE))
|
||||
#define FPRINT_IS_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), FPRINT_TYPE_DEVICE))
|
||||
#define FPRINT_DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), FPRINT_TYPE_DEVICE, FprintDeviceClass))
|
||||
|
||||
struct FprintDevice {
|
||||
GObject parent;
|
||||
};
|
||||
|
||||
struct FprintDeviceClass {
|
||||
GObjectClass parent;
|
||||
};
|
||||
|
||||
typedef struct FprintDevice FprintDevice;
|
||||
typedef struct FprintDeviceClass FprintDeviceClass;
|
||||
|
||||
FprintDevice *fprint_device_new(struct fp_dscv_dev *ddev);
|
||||
GType fprint_device_get_type(void);
|
||||
guint32 _fprint_device_get_id(FprintDevice *rdev);
|
||||
/* Print */
|
||||
/* TODO */
|
||||
|
||||
/* Binding data included in main.c thorugh server-bindings.h which individual
|
||||
* class implementations need to access.
|
||||
*/
|
||||
extern const DBusGObjectInfo dbus_glib_fprint_manager_object_info;
|
||||
extern const DBusGObjectInfo dbus_glib_fprint_device_object_info;
|
||||
|
||||
#endif
|
||||
|
||||
378
src/main.c
378
src/main.c
@ -1,378 +0,0 @@
|
||||
/*
|
||||
* fprint D-Bus daemon
|
||||
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <poll.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <dbus/dbus-glib-bindings.h>
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <libfprint/fprint.h>
|
||||
#include <glib-object.h>
|
||||
#include <gmodule.h>
|
||||
|
||||
#include "fprintd.h"
|
||||
#include "storage.h"
|
||||
#include "file_storage.h"
|
||||
|
||||
extern DBusGConnection *fprintd_dbus_conn;
|
||||
static gboolean no_timeout = FALSE;
|
||||
static gboolean g_fatal_warnings = FALSE;
|
||||
|
||||
struct fdsource {
|
||||
GSource source;
|
||||
GSList *pollfds;
|
||||
};
|
||||
|
||||
static gboolean source_prepare(GSource *source, gint *timeout)
|
||||
{
|
||||
int r;
|
||||
struct timeval tv;
|
||||
|
||||
r = fp_get_next_timeout(&tv);
|
||||
if (r == 0) {
|
||||
*timeout = -1;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!timerisset(&tv))
|
||||
return TRUE;
|
||||
|
||||
*timeout = (tv.tv_sec * 1000) + (tv.tv_usec / 1000);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean source_check(GSource *source)
|
||||
{
|
||||
struct fdsource *_fdsource = (struct fdsource *) source;
|
||||
GSList *elem = _fdsource->pollfds;
|
||||
struct timeval tv;
|
||||
int r;
|
||||
|
||||
if (!elem)
|
||||
return FALSE;
|
||||
|
||||
do {
|
||||
GPollFD *pollfd = elem->data;
|
||||
if (pollfd->revents)
|
||||
return TRUE;
|
||||
} while ((elem = g_slist_next(elem)));
|
||||
|
||||
r = fp_get_next_timeout(&tv);
|
||||
if (r == 1 && !timerisset(&tv))
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static gboolean source_dispatch(GSource *source, GSourceFunc callback,
|
||||
gpointer data)
|
||||
{
|
||||
struct timeval zerotimeout = {
|
||||
.tv_sec = 0,
|
||||
.tv_usec = 0,
|
||||
};
|
||||
|
||||
/* FIXME error handling */
|
||||
fp_handle_events_timeout(&zerotimeout);
|
||||
|
||||
/* FIXME whats the return value used for? */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void source_finalize(GSource *source)
|
||||
{
|
||||
struct fdsource *_fdsource = (struct fdsource *) source;
|
||||
GSList *elem = _fdsource->pollfds;
|
||||
|
||||
if (elem)
|
||||
do {
|
||||
GPollFD *pollfd = elem->data;
|
||||
g_source_remove_poll((GSource *) _fdsource, pollfd);
|
||||
g_slice_free(GPollFD, pollfd);
|
||||
_fdsource->pollfds = g_slist_delete_link(_fdsource->pollfds, elem);
|
||||
} while ((elem = g_slist_next(elem)));
|
||||
|
||||
g_slist_free(_fdsource->pollfds);
|
||||
}
|
||||
|
||||
static GSourceFuncs sourcefuncs = {
|
||||
.prepare = source_prepare,
|
||||
.check = source_check,
|
||||
.dispatch = source_dispatch,
|
||||
.finalize = source_finalize,
|
||||
};
|
||||
|
||||
static struct fdsource *fdsource = NULL;
|
||||
|
||||
static void pollfd_add(int fd, short events)
|
||||
{
|
||||
GPollFD *pollfd = g_slice_new(GPollFD);
|
||||
pollfd->fd = fd;
|
||||
pollfd->events = 0;
|
||||
pollfd->revents = 0;
|
||||
if (events & POLLIN)
|
||||
pollfd->events |= G_IO_IN;
|
||||
if (events & POLLOUT)
|
||||
pollfd->events |= G_IO_OUT;
|
||||
|
||||
fdsource->pollfds = g_slist_prepend(fdsource->pollfds, pollfd);
|
||||
g_source_add_poll((GSource *) fdsource, pollfd);
|
||||
}
|
||||
|
||||
static void pollfd_added_cb(int fd, short events)
|
||||
{
|
||||
g_message("now monitoring fd %d", fd);
|
||||
pollfd_add(fd, events);
|
||||
}
|
||||
|
||||
static void pollfd_removed_cb(int fd)
|
||||
{
|
||||
GSList *elem = fdsource->pollfds;
|
||||
g_message("no longer monitoring fd %d", fd);
|
||||
|
||||
if (!elem) {
|
||||
g_warning("cannot remove from list as list is empty?");
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
GPollFD *pollfd = elem->data;
|
||||
if (pollfd->fd != fd)
|
||||
continue;
|
||||
|
||||
g_source_remove_poll((GSource *) fdsource, pollfd);
|
||||
g_slice_free(GPollFD, pollfd);
|
||||
fdsource->pollfds = g_slist_delete_link(fdsource->pollfds, elem);
|
||||
return;
|
||||
} while ((elem = g_slist_next(elem)));
|
||||
|
||||
g_error("couldn't find fd %d in list\n", fd);
|
||||
}
|
||||
|
||||
static int setup_pollfds(void)
|
||||
{
|
||||
size_t numfds;
|
||||
size_t i;
|
||||
struct fp_pollfd *fpfds;
|
||||
GSource *gsource = g_source_new(&sourcefuncs, sizeof(struct fdsource));
|
||||
|
||||
fdsource = (struct fdsource *) gsource;
|
||||
fdsource->pollfds = NULL;
|
||||
|
||||
numfds = fp_get_pollfds(&fpfds);
|
||||
if (numfds < 0) {
|
||||
if (fpfds)
|
||||
free(fpfds);
|
||||
return (int) numfds;
|
||||
} else if (numfds > 0) {
|
||||
for (i = 0; i < numfds; i++) {
|
||||
struct fp_pollfd *fpfd = &fpfds[i];
|
||||
pollfd_add(fpfd->fd, fpfd->events);
|
||||
}
|
||||
}
|
||||
|
||||
free(fpfds);
|
||||
fp_set_pollfd_notifiers(pollfd_added_cb, pollfd_removed_cb);
|
||||
g_source_attach(gsource, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
set_storage_file (void)
|
||||
{
|
||||
store.init = &file_storage_init;
|
||||
store.deinit = &file_storage_deinit;
|
||||
store.print_data_save = &file_storage_print_data_save;
|
||||
store.print_data_load = &file_storage_print_data_load;
|
||||
store.print_data_delete = &file_storage_print_data_delete;
|
||||
store.discover_prints = &file_storage_discover_prints;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
load_storage_module (const char *module_name)
|
||||
{
|
||||
GModule *module;
|
||||
char *filename;
|
||||
|
||||
filename = g_module_build_path (PLUGINDIR, module_name);
|
||||
module = g_module_open (filename, 0);
|
||||
g_free (filename);
|
||||
if (module == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (!g_module_symbol (module, "init", (gpointer *) &store.init) ||
|
||||
!g_module_symbol (module, "deinit", (gpointer *) &store.deinit) ||
|
||||
!g_module_symbol (module, "print_data_save", (gpointer *) &store.print_data_save) ||
|
||||
!g_module_symbol (module, "print_data_load", (gpointer *) &store.print_data_load) ||
|
||||
!g_module_symbol (module, "print_data_delete", (gpointer *) &store.print_data_delete) ||
|
||||
!g_module_symbol (module, "discover_prints", (gpointer *) &store.discover_prints)) {
|
||||
g_module_close (module);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
g_module_make_resident (module);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
load_conf (void)
|
||||
{
|
||||
GKeyFile *file;
|
||||
char *filename;
|
||||
char *module_name;
|
||||
GError *error = NULL;
|
||||
gboolean ret;
|
||||
|
||||
filename = g_build_filename (SYSCONFDIR, "fprintd.conf", NULL);
|
||||
file = g_key_file_new ();
|
||||
if (!g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, &error)) {
|
||||
g_print ("Could not open fprintd.conf: %s\n", error->message);
|
||||
goto bail;
|
||||
}
|
||||
|
||||
g_free (filename);
|
||||
filename = NULL;
|
||||
|
||||
module_name = g_key_file_get_string (file, "storage", "type", &error);
|
||||
if (module_name == NULL)
|
||||
goto bail;
|
||||
|
||||
g_key_file_free (file);
|
||||
|
||||
if (g_str_equal (module_name, "file")) {
|
||||
g_free (module_name);
|
||||
set_storage_file ();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
ret = load_storage_module (module_name);
|
||||
g_free (module_name);
|
||||
|
||||
return ret;
|
||||
|
||||
bail:
|
||||
g_key_file_free (file);
|
||||
g_free (filename);
|
||||
g_error_free (error);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static const GOptionEntry entries[] = {
|
||||
{"g-fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &g_fatal_warnings, "Make all warnings fatal", NULL},
|
||||
{"no-timeout", 't', 0, G_OPTION_ARG_NONE, &no_timeout, "Do not exit after unused for a while", NULL},
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
GOptionContext *context;
|
||||
GMainLoop *loop;
|
||||
GError *error = NULL;
|
||||
FprintManager *manager;
|
||||
DBusGProxy *driver_proxy;
|
||||
guint32 request_name_ret;
|
||||
int r = 0;
|
||||
|
||||
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
||||
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
||||
textdomain (GETTEXT_PACKAGE);
|
||||
|
||||
context = g_option_context_new ("Fingerprint handler daemon");
|
||||
g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
|
||||
g_type_init();
|
||||
|
||||
if (g_option_context_parse (context, &argc, &argv, &error) == FALSE) {
|
||||
g_print ("couldn't parse command-line options: %s\n", error->message);
|
||||
g_error_free (error);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (g_fatal_warnings) {
|
||||
GLogLevelFlags fatal_mask;
|
||||
|
||||
fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK);
|
||||
fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL;
|
||||
g_log_set_always_fatal (fatal_mask);
|
||||
}
|
||||
|
||||
/* Load the configuration file,
|
||||
* and the default storage plugin */
|
||||
if (!load_conf())
|
||||
set_storage_file ();
|
||||
store.init ();
|
||||
|
||||
r = fp_init();
|
||||
if (r < 0) {
|
||||
g_warning("fprint init failed with error %d\n", r);
|
||||
return r;
|
||||
}
|
||||
|
||||
loop = g_main_loop_new(NULL, FALSE);
|
||||
|
||||
r = setup_pollfds();
|
||||
if (r < 0) {
|
||||
g_print("pollfd setup failed\n");
|
||||
goto err;
|
||||
}
|
||||
|
||||
g_print("Launching FprintObject\n");
|
||||
|
||||
/* Obtain a connection to the session bus */
|
||||
fprintd_dbus_conn = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
|
||||
if (fprintd_dbus_conn == NULL) {
|
||||
g_warning("Failed to open connection to bus: %s", error->message);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* create the one instance of the Manager object to be shared between
|
||||
* all fprintd users */
|
||||
manager = fprint_manager_new(no_timeout);
|
||||
|
||||
driver_proxy = dbus_g_proxy_new_for_name(fprintd_dbus_conn,
|
||||
DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS);
|
||||
|
||||
if (!org_freedesktop_DBus_request_name(driver_proxy, FPRINT_SERVICE_NAME,
|
||||
0, &request_name_ret, &error)) {
|
||||
g_warning("Failed to get name: %s", error->message);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (request_name_ret != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) {
|
||||
g_warning ("Got result code %u from requesting name", request_name_ret);
|
||||
return 1;
|
||||
}
|
||||
|
||||
g_message("D-Bus service launched with name: %s", FPRINT_SERVICE_NAME);
|
||||
|
||||
g_message("entering main loop");
|
||||
g_main_loop_run(loop);
|
||||
g_message("main loop completed");
|
||||
|
||||
g_object_unref (manager);
|
||||
|
||||
err:
|
||||
fp_exit();
|
||||
return 0;
|
||||
}
|
||||
|
||||
225
src/manager.c
225
src/manager.c
@ -1,225 +0,0 @@
|
||||
/*
|
||||
* /net/reactivated/Fprint/Manager object implementation
|
||||
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <dbus/dbus-glib-bindings.h>
|
||||
#include <glib.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <libfprint/fprint.h>
|
||||
#include <glib-object.h>
|
||||
|
||||
#include "fprintd.h"
|
||||
|
||||
DBusGConnection *fprintd_dbus_conn;
|
||||
|
||||
static gboolean fprint_manager_get_devices(FprintManager *manager,
|
||||
GPtrArray **devices, GError **error);
|
||||
static gboolean fprint_manager_get_default_device(FprintManager *manager,
|
||||
const char **device, GError **error);
|
||||
#include "manager-dbus-glue.h"
|
||||
|
||||
static GObjectClass *parent_class = NULL;
|
||||
|
||||
G_DEFINE_TYPE(FprintManager, fprint_manager, G_TYPE_OBJECT);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
GSList *dev_registry;
|
||||
gboolean no_timeout;
|
||||
guint timeout_id;
|
||||
} FprintManagerPrivate;
|
||||
|
||||
#define FPRINT_MANAGER_GET_PRIVATE(o) \
|
||||
(G_TYPE_INSTANCE_GET_PRIVATE ((o), FPRINT_TYPE_MANAGER, FprintManagerPrivate))
|
||||
|
||||
static void fprint_manager_finalize(GObject *object)
|
||||
{
|
||||
FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (object);
|
||||
|
||||
g_slist_free(priv->dev_registry);
|
||||
|
||||
G_OBJECT_CLASS(parent_class)->finalize(object);
|
||||
}
|
||||
|
||||
static void fprint_manager_class_init(FprintManagerClass *klass)
|
||||
{
|
||||
dbus_g_object_type_install_info(FPRINT_TYPE_MANAGER,
|
||||
&dbus_glib_fprint_manager_object_info);
|
||||
dbus_g_error_domain_register (FPRINT_ERROR, FPRINT_ERROR_DBUS_INTERFACE, FPRINT_TYPE_ERROR);
|
||||
|
||||
g_type_class_add_private ((GObjectClass *) klass, sizeof (FprintManagerPrivate));
|
||||
|
||||
G_OBJECT_CLASS(klass)->finalize = fprint_manager_finalize;
|
||||
parent_class = g_type_class_peek_parent(klass);
|
||||
}
|
||||
|
||||
static gchar *get_device_path(FprintDevice *rdev)
|
||||
{
|
||||
return g_strdup_printf("/net/reactivated/Fprint/Device/%d",
|
||||
_fprint_device_get_id(rdev));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
fprint_manager_timeout_cb (FprintManager *manager)
|
||||
{
|
||||
g_message ("No devices in use, exit");
|
||||
//FIXME kill all the devices
|
||||
exit(0);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
fprint_manager_in_use_notified (FprintDevice *rdev, GParamSpec *spec, FprintManager *manager)
|
||||
{
|
||||
FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager);
|
||||
guint num_devices_used = 0;
|
||||
GSList *l;
|
||||
gboolean in_use;
|
||||
|
||||
if (priv->timeout_id > 0) {
|
||||
g_source_remove (priv->timeout_id);
|
||||
priv->timeout_id = 0;
|
||||
}
|
||||
if (priv->no_timeout)
|
||||
return;
|
||||
|
||||
for (l = priv->dev_registry; l != NULL; l = l->next) {
|
||||
FprintDevice *dev = l->data;
|
||||
|
||||
g_object_get (G_OBJECT(dev), "in-use", &in_use, NULL);
|
||||
if (in_use != FALSE)
|
||||
num_devices_used++;
|
||||
}
|
||||
|
||||
if (num_devices_used == 0)
|
||||
priv->timeout_id = g_timeout_add_seconds (TIMEOUT, (GSourceFunc) fprint_manager_timeout_cb, manager);
|
||||
}
|
||||
|
||||
static void
|
||||
fprint_manager_init (FprintManager *manager)
|
||||
{
|
||||
FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager);
|
||||
struct fp_dscv_dev **discovered_devs = fp_discover_devs();
|
||||
struct fp_dscv_dev *ddev;
|
||||
int i = 0;
|
||||
|
||||
dbus_g_connection_register_g_object(fprintd_dbus_conn,
|
||||
"/net/reactivated/Fprint/Manager", G_OBJECT(manager));
|
||||
|
||||
if (discovered_devs == NULL)
|
||||
return;
|
||||
|
||||
while ((ddev = discovered_devs[i++]) != NULL) {
|
||||
FprintDevice *rdev = fprint_device_new(ddev);
|
||||
gchar *path;
|
||||
|
||||
g_signal_connect (G_OBJECT(rdev), "notify::in-use",
|
||||
G_CALLBACK (fprint_manager_in_use_notified), manager);
|
||||
|
||||
priv->dev_registry = g_slist_prepend(priv->dev_registry, rdev);
|
||||
path = get_device_path(rdev);
|
||||
dbus_g_connection_register_g_object(fprintd_dbus_conn, path,
|
||||
G_OBJECT(rdev));
|
||||
g_free(path);
|
||||
}
|
||||
}
|
||||
|
||||
FprintManager *fprint_manager_new(gboolean no_timeout)
|
||||
{
|
||||
FprintManagerPrivate *priv;
|
||||
GObject *object;
|
||||
|
||||
object = g_object_new(FPRINT_TYPE_MANAGER, NULL);
|
||||
priv = FPRINT_MANAGER_GET_PRIVATE (object);
|
||||
priv->no_timeout = no_timeout;
|
||||
|
||||
if (!priv->no_timeout)
|
||||
priv->timeout_id = g_timeout_add_seconds (TIMEOUT, (GSourceFunc) fprint_manager_timeout_cb, object);
|
||||
|
||||
return FPRINT_MANAGER (object);
|
||||
}
|
||||
|
||||
static gboolean fprint_manager_get_devices(FprintManager *manager,
|
||||
GPtrArray **devices, GError **error)
|
||||
{
|
||||
FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager);
|
||||
GSList *elem = priv->dev_registry;
|
||||
int num_open = g_slist_length(elem);
|
||||
GPtrArray *devs = g_ptr_array_sized_new(num_open);
|
||||
|
||||
if (num_open > 0)
|
||||
do {
|
||||
FprintDevice *rdev = elem->data;
|
||||
g_ptr_array_add(devs, get_device_path(rdev));
|
||||
} while ((elem = g_slist_next(elem)) != NULL);
|
||||
|
||||
*devices = devs;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean fprint_manager_get_default_device(FprintManager *manager,
|
||||
const char **device, GError **error)
|
||||
{
|
||||
FprintManagerPrivate *priv = FPRINT_MANAGER_GET_PRIVATE (manager);
|
||||
GSList *elem = priv->dev_registry;
|
||||
int num_open = g_slist_length(elem);
|
||||
|
||||
if (num_open > 0) {
|
||||
*device = get_device_path (elem->data);
|
||||
return TRUE;
|
||||
} else {
|
||||
g_set_error (error, FPRINT_ERROR, FPRINT_ERROR_NO_SUCH_DEVICE,
|
||||
"No devices available");
|
||||
*device = NULL;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
GQuark fprint_error_quark(void)
|
||||
{
|
||||
static GQuark quark = 0;
|
||||
if (!quark)
|
||||
quark = g_quark_from_static_string("fprintd-error-quark");
|
||||
return quark;
|
||||
}
|
||||
|
||||
#define ENUM_ENTRY(NAME, DESC) { NAME, "" #NAME "", DESC }
|
||||
GType
|
||||
fprint_error_get_type (void)
|
||||
{
|
||||
static GType etype = 0;
|
||||
|
||||
if (etype == 0) {
|
||||
static const GEnumValue values[] =
|
||||
{
|
||||
ENUM_ENTRY (FPRINT_ERROR_CLAIM_DEVICE, "ClaimDevice"),
|
||||
ENUM_ENTRY (FPRINT_ERROR_ALREADY_IN_USE, "AlreadyInUse"),
|
||||
ENUM_ENTRY (FPRINT_ERROR_INTERNAL, "Internal"),
|
||||
ENUM_ENTRY (FPRINT_ERROR_PERMISSION_DENIED, "PermissionDenied"),
|
||||
ENUM_ENTRY (FPRINT_ERROR_NO_ENROLLED_PRINTS, "NoEnrolledPrints"),
|
||||
ENUM_ENTRY (FPRINT_ERROR_NO_ACTION_IN_PROGRESS, "NoActionInProgress"),
|
||||
ENUM_ENTRY (FPRINT_ERROR_INVALID_FINGERNAME, "InvalidFingername"),
|
||||
ENUM_ENTRY (FPRINT_ERROR_NO_SUCH_DEVICE, "NoSuchDevice"),
|
||||
{ 0, 0, 0 }
|
||||
};
|
||||
etype = g_enum_register_static ("FprintError", values);
|
||||
}
|
||||
return etype;
|
||||
}
|
||||
@ -1,50 +0,0 @@
|
||||
<!DOCTYPE node PUBLIC
|
||||
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd" [
|
||||
<!ENTITY ERROR_NO_SUCH_DEVICE "net.reactivated.Fprint.Error.NoSuchDevice">
|
||||
]>
|
||||
<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
|
||||
<interface name="net.reactivated.Fprint.Manager">
|
||||
<annotation name="org.freedesktop.DBus.GLib.CSymbol"
|
||||
value="fprint_manager" />
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="GetDevices">
|
||||
<arg type="ao" name="devices" direction="out">
|
||||
<doc:doc><doc:summary>An array of object paths for devices.</doc:summary></doc:doc>
|
||||
</arg>
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Enumerate all the fingerprint readers attached to the system. If there are
|
||||
no devices available, an empty array is returned.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
<!-- ************************************************************ -->
|
||||
|
||||
<method name="GetDefaultDevice">
|
||||
<arg type="o" name="device" direction="out">
|
||||
<doc:doc><doc:summary>The object path for the default device.</doc:summary></doc:doc>
|
||||
</arg>
|
||||
|
||||
<doc:doc>
|
||||
<doc:description>
|
||||
<doc:para>
|
||||
Returns the default fingerprint reader device.
|
||||
</doc:para>
|
||||
</doc:description>
|
||||
|
||||
<doc:errors>
|
||||
<doc:error name="&ERROR_NO_SUCH_DEVICE;">if the device does not exist</doc:error>
|
||||
</doc:errors>
|
||||
</doc:doc>
|
||||
</method>
|
||||
|
||||
</interface>
|
||||
</node>
|
||||
|
||||
@ -1,50 +0,0 @@
|
||||
/*
|
||||
* Simple file storage for fprintd
|
||||
* Copyright (C) 2008 Vasily Khoruzhick <anarsoul@gmail.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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef STORAGE_H
|
||||
|
||||
#define STORAGE_H
|
||||
|
||||
typedef int (*storage_print_data_save)(struct fp_print_data *data,
|
||||
enum fp_finger finger, const char *username);
|
||||
typedef int (*storage_print_data_load)(struct fp_dev *dev,
|
||||
enum fp_finger finger, struct fp_print_data **data, const char *username);
|
||||
typedef int (*storage_print_data_delete)(struct fp_dscv_dev *dev,
|
||||
enum fp_finger finger, const char *username);
|
||||
typedef GSList *(*storage_discover_prints)(struct fp_dscv_dev *dev, const char *username);
|
||||
typedef int (*storage_init)(void);
|
||||
typedef int (*storage_deinit)(void);
|
||||
|
||||
struct storage {
|
||||
storage_init init;
|
||||
storage_deinit deinit;
|
||||
storage_print_data_save print_data_save;
|
||||
storage_print_data_load print_data_load;
|
||||
storage_print_data_delete print_data_delete;
|
||||
storage_discover_prints discover_prints;
|
||||
};
|
||||
|
||||
typedef struct storage fp_storage;
|
||||
|
||||
/* The currently setup store */
|
||||
fp_storage store;
|
||||
|
||||
#endif
|
||||
|
||||
@ -1,35 +0,0 @@
|
||||
BUILT_SOURCES = manager-dbus-glue.h device-dbus-glue.h $(MARSHALFILES)
|
||||
noinst_HEADERS = $(BUILT_SOURCES)
|
||||
CLEANFILES = $(BUILT_SOURCES)
|
||||
|
||||
bin_PROGRAMS = fprintd-verify fprintd-enroll fprintd-list fprintd-delete
|
||||
|
||||
fprintd_verify_SOURCES = verify.c $(MARSHALFILES)
|
||||
fprintd_verify_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS)
|
||||
fprintd_verify_LDADD = $(GLIB_LIBS)
|
||||
|
||||
fprintd_enroll_SOURCES = enroll.c $(MARSHALFILES)
|
||||
fprintd_enroll_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS)
|
||||
fprintd_enroll_LDADD = $(GLIB_LIBS)
|
||||
|
||||
fprintd_list_SOURCES = list.c
|
||||
fprintd_list_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS)
|
||||
fprintd_list_LDADD = $(GLIB_LIBS)
|
||||
|
||||
fprintd_delete_SOURCES = delete.c
|
||||
fprintd_delete_CFLAGS = $(WARN_CFLAGS) $(GLIB_CFLAGS)
|
||||
fprintd_delete_LDADD = $(GLIB_LIBS)
|
||||
|
||||
manager-dbus-glue.h: ../src/manager.xml
|
||||
dbus-binding-tool --prefix=fprint_manager --mode=glib-client $< --output=$@
|
||||
|
||||
device-dbus-glue.h: ../src/device.xml
|
||||
dbus-binding-tool --prefix=fprint_device --mode=glib-client $< --output=$@
|
||||
|
||||
MARSHALFILES = marshal.c marshal.h
|
||||
GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
|
||||
|
||||
marshal.h: $(top_srcdir)/src/fprintd-marshal.list
|
||||
( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(top_srcdir)/src/fprintd-marshal.list --header > marshal.h )
|
||||
marshal.c: marshal.h
|
||||
( $(GLIB_GENMARSHAL) --prefix=fprintd_marshal $(top_srcdir)/src/fprintd-marshal.list --body --header > marshal.c )
|
||||
129
tests/delete.c
129
tests/delete.c
@ -1,129 +0,0 @@
|
||||
/*
|
||||
* fprintd example to delete fingerprints
|
||||
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <dbus/dbus-glib-bindings.h>
|
||||
#include "manager-dbus-glue.h"
|
||||
#include "device-dbus-glue.h"
|
||||
|
||||
static DBusGProxy *manager = NULL;
|
||||
static DBusGConnection *connection = NULL;
|
||||
|
||||
static void create_manager(void)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
connection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
|
||||
if (connection == NULL) {
|
||||
g_print("Failed to connect to session bus: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
manager = dbus_g_proxy_new_for_name(connection,
|
||||
"net.reactivated.Fprint", "/net/reactivated/Fprint/Manager",
|
||||
"net.reactivated.Fprint.Manager");
|
||||
}
|
||||
|
||||
static void delete_fingerprints(DBusGProxy *dev, const char *username)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GHashTable *props;
|
||||
DBusGProxy *p;
|
||||
|
||||
p = dbus_g_proxy_new_from_proxy(dev, "org.freedesktop.DBus.Properties", NULL);
|
||||
if (!dbus_g_proxy_call (p, "GetAll", &error, G_TYPE_STRING, "net.reactivated.Fprint.Device", G_TYPE_INVALID,
|
||||
dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), &props, G_TYPE_INVALID)) {
|
||||
g_print("GetAll on the Properties interface failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (!net_reactivated_Fprint_Device_delete_enrolled_fingers(dev, username, &error)) {
|
||||
if (dbus_g_error_has_name (error, "net.reactivated.Fprint.Error.NoEnrolledPrints") == FALSE) {
|
||||
g_print("ListEnrolledFingers failed: %s\n", error->message);
|
||||
exit (1);
|
||||
} else {
|
||||
g_print ("No fingerprints to delete on %s\n", g_value_get_string (g_hash_table_lookup (props, "name")));
|
||||
}
|
||||
} else {
|
||||
g_print ("Fingerprints deleted on %s\n", g_value_get_string (g_hash_table_lookup (props, "name")));
|
||||
}
|
||||
g_hash_table_destroy (props);
|
||||
g_object_unref (p);
|
||||
}
|
||||
|
||||
static void process_devices(char **argv)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GPtrArray *devices;
|
||||
char *path;
|
||||
guint i;
|
||||
|
||||
if (!net_reactivated_Fprint_Manager_get_devices(manager, &devices, &error)) {
|
||||
g_print("list_devices failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (devices->len == 0) {
|
||||
g_print("No devices found\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
g_print("found %d devices\n", devices->len);
|
||||
for (i = 0; i < devices->len; i++) {
|
||||
path = g_ptr_array_index(devices, i);
|
||||
g_print("Device at %s\n", path);
|
||||
}
|
||||
|
||||
for (i = 0; i < devices->len; i++) {
|
||||
guint j;
|
||||
DBusGProxy *dev;
|
||||
|
||||
path = g_ptr_array_index(devices, 0);
|
||||
g_print("Using device %s\n", path);
|
||||
|
||||
/* FIXME use for_name_owner?? */
|
||||
dev = dbus_g_proxy_new_for_name(connection, "net.reactivated.Fprint",
|
||||
path, "net.reactivated.Fprint.Device");
|
||||
|
||||
for (j = 1; argv[j] != NULL; j++)
|
||||
delete_fingerprints (dev, argv[j]);
|
||||
|
||||
g_object_unref (dev);
|
||||
}
|
||||
|
||||
g_ptr_array_foreach(devices, (GFunc) g_free, NULL);
|
||||
g_ptr_array_free(devices, TRUE);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
g_type_init();
|
||||
create_manager();
|
||||
|
||||
if (argc < 2) {
|
||||
g_print ("Usage: %s <username> [usernames...]\n", argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
process_devices (argv);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
139
tests/enroll.c
139
tests/enroll.c
@ -1,139 +0,0 @@
|
||||
/*
|
||||
* fprintd example to enroll right index finger
|
||||
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <dbus/dbus-glib-bindings.h>
|
||||
#include "manager-dbus-glue.h"
|
||||
#include "device-dbus-glue.h"
|
||||
#include "marshal.h"
|
||||
|
||||
static DBusGProxy *manager = NULL;
|
||||
static DBusGConnection *connection = NULL;
|
||||
|
||||
static void create_manager(void)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
connection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
|
||||
if (connection == NULL) {
|
||||
g_print("Failed to connect to session bus: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
manager = dbus_g_proxy_new_for_name(connection,
|
||||
"net.reactivated.Fprint", "/net/reactivated/Fprint/Manager",
|
||||
"net.reactivated.Fprint.Manager");
|
||||
}
|
||||
|
||||
static DBusGProxy *open_device(const char *username)
|
||||
{
|
||||
GError *error = NULL;
|
||||
gchar *path;
|
||||
DBusGProxy *dev;
|
||||
|
||||
if (!net_reactivated_Fprint_Manager_get_default_device(manager, &path, &error)) {
|
||||
g_print("list_devices failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (path == NULL) {
|
||||
g_print("No devices found\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
g_print("Using device %s\n", path);
|
||||
|
||||
/* FIXME use for_name_owner?? */
|
||||
dev = dbus_g_proxy_new_for_name(connection, "net.reactivated.Fprint",
|
||||
path, "net.reactivated.Fprint.Device");
|
||||
|
||||
g_free (path);
|
||||
|
||||
if (!net_reactivated_Fprint_Device_claim(dev, username, &error)) {
|
||||
g_print("failed to claim device: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
return dev;
|
||||
}
|
||||
|
||||
static void enroll_result(GObject *object, const char *result, gboolean done, void *user_data)
|
||||
{
|
||||
gboolean *enroll_completed = user_data;
|
||||
g_print("Enroll result: %s\n", result);
|
||||
if (done != FALSE)
|
||||
*enroll_completed = TRUE;
|
||||
}
|
||||
|
||||
static void do_enroll(DBusGProxy *dev)
|
||||
{
|
||||
GError *error;
|
||||
gboolean enroll_completed = FALSE;
|
||||
|
||||
dbus_g_proxy_add_signal(dev, "EnrollStatus", G_TYPE_STRING, G_TYPE_BOOLEAN, NULL);
|
||||
dbus_g_proxy_connect_signal(dev, "EnrollStatus", G_CALLBACK(enroll_result),
|
||||
&enroll_completed, NULL);
|
||||
|
||||
g_print("Enrolling right index finger.\n");
|
||||
if (!net_reactivated_Fprint_Device_enroll_start(dev, "right-index-finger", &error)) {
|
||||
g_print("EnrollStart failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
while (!enroll_completed)
|
||||
g_main_context_iteration(NULL, TRUE);
|
||||
|
||||
dbus_g_proxy_disconnect_signal(dev, "EnrollStatus",
|
||||
G_CALLBACK(enroll_result), &enroll_completed);
|
||||
|
||||
if (!net_reactivated_Fprint_Device_enroll_stop(dev, &error)) {
|
||||
g_print("VerifyStop failed: %s\n", error->message);
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
static void release_device(DBusGProxy *dev)
|
||||
{
|
||||
GError *error = NULL;
|
||||
if (!net_reactivated_Fprint_Device_release(dev, &error)) {
|
||||
g_print("ReleaseDevice failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
DBusGProxy *dev;
|
||||
char *username;
|
||||
|
||||
g_type_init();
|
||||
|
||||
dbus_g_object_register_marshaller (fprintd_marshal_VOID__STRING_BOOLEAN,
|
||||
G_TYPE_NONE, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID);
|
||||
|
||||
create_manager();
|
||||
|
||||
username = NULL;
|
||||
if (argc == 2)
|
||||
username = argv[1];
|
||||
dev = open_device(username);
|
||||
do_enroll(dev);
|
||||
release_device(dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
145
tests/list.c
145
tests/list.c
@ -1,145 +0,0 @@
|
||||
/*
|
||||
* fprintd example to list enrolled fingerprints
|
||||
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <dbus/dbus-glib-bindings.h>
|
||||
#include "manager-dbus-glue.h"
|
||||
#include "device-dbus-glue.h"
|
||||
|
||||
static DBusGProxy *manager = NULL;
|
||||
static DBusGConnection *connection = NULL;
|
||||
|
||||
static void create_manager(void)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
connection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
|
||||
if (connection == NULL) {
|
||||
g_print("Failed to connect to session bus: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
manager = dbus_g_proxy_new_for_name(connection,
|
||||
"net.reactivated.Fprint", "/net/reactivated/Fprint/Manager",
|
||||
"net.reactivated.Fprint.Manager");
|
||||
}
|
||||
|
||||
static void list_fingerprints(DBusGProxy *dev, const char *username)
|
||||
{
|
||||
GError *error = NULL;
|
||||
char **fingers;
|
||||
GHashTable *props;
|
||||
DBusGProxy *p;
|
||||
guint i;
|
||||
|
||||
if (!net_reactivated_Fprint_Device_list_enrolled_fingers(dev, username, &fingers, &error)) {
|
||||
if (dbus_g_error_has_name (error, "net.reactivated.Fprint.Error.NoEnrolledPrints") == FALSE) {
|
||||
g_print("ListEnrolledFingers failed: %s\n", error->message);
|
||||
exit (1);
|
||||
} else {
|
||||
fingers = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
p = dbus_g_proxy_new_from_proxy(dev, "org.freedesktop.DBus.Properties", NULL);
|
||||
if (!dbus_g_proxy_call (p, "GetAll", &error, G_TYPE_STRING, "net.reactivated.Fprint.Device", G_TYPE_INVALID,
|
||||
dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), &props, G_TYPE_INVALID)) {
|
||||
g_print("GetAll on the Properties interface failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (fingers == NULL || g_strv_length (fingers) == 0) {
|
||||
g_print("User %s has no fingers enrolled for %s.\n", username, g_value_get_string (g_hash_table_lookup (props, "name")));
|
||||
return;
|
||||
}
|
||||
|
||||
g_print("Fingerprints for user %s on %s (%s):\n",
|
||||
username,
|
||||
g_value_get_string (g_hash_table_lookup (props, "name")),
|
||||
g_value_get_string (g_hash_table_lookup (props, "scan-type")));
|
||||
g_hash_table_destroy (props);
|
||||
g_object_unref (p);
|
||||
|
||||
for (i = 0; fingers[i] != NULL; i++) {
|
||||
g_print(" - #%d: %s\n", i, fingers[i]);
|
||||
}
|
||||
|
||||
g_strfreev (fingers);
|
||||
}
|
||||
|
||||
static void process_devices(char **argv)
|
||||
{
|
||||
GError *error = NULL;
|
||||
GPtrArray *devices;
|
||||
char *path;
|
||||
guint i;
|
||||
|
||||
if (!net_reactivated_Fprint_Manager_get_devices(manager, &devices, &error)) {
|
||||
g_print("list_devices failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (devices->len == 0) {
|
||||
g_print("No devices found\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
g_print("found %d devices\n", devices->len);
|
||||
for (i = 0; i < devices->len; i++) {
|
||||
path = g_ptr_array_index(devices, i);
|
||||
g_print("Device at %s\n", path);
|
||||
}
|
||||
|
||||
for (i = 0; i < devices->len; i++) {
|
||||
guint j;
|
||||
DBusGProxy *dev;
|
||||
|
||||
path = g_ptr_array_index(devices, 0);
|
||||
g_print("Using device %s\n", path);
|
||||
|
||||
/* FIXME use for_name_owner?? */
|
||||
dev = dbus_g_proxy_new_for_name(connection, "net.reactivated.Fprint",
|
||||
path, "net.reactivated.Fprint.Device");
|
||||
|
||||
for (j = 1; argv[j] != NULL; j++)
|
||||
list_fingerprints (dev, argv[j]);
|
||||
|
||||
g_object_unref (dev);
|
||||
}
|
||||
|
||||
g_ptr_array_foreach(devices, (GFunc) g_free, NULL);
|
||||
g_ptr_array_free(devices, TRUE);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
g_type_init();
|
||||
create_manager();
|
||||
|
||||
if (argc < 2) {
|
||||
g_print ("Usage: %s <username> [usernames...]\n", argv[0]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
process_devices (argv);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
209
tests/verify.c
209
tests/verify.c
@ -1,209 +0,0 @@
|
||||
/*
|
||||
* fprintd example to verify a fingerprint
|
||||
* Copyright (C) 2008 Daniel Drake <dsd@gentoo.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <dbus/dbus-glib-bindings.h>
|
||||
#include "manager-dbus-glue.h"
|
||||
#include "device-dbus-glue.h"
|
||||
#include "marshal.h"
|
||||
|
||||
static DBusGProxy *manager = NULL;
|
||||
static DBusGConnection *connection = NULL;
|
||||
static char *finger_name = "any";
|
||||
static gboolean g_fatal_warnings = FALSE;
|
||||
static char **usernames = NULL;
|
||||
|
||||
static void create_manager(void)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
connection = dbus_g_bus_get(DBUS_BUS_SYSTEM, &error);
|
||||
if (connection == NULL) {
|
||||
g_print("Failed to connect to session bus: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
manager = dbus_g_proxy_new_for_name(connection,
|
||||
"net.reactivated.Fprint", "/net/reactivated/Fprint/Manager",
|
||||
"net.reactivated.Fprint.Manager");
|
||||
}
|
||||
|
||||
static DBusGProxy *open_device(const char *username)
|
||||
{
|
||||
GError *error = NULL;
|
||||
gchar *path;
|
||||
DBusGProxy *dev;
|
||||
|
||||
if (!net_reactivated_Fprint_Manager_get_default_device(manager, &path, &error)) {
|
||||
g_print("list_devices failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (path == NULL) {
|
||||
g_print("No devices found\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
g_print("Using device %s\n", path);
|
||||
|
||||
/* FIXME use for_name_owner?? */
|
||||
dev = dbus_g_proxy_new_for_name(connection, "net.reactivated.Fprint",
|
||||
path, "net.reactivated.Fprint.Device");
|
||||
|
||||
g_free (path);
|
||||
|
||||
if (!net_reactivated_Fprint_Device_claim(dev, username, &error)) {
|
||||
g_print("failed to claim device: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
static void find_finger(DBusGProxy *dev, const char *username)
|
||||
{
|
||||
GError *error = NULL;
|
||||
char **fingers;
|
||||
guint i;
|
||||
|
||||
if (!net_reactivated_Fprint_Device_list_enrolled_fingers(dev, username, &fingers, &error)) {
|
||||
g_print("ListEnrolledFingers failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
if (fingers == NULL || g_strv_length (fingers) == 0) {
|
||||
g_print("No fingers enrolled for this device.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
g_print("Listing enrolled fingers:\n");
|
||||
for (i = 0; fingers[i] != NULL; i++) {
|
||||
g_print(" - #%d: %s\n", i, fingers[i]);
|
||||
}
|
||||
|
||||
if (strcmp (finger_name, "any") == 0)
|
||||
finger_name = fingers[0];
|
||||
|
||||
g_strfreev (fingers);
|
||||
}
|
||||
|
||||
static void verify_result(GObject *object, const char *result, gboolean done, void *user_data)
|
||||
{
|
||||
gboolean *verify_completed = user_data;
|
||||
g_print("Verify result: %s (%s)\n", result, done ? "done" : "not done");
|
||||
if (done != FALSE)
|
||||
*verify_completed = TRUE;
|
||||
}
|
||||
|
||||
static void verify_finger_selected(GObject *object, const char *name, void *user_data)
|
||||
{
|
||||
g_print("Verifying: %s\n", name);
|
||||
}
|
||||
|
||||
static void do_verify(DBusGProxy *dev)
|
||||
{
|
||||
GError *error;
|
||||
gboolean verify_completed = FALSE;
|
||||
|
||||
dbus_g_proxy_add_signal(dev, "VerifyStatus", G_TYPE_STRING, G_TYPE_BOOLEAN, NULL);
|
||||
dbus_g_proxy_add_signal(dev, "VerifyFingerSelected", G_TYPE_INT, NULL);
|
||||
dbus_g_proxy_connect_signal(dev, "VerifyStatus", G_CALLBACK(verify_result),
|
||||
&verify_completed, NULL);
|
||||
dbus_g_proxy_connect_signal(dev, "VerifyFingerSelected", G_CALLBACK(verify_finger_selected),
|
||||
NULL, NULL);
|
||||
|
||||
if (!net_reactivated_Fprint_Device_verify_start(dev, finger_name, &error)) {
|
||||
g_print("VerifyStart failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
while (!verify_completed)
|
||||
g_main_context_iteration(NULL, TRUE);
|
||||
|
||||
dbus_g_proxy_disconnect_signal(dev, "VerifyStatus", G_CALLBACK(verify_result), &verify_completed);
|
||||
dbus_g_proxy_disconnect_signal(dev, "VerifyFingerSelected", G_CALLBACK(verify_finger_selected), NULL);
|
||||
|
||||
if (!net_reactivated_Fprint_Device_verify_stop(dev, &error)) {
|
||||
g_print("VerifyStop failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
|
||||
static void release_device(DBusGProxy *dev)
|
||||
{
|
||||
GError *error = NULL;
|
||||
if (!net_reactivated_Fprint_Device_release(dev, &error)) {
|
||||
g_print("ReleaseDevice failed: %s\n", error->message);
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
|
||||
static const GOptionEntry entries[] = {
|
||||
{ "finger", 'f', 0, G_OPTION_ARG_STRING, &finger_name, "Finger selected to verify (default is automatic)", NULL },
|
||||
{"g-fatal-warnings", 0, 0, G_OPTION_ARG_NONE, &g_fatal_warnings, "Make all warnings fatal", NULL},
|
||||
{ G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &usernames, NULL, "[username]" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
GOptionContext *context;
|
||||
GError *err = NULL;
|
||||
DBusGProxy *dev;
|
||||
char *username;
|
||||
|
||||
g_type_init();
|
||||
|
||||
dbus_g_object_register_marshaller (fprintd_marshal_VOID__STRING_BOOLEAN,
|
||||
G_TYPE_NONE, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_INVALID);
|
||||
|
||||
context = g_option_context_new ("Verify a fingerprint");
|
||||
g_option_context_add_main_entries (context, entries, NULL);
|
||||
|
||||
if (g_option_context_parse (context, &argc, &argv, &err) == FALSE) {
|
||||
g_print ("couldn't parse command-line options: %s\n", err->message);
|
||||
g_error_free (err);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (usernames == NULL) {
|
||||
username = "";
|
||||
} else {
|
||||
username = usernames[0];
|
||||
}
|
||||
|
||||
if (g_fatal_warnings) {
|
||||
GLogLevelFlags fatal_mask;
|
||||
|
||||
fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK);
|
||||
fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL;
|
||||
g_log_set_always_fatal (fatal_mask);
|
||||
}
|
||||
|
||||
create_manager();
|
||||
|
||||
dev = open_device(username);
|
||||
find_finger(dev, username);
|
||||
do_verify(dev);
|
||||
release_device(dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user