Refine askuser popup 80/227180/2 accepted/tizen/unified/20200317.063613 submit/tizen/20200316.044625
authorYunjin Lee <yunjin-.lee@samsung.com>
Tue, 10 Mar 2020 07:54:17 +0000 (16:54 +0900)
committerYunjin Lee <yunjin-.lee@samsung.com>
Tue, 10 Mar 2020 07:57:31 +0000 (16:57 +0900)
- Apply ppm_popup_send_response() API
- Remove unnecessary files
- Fix memory leak

Change-Id: Ieddd112de01ffe63482c205070549dbd33724038
Signed-off-by: Yunjin Lee <yunjin-.lee@samsung.com>
92 files changed:
common/include/common_utils.h
common/src/common_utils.c
forward [deleted file]
launch_mobile [deleted file]
packaging/org.tizen.askuser-popup.spec
po/CMakeLists.txt
po/ar.po
po/as.po
po/az.po
po/be_BY.po
po/bg.po
po/bn.po
po/bn_BD.po
po/bs_BA.po [new file with mode: 0755]
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el_GR.po
po/en.po
po/en_PH.po
po/en_US.po
po/es_ES.po
po/es_US.po
po/et.po
po/eu.po
po/fa.po
po/fi.po
po/fr.po
po/fr_CA.po
po/ga.po
po/gl.po
po/gu.po
po/he.po
po/hi.po
po/hr.po
po/hu.po
po/hy.po
po/id.po
po/is.po
po/it_IT.po
po/ja_JP.po
po/ka.po
po/kk.po
po/km.po
po/kn.po
po/ko_KR.po
po/ky_KG.po
po/lo.po
po/lt.po
po/lv.po
po/mk.po
po/ml.po
po/mn_MN.po
po/mr.po
po/ms.po
po/my_MM.po
po/my_ZG.po
po/nb.po
po/ne.po
po/nl.po
po/or.po
po/pa.po
po/pl.po
po/pl_SP.po
po/pt_BR.po
po/pt_PT.po
po/ro.po
po/ru_RU.po
po/si.po
po/sk.po
po/sl.po
po/sq.po
po/sr.po
po/sv.po
po/ta.po
po/te.po
po/tg_TJ.po
po/th.po
po/tk_TM.po
po/tl.po
po/tr_TR.po
po/uk.po
po/ur.po
po/uz.po
po/vi.po
po/zh_CN.po
po/zh_HK.po
po/zh_TW.po
ui/CMakeLists.txt
ui/src/app_main.c
ui/src/popup.c

index 7e87b6698758806267dccb3f3e131457e209c171..1deb0ebfc4799b08a6b5cebaef93194271a883b0 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2019-2020 Samsung Electronics Co., Ltd All Rights Reserved
  *
  *    Licensed under the Apache License, Version 2.0 (the "License");
  *    you may not use this file except in compliance with the License.
@@ -28,8 +28,8 @@
 #include <app.h>
 #include <dlog.h>
 #include <app_control_internal.h>
-
-
+#include <efl_extension.h>
+#include <ppm_popup.h>
 
 #ifdef _cplusplus
 extern "C" {
@@ -61,7 +61,7 @@ extern "C" {
 typedef struct {
        char* privacy;
        bool user_responsed;
-       char* response;
+       ppm_popup_response_e response;
 } privacy_data_s;
 
 typedef struct _app_data_s {
@@ -80,6 +80,7 @@ typedef struct _app_data_s {
 
        bool all_responded;
        char* launch_type;
+       int popup_id;
 
        GList* privacy_list;
        int privacy_num;
@@ -88,7 +89,7 @@ typedef struct _app_data_s {
 
 privacy_data_s* new_privacy_data();
 
-//void init_app_data(app_data_s *ad);
+void init_app_data(app_data_s *ad);
 void free_app_data(app_data_s *ad);
 
 #ifdef _cplusplus
index ea3fce2e06420c86073299be3a50e00d46b50201..27b6e73f719cc489dee6e8478b0c592c74899760 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2019-2020 Samsung Electronics Co., Ltd All Rights Reserved
  *
  *     Licensed under the Apache License, Version 2.0 (the "License");
  *     you may not use this file except in compliance with the License.
@@ -20,8 +20,6 @@
  * @brief
  */
 
-#include <efl_extension.h>
-
 #include "common_utils.h"
 
 privacy_data_s* new_privacy_data()
@@ -33,16 +31,26 @@ privacy_data_s* new_privacy_data()
        }
        pd->privacy = NULL;
        pd->user_responsed = false;
-       pd->response = NULL;
+       pd->response = PRIVACY_PRIVILEGE_MANAGER_POPUP_RESPONSE_DENY_ONCE;
        return pd;
 }
 
+void init_app_data(app_data_s* ad)
+{
+       ad->all_responded = false;
+       ad->launch_type = NULL;
+       ad->caller_pkgid = NULL;
+       ad->popup_id = 0;
+
+       ad->privacy_list = NULL;
+       ad->privacy_num = 0;
+       ad->privacy_idx = 0;
+}
+
 void __free_privacy_data(privacy_data_s* pd)
 {
        if (pd->privacy)
                free(pd->privacy);
-       if (pd->response)
-               free(pd->response);
 }
 
 void free_privacy_data(gpointer pd)
diff --git a/forward b/forward
deleted file mode 100644 (file)
index d5133a4..0000000
--- a/forward
+++ /dev/null
@@ -1,36 +0,0 @@
-D/ASKUSER_POPUP(25864): app_main.c: main(219) > main
-D/ASKUSER_POPUP(25864): app_main.c: app_create(59) > app_create()
-D/ASKUSER_POPUP(25864): app_main.c: app_start(41) > app_start()
-D/ASKUSER_POPUP(25864): app_main.c: app_control(99) > app_control()
-D/ASKUSER_POPUP(25864): app_main.c: __app_control_clone(88) > app control cloned
-D/ASKUSER_POPUP(25864): app_main.c: app_control(111) > launched by aul_forward_app()
-D/ASKUSER_POPUP(25864): app_main.c: app_control(119) > caller_pkgid = org.example.ppmtester
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_CALLER_APPID__ -> org.example.ppmtester
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > privacy_list -> (null)
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __APP_SVC_LAUNCH_MODE__ -> group
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > launch_type -> single
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_ORG_CALLER_PID__ -> 3576
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_ORG_CALLER_UID__ -> 5001
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_STARTTIME__ -> 1574243371/523939
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_TARGET_UID__ -> 5001
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __APP_SVC_PKG_NAME__ -> org.tizen.askuser-popup
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_CALLER_PID__ -> 26092
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_CALLER_UID__ -> 5001
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_HWACC__ -> SYS
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_ROOT_PATH__ -> /usr/apps/org.tizen.askuser-popup
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_INTERNAL_POOL__ -> false
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_API_VERSION__ -> 5.5
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_PROFILE__ -> wearable
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_IS_GLOBAL__ -> true
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __AUL_INSTALLED_STORAGE__ -> internal
-D/ASKUSER_POPUP(25864): app_main.c: print_all(94) > __APP_SVC_OP_TYPE__ -> http://tizen.org/appcontrol/operation/default
-D/ASKUSER_POPUP(25864): app_main.c: app_control(147) > privacy num = 2
-D/ASKUSER_POPUP(25864): app_main.c: app_control(151) > privacy_list: http://tizen.org/privacy/account
-D/ASKUSER_POPUP(25864): app_main.c: app_control(151) > privacy_list: http://tizen.org/privacy/storage
-D/ASKUSER_POPUP(25864): app_main.c: app_control(178) > launch_type : single
-D/ASKUSER_POPUP(25864): popup.c: create_view(198) > popup launched
-D/ASKUSER_POPUP(25864): popup.c: __get_message(109) > __get_message(org.example.ppmtester, http://tizen.org/privacy/account)
-D/ASKUSER_POPUP(25864): popup.c: __make_message(90) > message: Allow ppmtester access to Accounts permission.
-D/ASKUSER_POPUP(25864): popup.c: __get_message(109) > __get_message(org.example.ppmtester, http://tizen.org/privacy/account)
-D/ASKUSER_POPUP(25864): popup.c: __make_message(90) > message: Allow ppmtester access to Accounts permission.
-D/ASKUSER_POPUP(25864): popup.c: create_view(244) > show
diff --git a/launch_mobile b/launch_mobile
deleted file mode 100644 (file)
index 038bb97..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-D/ASKUSER_POPUP(26186): app_main.c: main(219) > main
-D/ASKUSER_POPUP(26186): app_main.c: app_create(59) > app_create()
-D/ASKUSER_POPUP(26186): app_main.c: app_start(41) > app_start()
-D/ASKUSER_POPUP(26186): app_main.c: app_control(99) > app_control()
-D/ASKUSER_POPUP(26186): app_main.c: __app_control_clone(88) > app control cloned
-D/ASKUSER_POPUP(26186): app_main.c: app_control(161) > launched by app_launcher
-D/ASKUSER_POPUP(26186): app_main.c: app_control(178) > launch_type : single
-D/ASKUSER_POPUP(26186): popup.c: create_view(198) > popup launched
-D/ASKUSER_POPUP(26186): popup.c: __get_message(109) > __get_message(org.tizen.chromium-efl, http://tizen.org/privacy/account)
-D/ASKUSER_POPUP(26186): popup.c: __make_message(90) > message: Allow Tizen Web Engine based on Chromium access to Accounts permission.
-D/ASKUSER_POPUP(26186): popup.c: __get_message(109) > __get_message(org.tizen.chromium-efl, http://tizen.org/privacy/account)
-D/ASKUSER_POPUP(26186): popup.c: __make_message(90) > message: Allow Tizen Web Engine based on Chromium access to Accounts permission.
-D/ASKUSER_POPUP(26186): popup.c: create_view(244) > show
-D/ASKUSER_POPUP(26186): app_main.c: app_resume(189) > app_resume()
-D/ASKUSER_POPUP(26186): popup.c: __deny_response_cb(154) > deny response
-D/ASKUSER_POPUP(26186): popup.c: send_response(58) > send response: deny_once
-D/ASKUSER_POPUP(26186): popup.c: __check_next_privacy(129) > __check_next_privacy()
-D/ASKUSER_POPUP(26186): popup.c: __get_message(109) > __get_message(org.tizen.chromium-efl, http://tizen.org/privacy/call)
-D/ASKUSER_POPUP(26186): popup.c: __make_message(90) > message: Allow Tizen Web Engine based on Chromium access to Call permission.
-D/ASKUSER_POPUP(26186): popup.c: __get_message(109) > __get_message(org.tizen.chromium-efl, http://tizen.org/privacy/call)
-D/ASKUSER_POPUP(26186): popup.c: __make_message(90) > message: Allow Tizen Web Engine based on Chromium access to Call permission.
-D/ASKUSER_POPUP(26186): popup.c: __deny_response_cb(154) > deny response
-D/ASKUSER_POPUP(26186): popup.c: send_response(58) > send response: deny_once
-D/ASKUSER_POPUP(26186): popup.c: __check_next_privacy(129) > __check_next_privacy()
-D/ASKUSER_POPUP(26186): popup.c: __check_next_privacy(133) > all_responded, close the popup
-D/ASKUSER_POPUP(26186): app_main.c: app_pause(184) > app_pause
-D/ASKUSER_POPUP(26186): app_main.c: app_terminate(194) > app_terminate()
-D/ASKUSER_POPUP(26186): app_main.c: app_terminate(203) > app_terminate() end
-
-
index 23fb1ef01ed56eb8fa246fd2daf2b40e63346b67..b0265a684319518a86b52d89376ce8bad8baec5a 100755 (executable)
@@ -3,7 +3,7 @@
 
 Name:    org.tizen.askuser-popup-profile_mobile
 Summary: Ask user popup for mobile profile
-Version: 0.0.1
+Version: 0.0.2
 Release: 0
 Provides: org.tizen.askuser-popup = %{version}-%{release}
 Group:   Applications/Other
@@ -20,12 +20,13 @@ BuildRequires: pkgconfig(elementary)
 BuildRequires: pkgconfig(evas)
 BuildRequires: pkgconfig(efl-extension)
 BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(libtzplatform-config)
 BuildRequires: pkgconfig(security-privilege-manager)
 BuildRequires: pkgconfig(pkgmgr-info)
 BuildRequires: pkgconfig(capi-appfw-application)
 BuildRequires: pkgconfig(capi-appfw-app-manager)
+BuildRequires: pkgconfig(capi-privacy-privilege-manager)
 BuildRequires: pkgconfig(bundle)
+BuildRequires: pkgconfig(capi-system-device)
 %description
 Application providing ui for requesting privacy permission to the user.
 
index 4dd815d70a99ee3405466ea33be6d86e2706c0e3..552bb90f9e4d4817e9f51b2ad3ad2cf9c0288833 100755 (executable)
@@ -6,6 +6,7 @@ SET(POFILES
     bg.po
     bn_BD.po
     bn.po
+    bs_BA.po
     ca.po
     cs.po
     da.po
index 6266e50fc6b4a59524808c2df73e5b18dcef024a..20bcb47612d62f4df8cb4419fc87604b35152659 100755 (executable)
--- a/po/ar.po
+++ b/po/ar.po
@@ -16,6 +16,9 @@ msgstr "رفض"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "طلب الخصوصية"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "الصفحة %d من %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "اسمح لـ %1$s بالوصول إلى إذن %2$s."
 
index 7c61dea463a6b06b948c6cdea2b86fddd1caa5a2..fb71a3338bf89ff6900fbaa1f34d05dcc92632a7 100755 (executable)
--- a/po/as.po
+++ b/po/as.po
@@ -16,6 +16,9 @@ msgstr "অস্বীকাৰ"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "গোপনীয়তাৰ অনুৰোধ"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d-ৰ %d পৃষ্ঠা৷"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%2$s অনুমতিৰ বাবে %1$s প্ৰৱেশৰ অনুমতি দিয়ক।"
 
index df01ab66653e7edc1a43b542a6c33574d7f29b29..518c7d7b0c1da19cc7931341b5ac5d92ee765cb4 100755 (executable)
--- a/po/az.po
+++ b/po/az.po
@@ -16,6 +16,9 @@ msgstr "Rədd et"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Məxfilik sorğusu"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Səhifə %d / %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s %2$s icazəsinə çıxış icazəsi ver."
 
index c765087e7e01b503705e458a03af5aaec5684115..0966f7d995a403d027aebd720461e0f612025dd7 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Адхіліць"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Запыт аб прыватнасці"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Старонка %d з %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Даць %1$s дазвол на доступ %2$s."
 
index bf4c24b2b603e35642b1eea1f33a11d2810e53e2..b62eca584229cd47a0830b56f085234da689f337 100755 (executable)
--- a/po/bg.po
+++ b/po/bg.po
@@ -16,6 +16,9 @@ msgstr "Отказ"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Заявка за поверителна информация"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Стр. %d от %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Позволете на %1$s достъп до разрешението %2$s."
 
index e257be474fe992f4f9e80e837478155a7228dcb2..68a833ee22287fa63ce681031f1aab273460ae12 100755 (executable)
--- a/po/bn.po
+++ b/po/bn.po
@@ -16,6 +16,9 @@ msgstr "অস্বীকার"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "গোপনীয়তার অনুরোধ"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d-টির মধ্যে %dটি পৃষ্ঠা।"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$sকে %2$s অনুমতিতে অ্যাক্সেস করতে মঞ্জুর করুন।"
 
index 183b3ca9075658662697b1dc79f4ac57cedff92a..4747eb0c14dcbe89a2a782a881858e10a1fedd84 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "প্রত্যাখ্যান"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "গোপনীয়তার অনুরোধ"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d-এর মধ্যে পেইজ %d।"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s-কে %2$s অনুমতি অ্যাক্সেস করার অনুমোদন দিন৷"
 
diff --git a/po/bs_BA.po b/po/bs_BA.po
new file mode 100755 (executable)
index 0000000..4896b9a
--- /dev/null
@@ -0,0 +1,24 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Plural-Forms: nplurals=6; plural=(n%10==1 && n%100!=11 ? 1 : n%10 >=2 && n%10 <=4 && !(n%100>=12 && n%100<=14) ? 3 : 5);"
+
+
+msgid "IDS_CLOCK_BODY_DONT_REPEAT_ABB"
+msgstr "Ne ponavljaj."
+
+msgid "IDS_IDLE_BUTTON_ALLOW_ABB7"
+msgstr "Dozvoli"
+
+msgid "IDS_IDLE_BUTTON_DENY"
+msgstr "Odbij"
+
+msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
+msgstr "Zahtjev za privatnost"
+
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Stranica %d od %d."
+
+msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
+msgstr "Dozvolite aplikaciji %1$s pristup dozvoli %2$s."
+
index 69bac6c635f7c1aedfb7c346202967a5b9c317c1..08a2da6bb9b89ab48c326960a6dfda630b9e84a1 100755 (executable)
--- a/po/ca.po
+++ b/po/ca.po
@@ -16,6 +16,9 @@ msgstr "Denegar"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Sol·licitud de privadesa"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Pàgina %d de %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Permet que %1$s accedeixi al permís %2$s."
 
index aedf949c3ff02f638c58329dcf3287b7f9b876ba..2cbf811785f78045de9a810cef66147449d0b5f8 100755 (executable)
--- a/po/cs.po
+++ b/po/cs.po
@@ -16,6 +16,9 @@ msgstr "Odmítnout"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Požadavek na ochranu osobních údajů"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Stránka %d z %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Povolte aplikaci %1$s přístup k oprávnění %2$s."
 
index 90ec2ceebcd5bc7ff0676fe821ce09a5ebc30efc..ed9a6039501ffbaaa119b5a9f7d6e5d137ad8fcf 100755 (executable)
--- a/po/da.po
+++ b/po/da.po
@@ -16,6 +16,9 @@ msgstr "Afvis"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Fortrolighedsanmodning"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Side %d af %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Giv %1$s adgang til tilladelsen %2$s."
 
index 95e6e8aa91cc3c25879b4f0f6987e044e9473bd9..91f5240a7305113988ae24481a2f50759579f9c5 100755 (executable)
--- a/po/de.po
+++ b/po/de.po
@@ -16,6 +16,9 @@ msgstr "Ablehnen"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Datenschutzanfrage"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Seite %d von %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s den Zugriff auf %2$s erlauben."
 
index df97f17234d5ab890eba61826c6772c838db6516..b6545b8b4059536f13f49d93589b0d98a470423f 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Απόρριψη"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Αίτηση απορρήτου"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Σελίδα %d από %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Επιτρέψτε στην εφαρμογή %1$s την πρόσβαση στο δικαίωμα %2$s."
 
index e77e1d8c43971f9e999d99ca0c1cb44d7f99e73f..b3074a491eb2973d614decd6f90b776ac1bdee5b 100755 (executable)
--- a/po/en.po
+++ b/po/en.po
@@ -16,6 +16,9 @@ msgstr "Deny"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Privacy request"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Page %d of %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Allow %1$s access to %2$s permission."
 
index 8ec01a49874e2a787cc3faeb82cbee16f71590ae..8f42eaba6a61dbdb566a40e200f892bf5e6fc99e 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Deny"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Privacy request"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Page %d of %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Allow %1$s access to %2$s permission."
 
index 8ec01a49874e2a787cc3faeb82cbee16f71590ae..8f42eaba6a61dbdb566a40e200f892bf5e6fc99e 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Deny"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Privacy request"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Page %d of %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Allow %1$s access to %2$s permission."
 
index 1dfd6048f90136317f50842c739f53ecb2620dc2..3edd42631c0a4b3355486b523d48196c27f4b952 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Rechazar"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Solicitud de privacidad"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Página %d de %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Conceder que %1$s acceda al permiso %2$s."
 
index 2e32d7bdc1c409acb1d096e3d6b7cc2727202ce6..fa7e93a015d9705563b05d34e897a881e3227fb3 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Rechazar"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Solicitud de privacidad"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Página %d de %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Permitir que %1$s acceda a %2$s."
 
index 6b937b785b4d96499121df24e7b6ae2c97e85c65..dd4069146b6c99b34c04ac038d461b20d8e6213e 100755 (executable)
--- a/po/et.po
+++ b/po/et.po
@@ -16,6 +16,9 @@ msgstr "Keela"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Privaatsustaotlus"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Lehekülg %d/%d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Andke rakendusele %1$s juurdepääs loale %2$s."
 
index ebbd209001a08b83c50c9e80a2e211f05b89c27d..6b8f43769287b8eb4abee9b020a93ee88e9d3eed 100755 (executable)
--- a/po/eu.po
+++ b/po/eu.po
@@ -16,6 +16,9 @@ msgstr "Ukatu"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Pribatutasun eskaera"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d. orria %d-tik"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Baimendu %1$s aplikazioari %2$s atzitzea."
 
index d9e20b48305858a10a3d26fc9be703850c6ab352..71a0acd2489e3f1a9fa945723d13755628a5ddf5 100755 (executable)
--- a/po/fa.po
+++ b/po/fa.po
@@ -16,6 +16,9 @@ msgstr "رد کردن"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "درخواست حریم خصوصی"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "صفحه %d از %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "به %1$s اجازه دسترسی به %2$s بدهید."
 
index a7ff88aa57782ef800a5b565ca8abbf2a4a17e2c..55780983526372e443e0067f48f08c869b500518 100755 (executable)
--- a/po/fi.po
+++ b/po/fi.po
@@ -16,6 +16,9 @@ msgstr "Estä"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Tietosuojapyyntö"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Sivu %d / %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Salli, että %1$s käyttää käyttöoikeutta %2$s."
 
index 520ea0fcdfe6d56b4981d11b434704bb3a69bc44..6116fb528b6bba4dee4f89ab3860e509b8cc6058 100755 (executable)
--- a/po/fr.po
+++ b/po/fr.po
@@ -16,6 +16,9 @@ msgstr "Refuser"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Demande de confidentialité"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Page %d sur %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
-msgstr "Accordez à %1$s l'accès à l'autorisation %2$s."
+msgstr "Accordez à %1$s l'accès à %2$s."
 
index 2820a324c3f1250e4d9dcc44596fb7a710ff7b07..53b51112eaa40059ff5a4fc624672210ffcad9f7 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Refuser"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Demande de confidentialité"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Page %d sur %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
-msgstr "Accordez à %1$s l'accès à l'autorisation %2$s."
+msgstr "Accordez à %1$s l'accès à %2$s."
 
index 9f933c9f2187b0175bcea12b037e082c315c7cf7..59d9ecdb9d33db746ae7b9a92c4c7dcdfe3f0b20 100755 (executable)
--- a/po/ga.po
+++ b/po/ga.po
@@ -16,6 +16,9 @@ msgstr "Diúltaigh"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Iarratas príobháide"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Leathanach %d de %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Ceadaigh do %1$s an cead %2$s a rochtain."
 
index 0c27d330770c75d5fdcbda4783ae233ba46fdc5b..4c355a1a923ae632ef9bbc67f21d462e95b6bd5d 100755 (executable)
--- a/po/gl.po
+++ b/po/gl.po
@@ -16,6 +16,9 @@ msgstr "Denegar"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Solicitude de privacidade"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Páxina %d de %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Permite que %1$s acceda ao permiso %2$s."
 
index adff2018fde34cf6c23b56b8506657be88f1f32f..5ab8dd967afb8d4a00577b0ef9b10e50de7b2a31 100755 (executable)
--- a/po/gu.po
+++ b/po/gu.po
@@ -16,6 +16,9 @@ msgstr "નકારો"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "ગોપનીયતા વિનંતી"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d માંથી %d પૃષ્ઠ."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s ને %2$s ની મંજૂરીથી સંમત થાઓ."
 
index d60d37442d4f0bebf463966745582aa6e329cb08..76c7e18dcc7ab1e2d1ccd6faa3787268b60dff3b 100755 (executable)
--- a/po/he.po
+++ b/po/he.po
@@ -16,6 +16,9 @@ msgstr "דחה"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "בקשת פרטיות"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "עמוד %d מתוך %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "אשר ל-%1$s גישה להרשאת %2$s."
 
index baa3ad08c9159b72dfab38f68ff1900c6704574e..30b803344e5dc4c1bb31d99f4950265e23ba8a1c 100755 (executable)
--- a/po/hi.po
+++ b/po/hi.po
@@ -16,6 +16,9 @@ msgstr "अस्वीकारें"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "गोपनीयता अनुरोध"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "पेज %d के %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s को %2$s अनुमति एक्सेस करने की अनुमति दें।"
 
index 491f280241f2a8af71acef761adf220ac4e1f6ab..ed4e83d0f603d4d2a56f5369dcdf83474aa96153 100755 (executable)
--- a/po/hr.po
+++ b/po/hr.po
@@ -16,6 +16,9 @@ msgstr "Odbij"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Zahtjev za pristup privatnim podacima"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Stranica %d od %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Dopustite aplikaciji %1$s da pristupi dopuštenju %2$s."
 
index eb5b9adfb9b40405f45e5ac2c09ec41c503c4310..f16fe792db8e875113913734478131e9920e36a1 100755 (executable)
--- a/po/hu.po
+++ b/po/hu.po
@@ -16,6 +16,9 @@ msgstr "Tilt"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Adatvédelmi kérés"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d. oldal, összesen: %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "A(z) %2$s engedély megadása a(z) %1$s számára."
 
index aa7f1ca4a7a85bd6dabc49f556252e81eb726cd1..14612525964898bd37b8685f693ea2dea2be8368 100755 (executable)
--- a/po/hy.po
+++ b/po/hy.po
@@ -16,6 +16,9 @@ msgstr "Մերժել"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Գաղտնիության պահանջ"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Էջ %d՝ %d-ից:"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Թույլ տալ, որ %1$s-ն օգտվի %2$s թույլտվությունից:"
 
index 7f135794447a3afb9cc6886791887ec9f1ceef51..b81a99342e5a02dcbd213c342d06bb02dabdac7c 100755 (executable)
--- a/po/id.po
+++ b/po/id.po
@@ -16,6 +16,9 @@ msgstr "Tolak"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Permintaan privasi"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Halaman %d dari %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Perbolehkan %1$s mengakses izin %2$s."
 
index 7bf99b5c98d8f229a14fb0183e3586654de11e82..0d1e648d7124c8dc3aa480c65556e25306e55596 100755 (executable)
--- a/po/is.po
+++ b/po/is.po
@@ -16,6 +16,9 @@ msgstr "Hafna"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Persónuverndarbeiðni"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Bls. %d af %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Veita %1$s aðgang að heimild fyrir %2$s."
 
index 25ee27c5a11f3c6efd80e72ea7367b6b25387c9f..48ce3d9b0e12ae2d2ae49f1bd69214dfaf69e71f 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Nega"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Richiesta sulla privacy"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Pagina %d di %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Concedete a %1$s l’autorizzazione ad accedere a %2$s."
 
index 57ccc4f76064cd93bc7d5934d754339699c3f241..23eda6a26d889350a3425fa87f6f8de06b5dfc13 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "拒否"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "プライバシーの要求"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%2$dページ中%1$dページ"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%2$sの権限へのアクセスを%1$sに許可します。"
 
index 3d9c02b7737bc37cd41cf376c1a59bae9ee58e25..6b4796398c1d011020e6af5fd8ce1962e659b088 100755 (executable)
--- a/po/ka.po
+++ b/po/ka.po
@@ -16,6 +16,9 @@ msgstr "უარყოფა"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "კონფიდენციალურობის მოთხოვნა"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "გვერდი %d, სულ %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s-ს მიეცით უფლება, რომ გამოიყენოს ნებართვა: %2$s."
 
index 76d447050acd162a4d5d7c2ad72c79b94b1943c7..93b3fd5d11ac22c37a325792ba25dfced9f060bc 100755 (executable)
--- a/po/kk.po
+++ b/po/kk.po
@@ -16,6 +16,9 @@ msgstr "Бас тарту"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Құпиялылық сұрауы"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d беттің ішіндегі %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s %2$s рұқсатын беріңіз."
 
index e3f3ecd71b15029a80ef31a26c67ca0f284afbe1..8bce3261e18d76c0bf7ec23bdb078c57bc5913a0 100755 (executable)
--- a/po/km.po
+++ b/po/km.po
@@ -16,6 +16,9 @@ msgstr "បដិសេធ"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "សំណើ​ភាពឯកជន"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "ទំព័រ %d នៃ %d។"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "អនុញ្ញាត​ឲ្យ %1$s ចូលប្រើ​ការអនុញ្ញាត %2$s។"
 
index 130288fd55751e0461f9e3e15dc6d6338970c7a2..eb3394ec4794292ae563e07b043c0c1a52bb1f72 100755 (executable)
--- a/po/kn.po
+++ b/po/kn.po
@@ -16,6 +16,9 @@ msgstr "ನಿರಾಕರಿಸು"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "ಗೌಪ್ಯತೆ ವಿನಂತಿ"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%dರ ಪುಟ %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s ಪ್ರವೇಶಿಸಲು %2$s ಅನುಮತಿಸಿ."
 
index 19104908f2d9dba6c08576e91c9c92f6c64a5b5f..06768eee466d5190d9ea5558e1654c5e52c67477 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "허용 안 함"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "개인정보 요청"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%2$d 페이지 중 %1$d 페이지입니다."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s 앱에 %2$s 권한을 허용합니다."
 
index 1b677f34e4cd21aa52805322ff8efd5573d2bbb8..4d8825ad5cb316447f2fc99dfbdf968f31690e09 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Четке кагуу"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Жекелик талаптары"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d ичинен %d бет"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%2$s %1$s кошулуусуна уруксат берүү."
 
index 66fbf916fd1c90ecad80cc56582e6f2efe789196..cd6cb513e0f1326eeafd67567c4d9435cae3aeb1 100755 (executable)
--- a/po/lo.po
+++ b/po/lo.po
@@ -16,6 +16,9 @@ msgstr "ປະຕິເສດ"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "ຄຳຂໍຄວາມເປັນສ່ວນຕົວ"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "ໜ້າ %d ໃນ %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "ອະນຸຍາດໃຫ້ %1$s ເຂົ້າ​ໃຊ້ການອະນຸຍາດ %2$s."
 
index c7ef96698143ee72339eec5e58b22fecf1bfa66c..38052ebfe4c72402caec2218c572acde56b45d46 100755 (executable)
--- a/po/lt.po
+++ b/po/lt.po
@@ -16,6 +16,9 @@ msgstr "Atmesti"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Privatumo užklausa"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d puslapis: %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Suteikite %1$s leidimą pasiekti %2$s."
 
index 877b4c63a1a9710a480d2ef026dfad56ea788647..e107dfe7a6bb5682463b78782bc1ac8c8045758c 100755 (executable)
--- a/po/lv.po
+++ b/po/lv.po
@@ -16,6 +16,9 @@ msgstr "Noraidīt"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Konfidencialitātes pieprasījums"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d lapa no %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Piešķiriet programmai %1$s piekļuvi %2$s atļaujai."
 
index e434eda5a3e99cd54c6a53b912f948bc1ae2fb88..daac3c0e83d454efa819311ac61f4be3cf3785de 100755 (executable)
--- a/po/mk.po
+++ b/po/mk.po
@@ -16,6 +16,9 @@ msgstr "Отфрли"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Барање за приватност"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Страница %d од %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Дозволи %1$s да пристапи до дозвола за %2$s."
 
index d14f2c13453fc81a89bf11e7330503a2c3c5f5b8..fdea4722520885fcdcdf3266ec287732b92737cd 100755 (executable)
--- a/po/ml.po
+++ b/po/ml.po
@@ -16,6 +16,9 @@ msgstr "നിഷേധിക്കുക"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "സ്വകാര്യതാ അഭ്യർത്ഥന"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "പേജ് %d ല്‍ %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%2$s അനുമതിയിലേക്ക് %1$s ആക്സസ് അനുവദിക്കുക."
 
index 2d51437c26c93037abdd5de17aa619c74c0f0e87..d29d6490fcae331e380c625f4948d6ac32446f32 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Татгалзах"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Нууцлалын хүсэлт"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Хуудас %d / %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s хандалтыг %2$s зөвшөөрөлд зөвшөөр."
 
index f8aa98399876168377fb3976f98e49859d04c5c9..eaed2070792315a990b7198aea527c4bd07bd37a 100755 (executable)
--- a/po/mr.po
+++ b/po/mr.po
@@ -16,6 +16,9 @@ msgstr "नकार द्या"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "गोपनीयता विनंती"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d पैकी %d पेज."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s ला %2$s परवानगीच्या ऍक्सेसची अनुमती द्या."
 
index be7429ae69f0104ee981f20999a2d7dbf7dadde4..cbae9de9a92f442755ef8b6d97a787cd65fbb6e5 100755 (executable)
--- a/po/ms.po
+++ b/po/ms.po
@@ -16,6 +16,9 @@ msgstr "Nafi"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Permintaan privasi"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Halaman %d dari %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Benarkan capaian %1$s ke kebenaran %2$s."
 
index d3128474f913dd9132065fdfd20aede31ddd3d26..7a79e66068ec2949bf5157481ae3c4943c3aec33 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "ငြင်းဆိုပါ"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "ကိုယ်ရေးလုံခြုံမှု တောင်းဆိုချက်"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "စာမျက်နှာ %d  ၏ %d။"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s ကို %2$s ခွင့်ပြုချက်ထဲ ဝင်သုံးခွင့် ပြုပါ။"
 
index 282d4fca7a8a2a5a591336bdb7c9d4f0c1ca1134..3d4c273c336ee30f104c63a6e38571fd52d0a94e 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "ျငင္းဆိုပါ"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "ကုိယ္ေရးလံုျခံဳမႈ ေတာင္းဆုိခ်က္"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "စာမ်က္ႏွာ %d  ၏ %d။"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s ကုိ %2$s ခြင့္ျပဳခ်က္ထဲ ဝင္သံုးခြင့္ ျပဳပါ။"
 
index a7d378ab595880be2339bef7c4349b097dcd1b4b..ee2b2b1661d64b1e6c11ee8adb3c75d54b5db3b9 100755 (executable)
--- a/po/nb.po
+++ b/po/nb.po
@@ -16,6 +16,9 @@ msgstr "Avslå"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Personvernforespørsel"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Side %d av %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Gi %1$s tilgang til %2$s-tillatelsen."
 
index e8a3337d75d44f843c90ced6150998617e3ef2a9..a93121913c841130c976b9dba024602744856374 100755 (executable)
--- a/po/ne.po
+++ b/po/ne.po
@@ -16,6 +16,9 @@ msgstr "अस्वीकार गर्नु"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "गोपनीयता अनुरोध"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d को %d पृष्ठ।"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s लाई %2$s सम्बन्धी अनुमतिमा पहुँच गर्न दिने हो।"
 
index d8ebd666c138d1646d70b200f876d70292315928..77c92031a6c2fedf47b5d97d14126b7e67bbf0f7 100755 (executable)
--- a/po/nl.po
+++ b/po/nl.po
@@ -16,6 +16,9 @@ msgstr "Weigeren"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Verzoek om privacy"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Pagina %d van %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s heeft toegang tot machtiging %2$s."
 
index b627ea9d087703db2384c6f8ce771da9445accb3..ffd75c77d8d555541736c57fd3f826c01c2949a3 100755 (executable)
--- a/po/or.po
+++ b/po/or.po
@@ -16,6 +16,9 @@ msgstr "ଅଗ୍ରାହ୍ୟ"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "ଗୋପନୀୟ ଅନୁରୋଧ"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d ର %d ପୃଷ୍ଠା"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$sକୁ %2$s ଆକସେସ୍ ଅନୁମତି ଦିଅନ୍ତୁ।"
 
index f25739117d14e3ba61c5249b8cb58a9c33a363b5..37e3bc89132b444b08a4d16b7513f3e5a616d1bb 100755 (executable)
--- a/po/pa.po
+++ b/po/pa.po
@@ -16,6 +16,9 @@ msgstr "ਅਸਵੀਕਾਰ ਕਰੋ"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "ਗੋਪਨਿਯਤਾ ਬੇਨਤੀ"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "ਪੰਨਾ %d ਵਿੱਚੋਂ %d।"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s ਨੂੰ %2$s ਐਕਸੈੱਸ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਉ।"
 
index 66b93be575f45c548cb675968fb23876794c400b..c9bf5c1fb1b6ab214f2cd124f33ee09fbc21b943 100755 (executable)
--- a/po/pl.po
+++ b/po/pl.po
@@ -16,6 +16,9 @@ msgstr "Odmów"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Żądanie związane z prywatnością"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Strona %d z %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Zezwól aplikacji %1$s na dostęp do uprawnienia %2$s."
 
index 39f8f145ca198b93e79853fd523e230daf804f8a..f88d31b76e431e9ab762d2035751d05a4e5adac9 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Ôdkoż"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Przikŏz pochytany z prywatnościōm"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Zajta %d z %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Przizwōl aplikacyji %1$s na dostymp do dozwŏlynio %2$s."
 
index b6519628329c9c064b85190611b0e4c054648b11..11161ca593cf6db756395d534903f669b053e305 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Negar"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Solicitação de privacidade"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Página %d de %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Permita que %1$s acesse a permissão %2$s."
 
index fb51c3fe878d123562e0b2602f68886f002eeaf1..29196dd6ca16d479600ffecd60e65ec76d17f447 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Recusar"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Pedido de privacidade"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Página %d de %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Permita que %1$s aceda à permissão %2$s."
 
index e4bd93dac36ea9362d263c7da6197dd95bc76c90..4f285af37046e784d47bf3f49d3a60b2f42b2ae7 100755 (executable)
--- a/po/ro.po
+++ b/po/ro.po
@@ -16,6 +16,9 @@ msgstr "Refuz"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Solicitare confidențialitate"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Pagina %d din %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Acordați aplicației %1$s accesul la permisiunea %2$s."
 
index 50fc2f68d9c0442549b69b0ca42fc26905a54103..8a10348ea03300040ce2d1af2f266f9b800f1109 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Запретить"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Запрос на предоставление конфиденциальных данных"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Страница %d из %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Предоставление %1$s доступа к разрешению %2$s."
 
index 776f55c4b3b5145bd872d20d92ec35f030f47b88..26fa09b1e8b13ce8b98a0d9f72fad7966d2d10ea 100755 (executable)
--- a/po/si.po
+++ b/po/si.po
@@ -16,6 +16,9 @@ msgstr "ප්‍රතික්."
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "රහස්‍යතා ඉල්ලීම"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d හි %d පිටුව."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s හට %2$s අවසරයට ඉඩ දෙන්න."
 
index 982e4c1cef18651ff905423c4d2dff33f1acb043..06dc319cae7b1af9c15008067df4a7efe667e1d8 100755 (executable)
--- a/po/sk.po
+++ b/po/sk.po
@@ -16,6 +16,9 @@ msgstr "Zamietnuť"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Žiadosť o ochranu osobných údajov"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Strana %d z %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Udeľte aplikácii %1$s povolenie %2$s."
 
index c9d3f2fcfd99880f31b3a7c3f62d3ada4d5e083e..a1e9b56bd73e33bfa03722ae504294bab7e78b5c 100755 (executable)
--- a/po/sl.po
+++ b/po/sl.po
@@ -16,6 +16,9 @@ msgstr "Zavrni"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Zahteva za zasebnost"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Stran %d od %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Aplikaciji %1$s omogočite dostop do dovoljenja %2$s."
 
index bd31e26ad8e33c14fac7458e95294d713c62dab4..5fd3ab102534110ea17d4500c754553bdc3c3a9a 100755 (executable)
--- a/po/sq.po
+++ b/po/sq.po
@@ -16,6 +16,9 @@ msgstr "Refuzo"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Kërkesë privatësie"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Faqe %d nga %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Jepi %1$s akses në lejen %2$s."
 
index f64b001d1838e5df76e0157c92a17fcde69de73a..f1545e0251072bc4744b8c2509c03e32207fa445 100755 (executable)
--- a/po/sr.po
+++ b/po/sr.po
@@ -16,6 +16,9 @@ msgstr "Odbij"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Zahtev za privatnim informacijama"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Strana %d od %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Dozvolite aplikaciji %1$s da pristupi dozvoli %2$s."
 
index 13e5b3bf2b8421493384dfe26d4b1613f5e7c303..0901468114456f8411f55b13e31c958808d3a84b 100755 (executable)
--- a/po/sv.po
+++ b/po/sv.po
@@ -16,6 +16,9 @@ msgstr "Neka"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Sekretessbegäran"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Sida %d av %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Ge %1$s åtkomst till behörighet för %2$s."
 
index bd4ed9d3ccad68931e88e15a55b7e5dfc7547199..0cbda80de12c624cf476b8e5ea1ff4ce27142bcb 100755 (executable)
--- a/po/ta.po
+++ b/po/ta.po
@@ -16,6 +16,9 @@ msgstr "நிராகரி"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "தனிப்பயன் கோரிக்கை"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "பக்கம் %d-ல் %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%2$s அனுமதிக்கு %1$s அணுகலை அனுமதிக்கவும்."
 
index a10725a1b68d8df7080b113928d277e7c26dcb7f..9f9a7789ec5aeeaa97f14962de843f836f14df79 100755 (executable)
--- a/po/te.po
+++ b/po/te.po
@@ -16,6 +16,9 @@ msgstr "తిరస్కరించు"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "గోప్యతా అభ్యర్థన"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d యొక్క %d పేజీ."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%2$s అనుమతిని ప్రాప్యత చేయడానికి %1$sను అనుమతించాలా."
 
index 86ba85353e566bbe929b5a916b18ced0d474813e..39649d779e58fadd9dd5c3d80945eeb4e7836456 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Рад кардан"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Дархости махфият"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Саҳифаи %d аз %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Ба %1$s барои дастрас кардани %2$s иҷозат диҳед."
 
index 939ee75cbdb92aae458d0295e5947290444bc754..fe96893f49632f1de5112575044f25ef22088f70 100755 (executable)
--- a/po/th.po
+++ b/po/th.po
@@ -16,6 +16,9 @@ msgstr "ไม่"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "การร้องขอความเป็นส่วนตัว"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "หน้าที่ %d ​จาก %d"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "อนุญาต %1$s ให้เข้าถึงการอนุญาต %2$s หรือไม่"
 
index f720f83cb2f363bc712ac0663c32e6b4ca44168f..39fc897362d785a147fe465e4048d3ce04ccdda5 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Ret et"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Gizlinlik haýyşy"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "%d-nyň %d sahypasy"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s %2$s rugsadyna girsin."
 
index 2a564f7f6dca1f41e53021a450c687b45a2bc0b6..5928fa7430722fd5680174a6700bb6d0a2be34e7 100755 (executable)
--- a/po/tl.po
+++ b/po/tl.po
@@ -16,6 +16,9 @@ msgstr "Tanggihan"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Hiling sa privacy"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Pahina %d ng %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Payagan ang %1$s sa pahintulot na %2$s."
 
index e8c46b2344ed8968085435a49c3566f68eaacc93..179ea65d24e34da083aa5ec5b061fb88d56b2012 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "Reddet"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Gizlilik isteği"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Sayfa %d / %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s uygulamasına %2$s izni verin."
 
index d0d6564e2151b2309c6751b92cddcd763f554af2..5fbab62d31e24a69daebd530a475ef9a0cab8e68 100755 (executable)
--- a/po/uk.po
+++ b/po/uk.po
@@ -16,6 +16,9 @@ msgstr "Заборонити"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Запит на надання конфіденційних даних"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Сторінка %d з %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Надання %1$s доступу до дозволу %2$s."
 
index ce3b7bdc46ed796d8e3d04ca19dc1d54ddd0d843..d0d74e7e574ab8b5d385b79d65083c8c3cec189d 100755 (executable)
--- a/po/ur.po
+++ b/po/ur.po
@@ -16,6 +16,9 @@ msgstr "انکار کریں"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "رازداری کی درخواست"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "صفحہ %d از %d۔"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%2$s کی رسائی کی اجازت کے لیے %1$s کی اجازت دیں۔"
 
index 0684ab3fdea5c6fe94d93bc1044d7ec6e82a41f5..5b62da03cf7913ac1cf398961a975ea8815be14c 100755 (executable)
--- a/po/uz.po
+++ b/po/uz.po
@@ -16,6 +16,9 @@ msgstr "Rad etish"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Maxfiylik so‘rovi"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Sahifa %d, %ddan."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "%1$s’ga %2$s ruxsatiga kirish uchun ijozat bering."
 
index 877729eefb67997bd6cdf8e842907b5b3c1fd832..ef77d8292b122ed22b3eda63a1208b9a8440e93b 100755 (executable)
--- a/po/vi.po
+++ b/po/vi.po
@@ -16,6 +16,9 @@ msgstr "Từ chối"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "Yêu cầu về riêng tư"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "Trang %d của %d."
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "Cho phép %1$s truy cập %2$s."
 
index 9efb42a853d01c04eec87e6257af9db357755b77..ddbf032f3f7b9ad0067b7be6d65e2c3b991b4031 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "拒绝"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "隐私请求"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "第 %d 页,共 %d 页。"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "允许%1$s访问%2$s。"
 
index 0bbda2edddaeeb2707247845a30bdc7798027b17..58ab3fb315970f9eaf92f97503c7ebe71ba02b43 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "拒絕"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "私隱請求"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "第 %d 頁,共 %d 頁。"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "允許 %1$s 存取%2$s權限。"
 
index 6f060c595f04fb935afad36df763d5bc5bba7d89..641ed17fcb2720ddf512b2dd9a333dfe8b0dd1cc 100755 (executable)
@@ -16,6 +16,9 @@ msgstr "拒絕"
 msgid "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 msgstr "隱私權要求"
 
+msgid "IDS_PB_BODY_PAGE_PD_OF_PD"
+msgstr "頁面 %d 為 %d。"
+
 msgid "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 msgstr "允許 %1$s 存取 %2$s 權限。"
 
index 43fd6ded0029f035621ecbbd5a40fad18d72726c..cfe9797ac0abe0dfcf14085c10d8eb79d2e6d0e0 100755 (executable)
@@ -1,7 +1,7 @@
 INCLUDE(FindPkgConfig)
 SET(pkg_name "org.tizen.askuser-popup")
 
-pkg_check_modules(${pkg_name} REQUIRED glib-2.0 evas elementary edje eina efl-extension security-privilege-manager dlog capi-appfw-app-control bundle capi-appfw-app-manager capi-appfw-application pkgmgr-info)
+pkg_check_modules(${pkg_name} REQUIRED glib-2.0 evas elementary edje eina efl-extension security-privilege-manager dlog capi-appfw-app-control bundle capi-appfw-app-manager capi-appfw-application pkgmgr-info capi-privacy-privilege-manager capi-system-device)
 
 SET(SRCS
        ${CMAKE_SOURCE_DIR}/common/src/common_utils.c
index 3011aec59da5bcaaaf5227d5a4afaa32108e1359..e8e57dc30e325c113bb9e6d125f93962f628ba97 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2019-2020 Samsung Electronics Co., Ltd All Rights Reserved
  *
  *     Licensed under the Apache License, Version 2.0 (the "License");
  *     you may not use this file except in compliance with the License.
  * @brief
  */
 
-#include <libintl.h>
-#include <efl_extension.h>
 #include <app_info.h>
+#include <app_manager.h>
 #include <bundle.h>
 #include <bundle_internal.h>
-#include <glib.h>
 
 #include "common_utils.h"
 #include "view.h"
@@ -76,21 +74,7 @@ static bool app_create(void * data)
        return true;
 }
 
-// TODO: remove clone
-//    -> There's no response request from caller app so no need to save app-control
-static void __app_control_clone(app_control_h *clone, app_control_h app_control)
-{
-       if (*clone)
-               app_control_destroy(*clone);
-       int ret = app_control_clone(clone, app_control);
-       if (ret != APP_CONTROL_ERROR_NONE)
-               LOGE("app_control_clone failed. ret = %d", ret);
-       else
-               LOGD("app control cloned");
-
-       return;
-}
-
+//TODO: remove when implementation is done
 void print_all(const char *k, const char *v, void *data)
 {
        LOGD("%s -> %s ", k, v);
@@ -102,78 +86,87 @@ static void app_control(app_control_h app_control, void *data)
        /* Handle the launch request. */
        app_data_s *ad = (app_data_s *)data;
        int ret = 0;
-       ad->launch_type = NULL;
-       char* caller_appid = NULL;
 
-       __app_control_clone(&(ad->caller), app_control);
+       char* caller_appid = NULL;
+       ret = app_control_get_caller(app_control, &caller_appid);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               LOGE("app_control_get_caller() failed. Can't get caller info. Terminate.");
+               ui_app_exit();
+       }
 
-       app_control_get_caller(ad->caller, &caller_appid);
+       LOGD("caller appid = %s", caller_appid);
 
-       if (caller_appid != NULL) {
-               LOGD("launched by aul_forward_app()");
+       app_info_h app_info;
+       ret = app_info_create(caller_appid, &app_info);
+       free(caller_appid);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               LOGE("app_info_create() failed. ret = %d", ret);
+               ui_app_exit();
+       }
 
-               app_info_h app_info;
-               app_info_create(caller_appid, &app_info);
-               app_info_get_package(app_info, &(ad->caller_pkgid));
-               app_info_destroy(app_info);
-               free(caller_appid);
-               if (ad->caller_pkgid) {
-                       LOGD("caller_pkgid = %s", ad->caller_pkgid);
-               } else {
-                       LOGE("Failed to get caller_pkgid");
-                       //TODO: Error notification for askuser?
-                       ui_app_exit();
-               }
+       ret = app_info_get_package(app_info, &(ad->caller_pkgid));
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               LOGE("app_info_get_package() failed. ret = %d", ret);
+               ui_app_exit();
+       }
 
-               bundle *b = NULL;
+       if (ad->caller_pkgid == NULL) {
+               LOGE("Failed to get caller_pkgid");
+               ui_app_exit();
+       }
 
-               app_control_to_bundle(app_control, &b);
+       bundle *b = NULL;
 
-               bundle_iterate(b, print_all, NULL); //TODO: remove or comment it
+       ret = app_control_to_bundle(app_control, &b);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               LOGE("caller pkgid [%s]: app_control_to_bundle() failed. ret = %d", ad->caller_pkgid, ret);
+               ui_app_exit();
+       }
 
-               const char* launch_type = bundle_get_val(b, "launch_type");
-               ad->launch_type = strdup(launch_type);
-               if (!ad->launch_type) {
-                       LOGE("Failed to get launch_type");
-                       //TODO: Error notification for askuser?
-                       ui_app_exit();
-               } else if (strcmp(ad->launch_type, "multi") && strcmp(ad->launch_type, "single")) {
-                       LOGE("Unknown launch_type = %s", ad->launch_type);
-                       //TODO: Error notification for askuser?
-                       ui_app_exit();
-               }
+       //bundle_iterate(b, print_all, NULL); //TODO: remove or comment it when implementation is done
 
-               const char** privacy_list = bundle_get_str_array(b, "privacy_list", &ad->privacy_num);
-               ad->all_responded = false;
-               ad->privacy_idx = 0;
-               LOGD("privacy num = %d", ad->privacy_num);
-               int i = 0;
-               for (i = 0; i < ad->privacy_num; ++i) {
-                       LOGD("privacy_list: %s", privacy_list[i]);
-                       privacy_data_s *pd = new_privacy_data();
-                       pd->privacy = strdup(privacy_list[i]);
-                       pd->response = NULL;
-                       pd->user_responsed = false;
-                       ad->privacy_list = g_list_append(ad->privacy_list, pd);
-               }
+       size_t popup_id_size;
+       int *popup_id;
 
+       ret = bundle_get_byte(b, "popup_id", (void**)&popup_id, &popup_id_size);
+       if (ret == BUNDLE_ERROR_NONE) {
+               ad->popup_id = *popup_id;
+               LOGD("popup_id = %d", *popup_id);
        } else {
-               LOGD("launched by app_launcher");
-               ad->caller_pkgid = strdup("org.tizen.chromium-efl");
+               LOGE("caller pkgid [%s]: bundle_get_byte() failed. ret = %d", ad->caller_pkgid, ret);
+               ui_app_exit();
+       }
+
+       int privacy_num = 0;
+       const char** privacy_list = bundle_get_str_array(b, "privacy_list", &privacy_num);
+       if (privacy_list == NULL) {
+               LOGE("caller pkgid [%s]: key 'privacy_list' not found.", ad->caller_pkgid);
+               ui_app_exit();
+       }
+       if (privacy_num < 1) {
+               LOGE("caller_pkgid [%s]: key 'privacy_list' len: %d < 1", ad->caller_pkgid, ad->privacy_num);
+               ui_app_exit();
+       }
+
+       ad->privacy_num = privacy_num;
+       LOGD("privacy num = %d", ad->privacy_num);
+       int i = 0;
+       for (i = 0; i < ad->privacy_num; ++i) {
+               LOGD("privacy_list: %s", privacy_list[i]);
                privacy_data_s *pd = new_privacy_data();
-               pd->privacy = strdup("http://tizen.org/privacy/account");
-               pd->response = NULL;
-               pd->user_responsed = false;
-               ad->privacy_list = g_list_append(ad->privacy_list, pd);
-               pd = new_privacy_data();
-               pd->privacy = strdup("http://tizen.org/privacy/call");
-               pd->response = NULL;
-               pd->user_responsed = false;
+               pd->privacy = strdup(privacy_list[i]);
                ad->privacy_list = g_list_append(ad->privacy_list, pd);
-               ad->privacy_num = 2;
+       }
+
+       if (ad->privacy_num > 1) {
+               ad->launch_type = strdup("multi");
+       } else {
                ad->launch_type = strdup("single");
-               ad->all_responded = false;
-               ad->privacy_idx = 0;
+       }
+
+       if (!ad->launch_type) {
+               LOGE("caller pkgid [%s]: strdup of 'launch_type' failed.", ad->caller_pkgid);
+               ui_app_exit();
        }
 
        LOGD("launch_type : %s", ad->launch_type);
@@ -190,17 +183,39 @@ static void app_resume(void *data)
        LOGD("app_resume()");
        /* Take necessary actions when application becomes visible. */
 }
+
 static void app_terminate(void *data)
 {
        LOGD("app_terminate()");
+
        app_data_s *ad = (app_data_s*)data;
-       if (!ad->all_responded) {
-               while (ad->privacy_idx < ad->privacy_num) {
-                       send_response("deny_once", ad);
-                       ad->privacy_idx++;
+       int ret = 0;
+
+       if (ad->privacy_idx == 0) {
+               LOGD("no responses");
+               ret = ppm_popup_send_response(ad->popup_id, NULL, NULL, 0);
+       } else {
+               char *privacies[ad->privacy_idx];
+               ppm_popup_response_e responses[ad->privacy_idx];
+
+               int i = 0;
+               for (i = 0; i < ad->privacy_idx; ++i) {
+                       privacy_data_s *pd = (privacy_data_s*)g_list_nth_data(ad->privacy_list, i);
+                       if (pd->user_responsed) {
+                               privacies[i] = strdup(pd->privacy);
+                               responses[i] = pd->response;
+                       } else {
+                               break;
+                       }
                }
+               ret = ppm_popup_send_response(ad->popup_id, (const char**)privacies, responses, i);
        }
+
+       if (ret != PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE)
+               LOGE("ppm_popup_send_response() failed. ret = %d", ret);
+
        free_app_data(ad);
+
        LOGD("app_terminate() end");
 }
 
@@ -213,7 +228,7 @@ static void ui_app_lang_changed(app_event_info_h event_info, void *user_data)
                elm_language_set(lang);
                free(lang);
        } else {
-               LOGE("app_event_get_language() failed.");
+               LOGE("app_event_get_language() failed");
        }
 }
 
@@ -223,6 +238,7 @@ int main(int argc, char *argv[])
        int ret = 0;
        app_data_s ad;
        memset(&ad, 0x0, sizeof(app_data_s));
+       init_app_data(&ad);
 
        ui_app_lifecycle_callback_s event_callback = {0, };
        app_event_handler_h handlers[2] = {NULL, };
index 10c9b3bbf208e7768470b346325ab5786fda5d7a..debaa4b5dfcf9d770779f220e93021ab97afffe6 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2019-2020 Samsung Electronics Co., Ltd All Rights Reserved
  *
  *     Licensed under the Apache License, Version 2.0 (the "License");
  *     you may not use this file except in compliance with the License.
  */
 
 #define _GNU_SOURCE
-#include <efl_extension.h>
-#include <glib.h>
 
 #include "common_utils.h"
 #include "view.h"
-#include <glib.h>
-#include <string.h>
+
 #include <app_control_internal.h>
-#include <stdio.h>
 #include <privilege_info.h>
 #include <pkgmgr-info.h>
+#include <device/display.h>
 
 #define CUSTOM_EDJE_PATH "/usr/apps/org.tizen.askuser-popup/res/edje/popup_custom.edj"
 
@@ -40,6 +37,7 @@
 #define MSG_POPUP_TITLE "IDS_IDLE_HEADER_PRIVACY_REQUEST"
 #define MSG_POPUP_TEXT "WDS_TPLATFORM_POP_ALLOW_P1SS_ACCESS_TO_P2SS_PERMISSION"
 #define MSG_POPUP_CHECKBOX "IDS_CLOCK_BODY_DONT_REPEAT_ABB"
+#define AO_MSG_COUNTER "IDS_PB_BODY_PAGE_PD_OF_PD"
 
 #define LABEL_PADDING "<br>"
 #define AO_LABEL_PADDING " ..."
 #define COUNTER_LEN 26
 
 
-void send_response(const char *response, app_data_s *ad) //TODO: change to enum?
+void save_response(ppm_popup_response_e response, app_data_s *ad)
 {
-       //TODO: send response for privacy, pkgid, response
-       //privacy_data_s *pd = (privacy_data_s *)g_list_nth_data(ad->privacy_list, ad->privacy_idx);
-       //(const char*)pd->privacy, ad->caller_pkgid, response
-       //pd->user_responsed = true;
-       //pd->response ...
-       //TBD: should we store all responses? it depends on whether to return at once or return for each response?
-       LOGD("send response: %s", response);
+       privacy_data_s *pd = (privacy_data_s *)g_list_nth_data(ad->privacy_list, ad->privacy_idx);
+       pd->response = response;
+       pd->user_responsed = true;
 }
 
 
@@ -69,9 +63,9 @@ static char* __get_privacy_display(const char* privacy)
        if (ret == PRVMGR_ERR_NONE && privacy_display != NULL)
                return privacy_display;
        else
-               LOGE("privilege_info_get_privacy_display() failed. ret = %d, privacy_display = %s", ret, privacy_display);
+               LOGE("privilege_info_get_privacy_display() failed. ret = %d, privacy = %s", ret, privacy);
 
-       return NULL;
+       return "";
 }
 
 static char* __accessible_content_name_cb(void *data, Evas_Object *obj)
@@ -87,36 +81,61 @@ static char* __make_message(const char* format, const char* pkg_label, const cha
 
        ret = asprintf(&message, dgettext(TEXT_DOMAIN, format), pkg_label, privacy);
        if (ret == -1)
-               LOGE("asprintf failed");
-
-       LOGD("message : %s", message);
+               LOGE("asprintf() of message failed");
 
-       return message;
+       if (message != NULL) {
+               LOGD("message : %s", message);
+               return message;
+       }
+       return "";
 }
 
 static char* __get_pkg_label(const char* pkgid)
 {
-       pkgmgrinfo_pkginfo_h handle;
+       pkgmgrinfo_pkginfo_h handle = NULL;
        char* label = NULL;
+       char* pkg_label = NULL;
 
-       pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
-       pkgmgrinfo_pkginfo_get_label(handle, &label);
-       char* pkg_label = strdup(label);
-       pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+       int ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+       if (ret != PMINFO_R_OK)
+               LOGE("pkgmgrinfo_pkginfo_get_pkginfo() failed. ret = %d", ret);
 
-       return pkg_label;
+       ret = pkgmgrinfo_pkginfo_get_label(handle, &label);
+       if (ret != PMINFO_R_OK)
+               LOGE("pkgmgrinfo_pkginfo_get_label() failed. ret = %d", ret);
+
+       if (label != NULL)
+               pkg_label = strdup(label);
+
+       if (handle != NULL)
+               pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+
+       if (pkg_label != NULL)
+               return pkg_label;
+
+       return "";
 }
 
 static char* __get_message(const char* pkgid, const char* privacy)
 {
        LOGD("__get_message(%s, %s)", pkgid, privacy);
-       return __make_message(MSG_POPUP_TEXT, __get_pkg_label(pkgid), __get_privacy_display(privacy));
+       char* pkg_label = __get_pkg_label(pkgid);
+       char* privacy_display = __get_privacy_display(privacy);
+       char* message = __make_message(MSG_POPUP_TEXT, pkg_label, privacy_display);
+       if (strlen(pkg_label) > 0)
+               free(pkg_label);
+       if (strlen(privacy_display) > 0)
+               free(privacy_display);
+       return message;
 }
 static void __set_popup_contents(app_data_s *ad)
 {
        privacy_data_s *pd = (privacy_data_s *)g_list_nth_data(ad->privacy_list, ad->privacy_idx);
-       elm_object_text_set(ad->label, __get_message(ad->caller_pkgid, (const char*)pd->privacy));
-       elm_atspi_accessible_name_set(ad->label, __get_message(ad->caller_pkgid, (const char*)pd->privacy));
+       char* message = __get_message(ad->caller_pkgid, (const char*)pd->privacy);
+       elm_object_text_set(ad->label, message);
+       elm_atspi_accessible_name_set(ad->label, message);
+       if (strlen(message) > 0)
+               free(message);
        if (!strcmp(ad->launch_type, "multi")) {
                char counter[COUNTER_LEN];
                int ret = sprintf(counter, "%d / %d", (ad->privacy_idx) + 1, ad->privacy_num);
@@ -141,10 +160,7 @@ static void __allow_response_cb(void *data, Evas_Object *obj, void *event_info)
 {
        LOGD("allow response");
        app_data_s *ad = (app_data_s *)data;
-       if (elm_check_state_get(ad->checkbox) == EINA_TRUE)
-               send_response("allow_forever", ad);//TODO: remove?
-       else
-               send_response("allow", ad);
+       save_response(PRIVACY_PRIVILEGE_MANAGER_POPUP_RESPONSE_ALLOW_FOREVER, ad);
        __check_next_privacy(ad);
        if (ad->all_responded)
                ui_app_exit();
@@ -155,9 +171,9 @@ static void __deny_response_cb(void *data, Evas_Object *obj, void *event_info)
        LOGD("deny response");
        app_data_s *ad = (app_data_s *)data;
        if (elm_check_state_get(ad->checkbox) == EINA_TRUE)
-               send_response("deny_forever", ad);
+               save_response(PRIVACY_PRIVILEGE_MANAGER_POPUP_RESPONSE_DENY_FOREVER, ad);
        else
-               send_response("deny_once", ad);
+               save_response(PRIVACY_PRIVILEGE_MANAGER_POPUP_RESPONSE_DENY_ONCE, ad);
        __check_next_privacy(ad);
        if (ad->all_responded)
                ui_app_exit();
@@ -176,23 +192,31 @@ static void __lang_changed_cb(void *data, Evas_Object *obj, void *event_info)
 
 }
 
-Eina_Bool __hw_key_clicked_cb(void *data, int type, void *event)
+Eina_Bool __hw_key_clicked_cb(void *data, int type, void *event_info)
 {
-       Ecore_Event_Key *ev = (Ecore_Event_Key*)event;
+       Ecore_Event_Key *ev = (Ecore_Event_Key*)event_info;
        ALOGD("HW key clicked. type <%d> pressed key is <%s>", type, ev->key);
        if (!strcmp(ev->key, "XF86Home") || !strcmp(ev->key, "XF86Back")) {
-               LOGD("deny response");
-               app_data_s *ad = (app_data_s *)data;
-               while (ad->privacy_idx < ad->privacy_num) {
-                       send_response("deny_once", ad);
-                       ad->privacy_idx++;
-               }
-               ad->all_responded = true;
                ui_app_exit();
        }
        return EINA_TRUE;
 }
 
+void __unfocused_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       LOGD("unfocused cb");
+       display_state_e state;
+       int ret = device_display_get_state(&state);
+       if (ret != DEVICE_ERROR_NONE) {
+               LOGE("device_display_get_state() failed. ret = %d", ret);
+               ui_app_exit();
+       }
+       if (state != DISPLAY_STATE_SCREEN_OFF) {
+               LOGD("display on and unfocused. terminate popup.");
+               ui_app_exit();
+       }
+}
+
 void create_view(app_data_s *ad)
 {
        LOGD("popup launched");