Tizen 2.1 base
authorJinkun Jang <jinkun.jang@samsung.com>
Tue, 12 Mar 2013 16:51:24 +0000 (01:51 +0900)
committerJinkun Jang <jinkun.jang@samsung.com>
Tue, 12 Mar 2013 16:51:24 +0000 (01:51 +0900)
108 files changed:
AUTHORS [new file with mode: 0644]
CMakeLists.txt [new file with mode: 0755]
LICENSE.APLv2 [new file with mode: 0644]
NOTICE [new file with mode: 0755]
build.sh [new file with mode: 0755]
cert-selection-ug/CMakeLists.txt [new file with mode: 0755]
cert-selection-ug/include/cert-selection-uigadget.h [new file with mode: 0755]
cert-selection-ug/src/cert-selection-uigadget.c [new file with mode: 0644]
cert-selection-ug/src/cert-selection.c [new file with mode: 0644]
data/icons/ManageApplications.png [new file with mode: 0644]
data/icons/ManageApplications_default.png [new file with mode: 0644]
data/icons/com.samsung.mgr-app.png [new file with mode: 0755]
debian/changelog [new file with mode: 0755]
debian/changelog.app [new file with mode: 0755]
debian/changelog.ug [new file with mode: 0755]
debian/com.samsung.mgr-app-0.install.in [new file with mode: 0755]
debian/com.samsung.mgr-app-dbg.install.in [new file with mode: 0755]
debian/com.samsung.mgr-app.desktop.in [new file with mode: 0755]
debian/com.samsung.mgr-app.postinst.in [new file with mode: 0755]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0755]
debian/control.app [new file with mode: 0755]
debian/control.ug [new file with mode: 0755]
debian/libcert-svc-dev.install [new file with mode: 0644]
debian/libcert-svc1-test.install [new file with mode: 0644]
debian/libcert-svc1-ui.install [new file with mode: 0644]
debian/libcert-svc1.dirs [new file with mode: 0644]
debian/libcert-svc1.install [new file with mode: 0644]
debian/libcert-svc1.links [new file with mode: 0644]
debian/libcert-svc1.postinst [new file with mode: 0755]
debian/rules [new file with mode: 0755]
packaging/cert-svc-ui.manifest [new file with mode: 0644]
packaging/cert-svc-ui.spec [new file with mode: 0644]
po/CMakeLists.txt [new file with mode: 0755]
po/ar.po [new file with mode: 0644]
po/az.po [new file with mode: 0644]
po/bg.po [new file with mode: 0644]
po/ca.po [new file with mode: 0644]
po/cs.po [new file with mode: 0644]
po/da.po [new file with mode: 0644]
po/de_DE.po [new file with mode: 0644]
po/el_GR.po [new file with mode: 0644]
po/en.po [new file with mode: 0644]
po/en_PH.po [new file with mode: 0644]
po/en_US.po [new file with mode: 0644]
po/es_ES.po [new file with mode: 0644]
po/es_MX.po [new file with mode: 0644]
po/et.po [new file with mode: 0644]
po/eu.po [new file with mode: 0644]
po/fi.po [new file with mode: 0644]
po/fr_CA.po [new file with mode: 0644]
po/fr_FR.po [new file with mode: 0644]
po/ga.po [new file with mode: 0644]
po/gl.po [new file with mode: 0644]
po/he.po [new file with mode: 0644]
po/hi.po [new file with mode: 0644]
po/hr.po [new file with mode: 0644]
po/hu.po [new file with mode: 0644]
po/hy.po [new file with mode: 0644]
po/id.po [new file with mode: 0644]
po/is.po [new file with mode: 0644]
po/it_IT.po [new file with mode: 0644]
po/ja_JP.po [new file with mode: 0644]
po/ka.po [new file with mode: 0644]
po/kk.po [new file with mode: 0644]
po/ko_KR.po [new file with mode: 0644]
po/lt.po [new file with mode: 0644]
po/lv.po [new file with mode: 0644]
po/mk.po [new file with mode: 0644]
po/ms.po [new file with mode: 0644]
po/nb.po [new file with mode: 0644]
po/nl_NL.po [new file with mode: 0644]
po/no.po [new file with mode: 0644]
po/pl.po [new file with mode: 0644]
po/pt_BR.po [new file with mode: 0644]
po/pt_PT.po [new file with mode: 0644]
po/ro.po [new file with mode: 0644]
po/ru_RU.po [new file with mode: 0644]
po/sk.po [new file with mode: 0644]
po/sl.po [new file with mode: 0644]
po/sr.po [new file with mode: 0644]
po/sv.po [new file with mode: 0644]
po/th.po [new file with mode: 0644]
po/tr_TR.po [new file with mode: 0644]
po/uk.po [new file with mode: 0644]
po/uz.po [new file with mode: 0644]
po/vi.po [new file with mode: 0644]
po/zh_CN.po [new file with mode: 0644]
po/zh_HK.po [new file with mode: 0644]
po/zh_SG.po [new file with mode: 0644]
po/zh_TW.po [new file with mode: 0644]
ug/CMakeLists.txt [new file with mode: 0755]
ug/include/mgr-app-uigadget.h [new file with mode: 0755]
ug/src/mgr-app-uigadget.c [new file with mode: 0755]
view/CMakeLists.txt [new file with mode: 0755]
view/include/certificates/certificate_util.h [new file with mode: 0644]
view/include/certificates/certificates.h [new file with mode: 0644]
view/src/certificates/certificate_util.c [new file with mode: 0644]
view/src/certificates/certificates_menu.c [new file with mode: 0644]
view/src/certificates/detail_info_cert.c [new file with mode: 0644]
view/src/certificates/pfx_cert/pfx_cert.c [new file with mode: 0644]
view/src/certificates/pfx_cert/pfx_cert_install.c [new file with mode: 0644]
view/src/certificates/pfx_cert/pfx_cert_remove.c [new file with mode: 0644]
view/src/certificates/put_password_certificate.c [new file with mode: 0644]
view/src/certificates/trusted_root_ca_cert/trusted_root_ca_cert.c [new file with mode: 0644]
view/src/certificates/uninstall_certificate.c [new file with mode: 0644]
view/src/certificates/user_cert/install_certificate.c [new file with mode: 0644]
view/src/certificates/user_cert/user_cert.c [new file with mode: 0644]

diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..ce40e2d
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1 @@
+Janusz Kozerski <j.kozerski@samsung.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..b7d33fd
--- /dev/null
@@ -0,0 +1,41 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ug-setting-manage-certificates-efl C)
+
+INCLUDE(FindPkgConfig)
+
+SET(CMAKE_C_FLAGS_RELEASE "-O2 -Wall")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -Wall -g -ggdb")
+SET(CMAKE_C_FLAGS_CCOV "-O2 -Wall --coverage")
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(PKGNAME "lib${PROJECT_NAME}")
+SET(LIBDIR "${PREFIX}/lib")
+SET(VERSION 0.1.0)
+SET(RESDIR "${PREFIX}/res")
+SET(DATADIR "${RESDIR}/etc")
+SET(LOCALEDIR "${RESDIR}/locale")
+SET(ICONDIR "${RESDIR}/images")
+SET(EDJDIR "${RESDIR}/edje")
+SET(IMGDIR "${RESDIR}/images")
+
+SET(TARGET_CERT_VIEW "mgr-cert-view")
+SET(TARGET_CERT_SELECTION_UG "ug-cert-selection-ug-efl")
+SET(TARGET_CERT_MANAGER_UG "ug-setting-manage-certificates-efl")
+
+ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DPKGNAME=\"${PKGNAME}\"")
+ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
+ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
+ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"")
+ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+ADD_DEFINITIONS("-DIMGDIR=\"${IMGDIR}\"")
+
+ADD_SUBDIRECTORY(view)
+ADD_SUBDIRECTORY(ug)
+ADD_SUBDIRECTORY(cert-selection-ug)
+
+# i18n
+ADD_SUBDIRECTORY(po)
diff --git a/LICENSE.APLv2 b/LICENSE.APLv2
new file mode 100644 (file)
index 0000000..9c13a9b
--- /dev/null
@@ -0,0 +1,204 @@
+Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.\r
+\r
+                                 Apache License\r
+                           Version 2.0, January 2004\r
+                        http://www.apache.org/licenses/\r
+\r
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\r
+\r
+   1. Definitions.\r
+\r
+      "License" shall mean the terms and conditions for use, reproduction,\r
+      and distribution as defined by Sections 1 through 9 of this document.\r
+\r
+      "Licensor" shall mean the copyright owner or entity authorized by\r
+      the copyright owner that is granting the License.\r
+\r
+      "Legal Entity" shall mean the union of the acting entity and all\r
+      other entities that control, are controlled by, or are under common\r
+      control with that entity. For the purposes of this definition,\r
+      "control" means (i) the power, direct or indirect, to cause the\r
+      direction or management of such entity, whether by contract or\r
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the\r
+      outstanding shares, or (iii) beneficial ownership of such entity.\r
+\r
+      "You" (or "Your") shall mean an individual or Legal Entity\r
+      exercising permissions granted by this License.\r
+\r
+      "Source" form shall mean the preferred form for making modifications,\r
+      including but not limited to software source code, documentation\r
+      source, and configuration files.\r
+\r
+      "Object" form shall mean any form resulting from mechanical\r
+      transformation or translation of a Source form, including but\r
+      not limited to compiled object code, generated documentation,\r
+      and conversions to other media types.\r
+\r
+      "Work" shall mean the work of authorship, whether in Source or\r
+      Object form, made available under the License, as indicated by a\r
+      copyright notice that is included in or attached to the work\r
+      (an example is provided in the Appendix below).\r
+\r
+      "Derivative Works" shall mean any work, whether in Source or Object\r
+      form, that is based on (or derived from) the Work and for which the\r
+      editorial revisions, annotations, elaborations, or other modifications\r
+      represent, as a whole, an original work of authorship. For the purposes\r
+      of this License, Derivative Works shall not include works that remain\r
+      separable from, or merely link (or bind by name) to the interfaces of,\r
+      the Work and Derivative Works thereof.\r
+\r
+      "Contribution" shall mean any work of authorship, including\r
+      the original version of the Work and any modifications or additions\r
+      to that Work or Derivative Works thereof, that is intentionally\r
+      submitted to Licensor for inclusion in the Work by the copyright owner\r
+      or by an individual or Legal Entity authorized to submit on behalf of\r
+      the copyright owner. For the purposes of this definition, "submitted"\r
+      means any form of electronic, verbal, or written communication sent\r
+      to the Licensor or its representatives, including but not limited to\r
+      communication on electronic mailing lists, source code control systems,\r
+      and issue tracking systems that are managed by, or on behalf of, the\r
+      Licensor for the purpose of discussing and improving the Work, but\r
+      excluding communication that is conspicuously marked or otherwise\r
+      designated in writing by the copyright owner as "Not a Contribution."\r
+\r
+      "Contributor" shall mean Licensor and any individual or Legal Entity\r
+      on behalf of whom a Contribution has been received by Licensor and\r
+      subsequently incorporated within the Work.\r
+\r
+   2. Grant of Copyright License. Subject to the terms and conditions of\r
+      this License, each Contributor hereby grants to You a perpetual,\r
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+      copyright license to reproduce, prepare Derivative Works of,\r
+      publicly display, publicly perform, sublicense, and distribute the\r
+      Work and such Derivative Works in Source or Object form.\r
+\r
+   3. Grant of Patent License. Subject to the terms and conditions of\r
+      this License, each Contributor hereby grants to You a perpetual,\r
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+      (except as stated in this section) patent license to make, have made,\r
+      use, offer to sell, sell, import, and otherwise transfer the Work,\r
+      where such license applies only to those patent claims licensable\r
+      by such Contributor that are necessarily infringed by their\r
+      Contribution(s) alone or by combination of their Contribution(s)\r
+      with the Work to which such Contribution(s) was submitted. If You\r
+      institute patent litigation against any entity (including a\r
+      cross-claim or counterclaim in a lawsuit) alleging that the Work\r
+      or a Contribution incorporated within the Work constitutes direct\r
+      or contributory patent infringement, then any patent licenses\r
+      granted to You under this License for that Work shall terminate\r
+      as of the date such litigation is filed.\r
+\r
+   4. Redistribution. You may reproduce and distribute copies of the\r
+      Work or Derivative Works thereof in any medium, with or without\r
+      modifications, and in Source or Object form, provided that You\r
+      meet the following conditions:\r
+\r
+      (a) You must give any other recipients of the Work or\r
+          Derivative Works a copy of this License; and\r
+\r
+      (b) You must cause any modified files to carry prominent notices\r
+          stating that You changed the files; and\r
+\r
+      (c) You must retain, in the Source form of any Derivative Works\r
+          that You distribute, all copyright, patent, trademark, and\r
+          attribution notices from the Source form of the Work,\r
+          excluding those notices that do not pertain to any part of\r
+          the Derivative Works; and\r
+\r
+      (d) If the Work includes a "NOTICE" text file as part of its\r
+          distribution, then any Derivative Works that You distribute must\r
+          include a readable copy of the attribution notices contained\r
+          within such NOTICE file, excluding those notices that do not\r
+          pertain to any part of the Derivative Works, in at least one\r
+          of the following places: within a NOTICE text file distributed\r
+          as part of the Derivative Works; within the Source form or\r
+          documentation, if provided along with the Derivative Works; or,\r
+          within a display generated by the Derivative Works, if and\r
+          wherever such third-party notices normally appear. The contents\r
+          of the NOTICE file are for informational purposes only and\r
+          do not modify the License. You may add Your own attribution\r
+          notices within Derivative Works that You distribute, alongside\r
+          or as an addendum to the NOTICE text from the Work, provided\r
+          that such additional attribution notices cannot be construed\r
+          as modifying the License.\r
+\r
+      You may add Your own copyright statement to Your modifications and\r
+      may provide additional or different license terms and conditions\r
+      for use, reproduction, or distribution of Your modifications, or\r
+      for any such Derivative Works as a whole, provided Your use,\r
+      reproduction, and distribution of the Work otherwise complies with\r
+      the conditions stated in this License.\r
+\r
+   5. Submission of Contributions. Unless You explicitly state otherwise,\r
+      any Contribution intentionally submitted for inclusion in the Work\r
+      by You to the Licensor shall be under the terms and conditions of\r
+      this License, without any additional terms or conditions.\r
+      Notwithstanding the above, nothing herein shall supersede or modify\r
+      the terms of any separate license agreement you may have executed\r
+      with Licensor regarding such Contributions.\r
+\r
+   6. Trademarks. This License does not grant permission to use the trade\r
+      names, trademarks, service marks, or product names of the Licensor,\r
+      except as required for reasonable and customary use in describing the\r
+      origin of the Work and reproducing the content of the NOTICE file.\r
+\r
+   7. Disclaimer of Warranty. Unless required by applicable law or\r
+      agreed to in writing, Licensor provides the Work (and each\r
+      Contributor provides its Contributions) on an "AS IS" BASIS,\r
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\r
+      implied, including, without limitation, any warranties or conditions\r
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\r
+      PARTICULAR PURPOSE. You are solely responsible for determining the\r
+      appropriateness of using or redistributing the Work and assume any\r
+      risks associated with Your exercise of permissions under this License.\r
+\r
+   8. Limitation of Liability. In no event and under no legal theory,\r
+      whether in tort (including negligence), contract, or otherwise,\r
+      unless required by applicable law (such as deliberate and grossly\r
+      negligent acts) or agreed to in writing, shall any Contributor be\r
+      liable to You for damages, including any direct, indirect, special,\r
+      incidental, or consequential damages of any character arising as a\r
+      result of this License or out of the use or inability to use the\r
+      Work (including but not limited to damages for loss of goodwill,\r
+      work stoppage, computer failure or malfunction, or any and all\r
+      other commercial damages or losses), even if such Contributor\r
+      has been advised of the possibility of such damages.\r
+\r
+   9. Accepting Warranty or Additional Liability. While redistributing\r
+      the Work or Derivative Works thereof, You may choose to offer,\r
+      and charge a fee for, acceptance of support, warranty, indemnity,\r
+      or other liability obligations and/or rights consistent with this\r
+      License. However, in accepting such obligations, You may act only\r
+      on Your own behalf and on Your sole responsibility, not on behalf\r
+      of any other Contributor, and only if You agree to indemnify,\r
+      defend, and hold each Contributor harmless for any liability\r
+      incurred by, or claims asserted against, such Contributor by reason\r
+      of your accepting any such warranty or additional liability.\r
+\r
+   END OF TERMS AND CONDITIONS\r
+\r
+   APPENDIX: How to apply the Apache License to your work.\r
+\r
+      To apply the Apache License to your work, attach the following\r
+      boilerplate notice, with the fields enclosed by brackets "[]"\r
+      replaced with your own identifying information. (Don't include\r
+      the brackets!)  The text should be enclosed in the appropriate\r
+      comment syntax for the file format. We also recommend that a\r
+      file or class name and description of purpose be included on the\r
+      same "printed page" as the copyright notice for easier\r
+      identification within third-party archives.\r
+\r
+   Copyright [yyyy] [name of copyright owner]\r
+\r
+   Licensed under the Apache License, Version 2.0 (the "License");\r
+   you may not use this file except in compliance with the License.\r
+   You may obtain a copy of the License at\r
+\r
+       http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+   Unless required by applicable law or agreed to in writing, software\r
+   distributed under the License is distributed on an "AS IS" BASIS,\r
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+   See the License for the specific language governing permissions and\r
+   limitations under the License.\r
+\r
diff --git a/NOTICE b/NOTICE
new file mode 100755 (executable)
index 0000000..ccdad52
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,3 @@
+Copyright (c) Samsung Electronics Co., Ltd. All rights reserved.
+Except as noted, this software is licensed under Apache License, Version 2.
+Please, see the LICENSE file for Apache License terms and conditions.
diff --git a/build.sh b/build.sh
new file mode 100755 (executable)
index 0000000..59d06a4
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+if [ $1 == "app" ]
+then
+       echo "Build App"
+       cp ./debian/control.app ./debian/control
+       cp ./debian/changelog.app ./debian/changelog
+       find ./debian -name "rules" -exec perl -pi -e 's/TYPE\ \?\=\ ug/TYPE\ \?\=\ app/g' {} \;
+else
+       echo "Build UG"
+       cp ./debian/control.ug ./debian/control
+       cp ./debian/changelog.ug ./debian/changelog
+       find ./debian -name "rules" -exec perl -pi -e 's/TYPE\ \?\=\ app/TYPE\ \?\=\ ug/g' {} \;
+fi
+
+sbs -b
diff --git a/cert-selection-ug/CMakeLists.txt b/cert-selection-ug/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..68b86b8
--- /dev/null
@@ -0,0 +1,38 @@
+pkg_check_modules(ug-cert-selection-ug-efl_pkgs
+    REQUIRED
+    elementary
+    ui-gadget-1
+    evas
+    dlog
+    capi-appfw-application
+    cert-svc-vcore
+)
+
+SET(SRCS
+    src/cert-selection.c
+    src/cert-selection-uigadget.c
+)
+
+SET(CMAKE_INSTALL_RPATH "${PREFIX}/lib")
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/view/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/common/include)
+
+ADD_DEFINITIONS(${ug-cert-selection-ug-efl_pkgs_DEPS_CFLAGS})
+ADD_DEFINITIONS(${ug-cert-selection-ug-efl_pkgs_DEPS_OTHER})
+
+INCLUDE_DIRECTORIES(${ug-cert-selection-ug-efl_pkgs_INCLUDE_DIRS})
+
+ADD_LIBRARY(${TARGET_CERT_SELECTION_UG} SHARED ${SRCS})
+SET_TARGET_PROPERTIES(${TARGET_CERT_SELECTION_UG} PROPERTIES SOVERSION 0.1.0)
+
+TARGET_LINK_LIBRARIES(${TARGET_CERT_SELECTION_UG}
+    ${ug-cert-selection-ug-efl_pkgs_LIBRARIES}
+)
+
+INSTALL(TARGETS
+    ${TARGET_CERT_SELECTION_UG}
+    DESTINATION
+    ${LIBDIR}
+)
diff --git a/cert-selection-ug/include/cert-selection-uigadget.h b/cert-selection-ug/include/cert-selection-uigadget.h
new file mode 100755 (executable)
index 0000000..e57e044
--- /dev/null
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2011 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.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        cert-selection-uigadget.h
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ */
+
+#ifndef __UG_SETTING_SELECT_CERTIFICATE_EFL_H__
+#define __UG_SETTING_SELECT_CERTIFICATE_EFL_H__
+
+#include <Elementary.h>
+#include <ui-gadget.h>
+#include <ui-gadget-module.h>
+#include <glib.h>
+#include <app.h>
+
+#ifndef PACKAGE
+#define PACKAGE "ug-setting-manage-certificates-efl"
+#endif
+
+#ifndef LOCALEDIR
+#define LOCALEDIR PREFIX "/res/locale"
+#endif
+
+struct ug_data {
+    Evas_Object         *win_main;
+    Evas_Object         *bg;
+    Evas_Object         *layout_main;
+    Evas_Object         *navi_bar;
+    GList               *view_list;
+    ui_gadget_h         ug;
+    ui_gadget_h         sub_ug;
+    service_h           *service;
+    void                *data;
+};
+
+struct ug_data *get_ug_data();
+
+void cert_selection_cb(void *data, Evas_Object *obj, void *event_info);
+
+#ifdef LOG_TAG
+    #undef LOG_TAG
+#endif
+
+#ifndef LOG_TAG
+    #define LOG_TAG "CERT_SVC_UI"
+#endif
+
+#endif /* __UG_SETTING_SELECT_CERTIFICATE_EFL_H__ */
diff --git a/cert-selection-ug/src/cert-selection-uigadget.c b/cert-selection-ug/src/cert-selection-uigadget.c
new file mode 100644 (file)
index 0000000..b3187ac
--- /dev/null
@@ -0,0 +1,247 @@
+/*
+ * Copyright (c) 2011 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.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        cert-ui-api.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ */
+
+#ifndef UG_MODULE_API
+#define UG_MODULE_API __attribute__ ((visibility("default")))
+#endif
+
+#include <stdio.h>
+#include <ui-gadget.h>
+#include <ui-gadget-module.h>
+#include <app.h>
+#include <dlog.h>
+
+#include "cert-selection-uigadget.h"
+
+#include <cert-svc/ccert.h>
+#include <cert-svc/cinstance.h>
+#include <cert-svc/ccrl.h>
+#include <cert-svc/cocsp.h>
+#include <cert-svc/cpkcs12.h>
+#include <cert-svc/cstring.h>
+
+#define STR_VIEWTYPE                "viewtype"
+#define STR_MANAGE_APPLICATIONS     "manage-applications"
+
+static struct ug_data *ugd = NULL;
+struct ug_data *get_ug_data() {
+    LOGD("get_ug_data()");
+    return ugd;
+}
+
+static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv) {
+
+    (void)mode;
+
+    if(NULL == ug)
+        return NULL;
+    if(NULL == priv)
+        return NULL;
+
+    ugd = priv;
+    ugd->ug = ug;
+
+    ugd->service = &service;
+
+    bindtextdomain(PACKAGE, LOCALEDIR);
+
+    ugd = priv;
+    ugd->ug = ug;
+
+    ugd->win_main = ug_get_parent_layout(ug);
+    if (NULL == ugd->win_main)
+        return NULL;
+
+    ugd->bg = elm_bg_add(ugd->win_main);
+    if (!ugd->bg) {
+        LOGD("ugd->bg is null");
+        free(ugd->win_main);
+        return NULL;
+    }
+    evas_object_size_hint_weight_set(ugd->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    //elm_win_resize_object_add(ugd->win_main, ugd->bg);
+    evas_object_show(ugd->bg);
+
+    ugd->layout_main = elm_layout_add(ugd->win_main);
+    if (!ugd->layout_main) {
+        LOGD("ugd->layout_main is null");
+        free(ugd->win_main);
+        free(ugd->bg);
+        return NULL;
+    }
+    elm_layout_theme_set(ugd->layout_main, "layout", "application", "default");
+    evas_object_size_hint_weight_set(ugd->layout_main, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    //elm_win_resize_object_add(ugd->win_main, ugd->layout_main);
+    evas_object_show(ugd->layout_main);
+
+    elm_object_part_content_set(ugd->layout_main, "elm.swallow.bg", ugd->bg);
+
+    ugd->navi_bar = elm_naviframe_add(ugd->layout_main);
+    if (!ugd->navi_bar) {
+        LOGD("ugd->navi_bar is null");
+        free(ugd->win_main);
+        free(ugd->bg);
+        free(ugd->layout_main);
+        return NULL;
+    }
+    evas_object_show(ugd->navi_bar);
+    elm_object_part_content_set(ugd->layout_main, "elm.swallow.content", ugd->navi_bar);
+
+    cert_selection_cb((void*) ugd, NULL, NULL);
+
+    return ugd->layout_main;
+}
+
+static void on_start(ui_gadget_h ug, service_h service, void *priv) {
+
+    (void)ug;
+    (void)service;
+    (void)priv;
+}
+
+static void on_pause(ui_gadget_h ug, service_h service, void *priv) {
+
+    (void)ug;
+    (void)service;
+    (void)priv;
+}
+
+static void on_resume(ui_gadget_h ug, service_h service, void *priv) {
+
+    (void)ug;
+    (void)service;
+    (void)priv;
+}
+
+static void on_destroy(ui_gadget_h ug, service_h service, void *priv) {
+
+    (void)service;
+
+    if(NULL == ug){
+        LOGD("NULL == ug; return");
+        return;
+    }
+    if(NULL == priv){
+        LOGD("NULL == priv; return");
+        return;
+    }
+
+    ugd = priv;
+
+    evas_object_del(ugd->layout_main);
+    ugd->layout_main = NULL;
+}
+
+static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv) {
+
+    (void)ug;
+    (void)msg;
+    (void)service;
+    (void)priv;
+}
+
+static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv) {
+
+    (void)ug;
+    (void)service;
+    (void)priv;
+
+    switch (event) {
+    case UG_EVENT_LOW_MEMORY:
+        break;
+    case UG_EVENT_LOW_BATTERY:
+        break;
+    case UG_EVENT_LANG_CHANGE:
+        break;
+    case UG_EVENT_ROTATE_PORTRAIT:
+        break;
+    case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
+        break;
+    case UG_EVENT_ROTATE_LANDSCAPE:
+        break;
+    case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
+        break;
+    default:
+        break;
+    }
+}
+
+static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv) {
+
+    (void)service;
+    (void)priv;
+
+    if(NULL == ug){
+        LOGD("NULL == ug; return");
+        return;
+    }
+
+    switch (event) {
+    case UG_KEY_EVENT_END:
+        ug_destroy_me(ug);
+        break;
+    default:
+        break;
+    }
+}
+
+UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops) {
+
+    if(NULL == ops){
+        LOGD("NULL == ops; return");
+        return -1;
+    }
+
+    ugd = calloc(1, sizeof(struct ug_data));
+
+    ops->create    = on_create;
+    ops->start     = on_start;
+    ops->pause     = on_pause;
+    ops->resume    = on_resume;
+    ops->destroy   = on_destroy;
+    ops->message   = on_message;
+    ops->event     = on_event;
+    ops->key_event = on_key_event;
+    ops->priv      = ugd;
+    ops->opt       = UG_OPT_INDICATOR_ENABLE;
+
+    return 0;
+}
+
+UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops) {
+
+    if(NULL == ops){
+        LOGD("NULL == ops; return");
+        return;
+    }
+
+    ugd = ops->priv;
+    free(ugd);
+}
+
+UG_MODULE_API int setting_plugin_reset(service_h service, void *priv) {
+
+    (void)service;
+    (void)priv;
+    /* nothing to do for Setting>Reset */
+
+    return 0;
+}
diff --git a/cert-selection-ug/src/cert-selection.c b/cert-selection-ug/src/cert-selection.c
new file mode 100644 (file)
index 0000000..46c2a19
--- /dev/null
@@ -0,0 +1,310 @@
+/*
+ * Copyright (c) 2011 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.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        cert-selection.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ */
+
+#include <Elementary.h>
+#include "dlog.h"
+
+#include <stdio.h>
+#include <dirent.h>
+
+#include <cert-svc/ccert.h>
+#include <cert-svc/cinstance.h>
+#include <cert-svc/ccrl.h>
+#include <cert-svc/cocsp.h>
+#include <cert-svc/cpkcs12.h>
+#include <cert-svc/cstring.h>
+
+#include "cert-selection-uigadget.h"
+
+#define CERT_MAX_DATA_SIZE  256
+
+static CertSvcInstance   instance;
+static CertSvcStringList stringList;
+
+static int             state_index    = -1; //selected radio index
+static char            *selected_name = NULL;
+static Eina_Bool       selected       = EINA_FALSE;
+static Evas_Object     *radio_main    = NULL;
+static Evas_Object     *open_button   = NULL;
+static Elm_Genlist_Item_Class itc;
+
+static void _open(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("selected index = %d", state_index);
+    (void)obj;
+    (void)event_info;
+
+    struct ug_data *ad = (struct ug_data*) data;
+
+    if (selected) {
+        service_h service;
+        service_create(&service);
+        service_add_extra_data(service, "selected-cert", selected_name);
+        ug_send_result(ad->ug, service);
+        service_destroy(service);
+        LOGD("result send");
+    }
+
+    /* bg must delete before starting on_destroy */
+    LOGD("Closing UG");
+    free(selected_name);
+    evas_object_del(ad->bg);
+    ad->bg = NULL;
+    ug_destroy_me(ad->ug);
+}
+
+static void _cancel(void *data, Evas_Object *obj, void *event_info) {
+
+    (void)obj;
+    (void)event_info;
+
+    struct ug_data *ad = (struct ug_data*) data;
+
+    /* bg must delete before starting on_destroy */
+    LOGD("Closing UG");
+    free(selected_name);
+    evas_object_del(ad->bg);
+    ad->bg = NULL;
+    ug_destroy_me(ad->ug);
+}
+
+const char* get_email(CertSvcString alias) {
+    LOGD("get_email()");
+
+    const char *char_buffer;
+
+    CertSvcCertificateList certificateList;
+    CertSvcCertificate certificate;
+    CertSvcString email_buffer;
+    if (CERTSVC_SUCCESS != certsvc_pkcs12_load_certificate_list(
+            instance,
+            alias,
+            &certificateList)) {
+        return NULL;
+    }
+    if (CERTSVC_SUCCESS != certsvc_certificate_list_get_one(
+            certificateList,
+            0,
+            &certificate)) {
+        return NULL;
+    }
+    if (CERTSVC_SUCCESS != certsvc_certificate_get_string_field(
+            certificate,
+            CERTSVC_SUBJECT_EMAIL_ADDRESS,
+            &email_buffer)) {
+        return NULL;
+    }
+    certsvc_string_to_cstring(email_buffer, &char_buffer, NULL);
+    return char_buffer;
+}
+
+static char *_gl_text_get(void *data, Evas_Object *obj, const char *part) {
+
+    (void)obj;
+    int index = (int) data;
+
+    CertSvcString buffer;
+    if (certsvc_string_list_get_one(stringList, index, &buffer) != CERTSVC_SUCCESS) {
+        return strdup("ERROR WHILE LOADING STRING");
+    }
+    char *char_buffer;
+
+    if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.text")) {
+        char_buffer = strndup(buffer.privateHandler, buffer.privateLength);
+        certsvc_string_free(buffer);
+        return char_buffer;
+    } else if (!strcmp(part, "elm.text.2")) {
+        return (char *) get_email(buffer);
+    }
+
+    return NULL;
+}
+
+static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part) {
+
+    LOGD("_gl_content_get");
+
+    int index = (int) data;
+    Evas_Object *radio;
+    LOGD("index = %d", index);
+
+    if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+        radio = elm_radio_add(obj);
+        elm_radio_state_value_set(radio, index);
+        elm_radio_group_add(radio, radio_main);
+        elm_radio_value_pointer_set(radio, &state_index);
+        evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+        evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+        return radio;
+    }
+    return NULL;
+}
+
+static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part) {
+
+    (void)data;
+    (void)obj;
+    (void)part;
+
+    return EINA_FALSE;
+}
+
+static void _gl_del(void *data, Evas_Object *obj) {
+
+    (void)data;
+    (void)obj;
+
+    return;
+}
+
+static void _gl_sel(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("_gl_sel");
+    (void)obj;
+
+    if(NULL == event_info){
+        return;
+    }
+
+    int pkcs_index = (int) data;
+    LOGD("pkcs_index = %d", pkcs_index);
+
+    Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+    elm_genlist_item_selected_set(item, EINA_FALSE);
+
+    state_index = pkcs_index;
+    elm_genlist_item_update(item);
+
+    selected = EINA_TRUE;
+
+    CertSvcString buffer;
+    if (certsvc_string_list_get_one(stringList, pkcs_index, &buffer) != CERTSVC_SUCCESS) {
+        selected = EINA_FALSE;
+        return;
+    }
+    elm_object_disabled_set(open_button, EINA_FALSE);
+
+    if(selected_name)
+        free(selected_name);
+    selected_name = malloc((buffer.privateLength+1) * sizeof(char));
+    strncpy(selected_name, buffer.privateHandler, buffer.privateLength);
+    selected_name[buffer.privateLength] = 0;
+    LOGD("SELECTED NAME = %s", selected_name);
+    certsvc_string_free(buffer);
+}
+
+void cert_selection_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("cert_selection");
+
+    (void)data;
+    (void)obj;
+    (void)event_info;
+
+    struct ug_data *ad = (struct ug_data *) data;
+    Evas_Object *genlist = NULL;
+    Evas_Object *layout  = NULL;
+    Evas_Object *cancel_button = NULL;
+
+    state_index = -1;
+
+    layout = elm_layout_add(ad->win_main);
+    if (!layout)
+        return;
+    elm_layout_theme_set(layout, "layout", "tabbar", "default");
+
+    open_button = elm_button_add(ad->navi_bar);
+    if (!open_button) return;
+    elm_object_text_set(open_button, dgettext(PACKAGE, "IDS_ST_BUTTON_OPEN"));
+    elm_object_style_set(open_button, "naviframe/toolbar/left");
+    evas_object_smart_callback_add(open_button, "clicked", _open, ad);
+
+    cancel_button = elm_button_add(ad->navi_bar);
+    if (!cancel_button) return;
+    elm_object_text_set(cancel_button, dgettext(PACKAGE, "IDS_ST_SK2_CANCEL"));
+    elm_object_style_set(cancel_button, "naviframe/toolbar/right");
+    evas_object_smart_callback_add(cancel_button, "clicked", _cancel, ad);
+
+    // Create genlist;
+    genlist = elm_genlist_add(layout);
+    if (!radio_main) {
+        radio_main = elm_radio_add(genlist);
+        elm_radio_state_value_set(radio_main, 0);
+        elm_radio_value_set(radio_main, 0);
+    }
+
+    // Set genlist item class
+    itc.item_style       = "2text.1icon.2";
+    itc.func.text_get    = _gl_text_get;
+    itc.func.content_get = _gl_content_get;
+    itc.func.state_get   = _gl_state_get;
+    itc.func.del         = _gl_del;
+
+    if (certsvc_instance_new(&instance) == CERTSVC_FAIL) {
+        LOGD("CERTSVC_FAIL");
+        return;
+    }
+    certsvc_pkcs12_get_id_list(instance, &stringList);
+
+    int i;
+    int list_length;
+    certsvc_string_list_get_length(stringList, &list_length);
+
+    Elm_Object_Item *itm = NULL;
+
+    // No Content message when list is empty
+    if(1 > list_length){
+        Evas_Object *no_content = elm_layout_add(ad->win_main);
+        if(NULL == no_content){
+            return;
+        }
+        elm_layout_theme_set(no_content, "layout", "nocontents", "text");
+        elm_object_part_text_set(no_content, "elm.text", dgettext(PACKAGE, "IDS_ST_BODY_NO_CONTENT"));
+        evas_object_size_hint_weight_set(no_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+        evas_object_show(no_content);
+
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "CERTIFICATE_SELECTION_SCREEN_TITLE"),
+                NULL,
+                NULL,
+                no_content,
+                NULL);
+    }
+    else {
+        for (i = 0; i < list_length; i++) {
+            elm_genlist_item_append(genlist, &itc, (void*) i, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, (void*) i);
+        }
+
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "CERTIFICATE_SELECTION_SCREEN_TITLE"),
+                NULL,
+                NULL,
+                genlist,
+                NULL);
+    }
+    elm_object_item_part_content_set(itm, "toolbar_button1", open_button);
+    elm_object_item_part_content_set(itm, "toolbar_button2", cancel_button);
+    elm_object_disabled_set(open_button, EINA_TRUE);
+
+    LOGD("end of cert_selection");
+}
diff --git a/data/icons/ManageApplications.png b/data/icons/ManageApplications.png
new file mode 100644 (file)
index 0000000..ff97a19
Binary files /dev/null and b/data/icons/ManageApplications.png differ
diff --git a/data/icons/ManageApplications_default.png b/data/icons/ManageApplications_default.png
new file mode 100644 (file)
index 0000000..4a46e4a
Binary files /dev/null and b/data/icons/ManageApplications_default.png differ
diff --git a/data/icons/com.samsung.mgr-app.png b/data/icons/com.samsung.mgr-app.png
new file mode 100755 (executable)
index 0000000..563dabb
Binary files /dev/null and b/data/icons/com.samsung.mgr-app.png differ
diff --git a/debian/changelog b/debian/changelog
new file mode 100755 (executable)
index 0000000..aa91c28
--- /dev/null
@@ -0,0 +1,47 @@
+cert-svc-ui (1.0.1-39) unstable; urgency=low
+
+  * Changed files location to /usr/ug/
+  * Fixed the UI to work with the New Winset (change in EFL - removed toolbar)
+  * Added localization in cert-svc-ui for Polish language
+
+  * Git : framework/security/cert-svc-ui
+
+ -- Tomasz Swierczek <t.swierczek@samsung.com>  Thu, 08 Nov 2012 11:11:00 +0100
+
+cert-svc-ui (1.0.1-38) unstable; urgency=low
+
+  * Fixed FC while installed PFX without email address.
+
+  * Git : framework/security/cert-svc-ui
+
+ -- Tomasz Swierczek <t.swierczek@samsung.com>  Wed, 24 Oct 2012 12:13:00 +0100
+
+cert-svc-ui (1.0.1-37) unstable; urgency=low
+
+  * Licence copied to proper location
+
+  * Git : framework/security/cert-svc-ui
+
+ -- Tomasz Swierczek <t.swierczek@samsung.com>  Mon, 22 Oct 2012 15:20:00 +0100
+
+cert-svc-ui (1.0.1-36) unstable; urgency=low
+
+  * Fixed bugs from PLM - visual issues
+  * Added manifest file
+
+  * Git : framework/security/cert-svc-ui
+  * Tag : cert-svc_1.0.1-36
+
+ -- Tomasz Swierczek <t.swierczek@samsung.com>  Fri, 05 Oct 2012 17:55:00 +0100
+
+cert-svc-ui (1.0.1-35) unstable; urgency=low
+
+  * Add /opt/etc/ssl/certs to trusted roots certificates.
+  * Remove "Uninstall" button from Trusted Root sub-menu.
+  * Add title in "Public Key" field.
+  * Add "NO_DATA" info to "Key Usage" if there's no info about key usage.
+
+  * Git : framework/security/cert-svc-ui
+  * Tag : cert-svc_1.0.1-35
+
+ -- Tomasz Swierczek <t.swierczek@samsung.com>  Fri, 21 Sep 2012 14:1:00 +0200
diff --git a/debian/changelog.app b/debian/changelog.app
new file mode 100755 (executable)
index 0000000..bc77315
--- /dev/null
@@ -0,0 +1,6 @@
+mgr-app (0.0.1-1) unstable; urgency=low
+
+  * first source package for building
+
+ -- ManHyun Hwang <mh222.hwang@samsung.com>  Thu, 30 JUN 2011 13:43:34 +0900
+
diff --git a/debian/changelog.ug b/debian/changelog.ug
new file mode 100755 (executable)
index 0000000..a6205af
--- /dev/null
@@ -0,0 +1,6 @@
+libug-setting-manage-application-efl (0.0.1-1) unstable; urgency=low
+
+  * first source package for building
+
+ -- ManHyun Hwang <mh222.hwang@samsung.com>  Thu, 30 JUN 2011 13:43:34 +0900
+
diff --git a/debian/com.samsung.mgr-app-0.install.in b/debian/com.samsung.mgr-app-0.install.in
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/debian/com.samsung.mgr-app-dbg.install.in b/debian/com.samsung.mgr-app-dbg.install.in
new file mode 100755 (executable)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/debian/com.samsung.mgr-app.desktop.in b/debian/com.samsung.mgr-app.desktop.in
new file mode 100755 (executable)
index 0000000..8be86fa
--- /dev/null
@@ -0,0 +1,24 @@
+Name=manage application
+Exec=${PREFIX}/bin/mgr-app
+Hidden=False
+Version=@VERSION@
+Type=Application
+X-TIZEN-TaskManage=True
+X-TIZEN-Multiple=False
+
+Name[en_US]=manage application
+Name[nl_NL]=manage application
+Name[de_DE]=manage application
+Name[zh_HK]=manage application
+Name[zh_CN]=manage application
+Name[ru_RU]=manage application
+Name[ko_KR]=manage application
+Name[zh_TW]=manage application
+Name[ja_JP]=manage application
+Name[es_ES]=manage application
+Name[el_GR]=manage application
+Name[it_IT]=manage application
+Name[tr_TR]=manage application
+Name[pt_PT]=manage application
+Name[fr_FR]=manage application
+
diff --git a/debian/com.samsung.mgr-app.postinst.in b/debian/com.samsung.mgr-app.postinst.in
new file mode 100755 (executable)
index 0000000..8c57239
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+# file owner
+if [ ${USER} == "root" ]
+then
+       echo "Test if"
+else
+       eche "Test else"
+fi
+
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100755 (executable)
index 0000000..a4d4ac5
--- /dev/null
@@ -0,0 +1,71 @@
+Source: cert-svc
+Section: libs
+Priority: extra
+Maintainer: KiDong Kim <kd0228.kim@samsung.com>
+Build-Depends: debhelper (>= 5),
+ libappcore-efl-dev,
+ autotools-dev,
+ libelm-dev,
+ libslp-setting-dev,
+ libui-gadget-dev,
+ libbundle-dev,
+ libaul-1-dev,
+ libefreet-dev,
+ libeina-dev,
+ shared-mime-info,
+# java-runtime-dev,
+ libail-0-dev,
+ libpkgmgr-client-dev,
+ libjava-parser-dev,
+ debhelper (>= 7.0.50), 
+ libssl-dev, 
+ dlog-dev, 
+ ca-certificates, 
+ wrt-commons-dev, 
+ libxmlsec1-dev, 
+ libsoup2.4-dev, 
+ libecore-dev, 
+ libxml2-dev, 
+ libpcre-dev, 
+ libslp-tapi-dev,
+ libappsvc-dev
+
+Package: libcert-svc1-ui
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libappsvc-dev
+Description: Manage Application package
+
+#Package: libug-setting-manage-application-efl-dbg
+#Section: debug
+#Architecture: any
+#Depends: ${shlibs:Depends}, ${misc:Depends}, libug-setting-manage-application-efl-0 (= ${binary:Version})
+#Description: Manage Application debug(unstripped) package
+
+Package: libcert-svc-dev
+Section: libdevel
+Architecture: any
+Depends: ${misc:Depends}, libcert-svc1 (= ${binary:Version}), libssl-dev, dlog-dev
+Description: Certification service development package
+
+Package: libcert-svc1
+Section: libs
+Architecture: any
+Provides: libcert-svc-0
+Replaces: libcert-svc-0
+Depends: ${shlibs:Depends}, ${misc:Depends}, sqlite3
+Description: Certification service library and executable
+
+Package: libcert-svc1-dbg
+Section: debug
+Architecture: any
+Provides: libcert-svc-dbg
+Replaces: libcert-svc-dbg
+Depends: ${misc:Depends}, libcert-svc1 (= ${binary:Version})
+Description: debug package of cert-svc library
+
+Package: libcert-svc1-test
+Section: libs
+Architecture: any
+Depends: ${misc:Depends}, ${shlibs:Depends}, libcert-svc1 (= ${binary:Version})
+Description: test program for cert-svc
diff --git a/debian/control.app b/debian/control.app
new file mode 100755 (executable)
index 0000000..b70bc27
--- /dev/null
@@ -0,0 +1,31 @@
+Source: mgr-app
+Section: libs
+Priority: extra
+Maintainer: SangJun Na <juni.na@samsung.com>, Manhyun Hwang <mh222.hwang@samsung.com>, Eunmi Son <eunmi.son@samsung.com>
+Build-Depends: debhelper (>= 5),
+ libappcore-efl-dev,
+ autotools-dev,
+ libelm-dev,
+ libslp-setting-dev,
+ libui-gadget-dev,
+ libbundle-dev,
+ libaul-1-dev,
+ libefreet-dev,
+ libeina-dev,
+ shared-mime-info,
+# java-runtime-dev,
+ libail-0-dev,
+ libpkgmgr-client-dev,
+ libjava-parser-dev
+
+Package: mgr-app-0
+Section: libs
+Architecture: armel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Manage Application package
+
+Package: mgr-app-dbg
+Section: debug
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, mgr-app-0 (= ${binary:Version})
+Description: Manage Application debug(unstripped) package
diff --git a/debian/control.ug b/debian/control.ug
new file mode 100755 (executable)
index 0000000..2084fb5
--- /dev/null
@@ -0,0 +1,31 @@
+Source: libug-setting-manage-application-efl
+Section: libs
+Priority: extra
+Maintainer: SangJun Na <juni.na@samsung.com>, Manhyun Hwang <mh222.hwang@samsung.com>, Eunmi Son <eunmi.son@samsung.com>
+Build-Depends: debhelper (>= 5),
+ libappcore-efl-dev,
+ autotools-dev,
+ libelm-dev,
+ libslp-setting-dev,
+ libui-gadget-dev,
+ libbundle-dev,
+ libaul-1-dev,
+ libefreet-dev,
+ libeina-dev,
+ shared-mime-info,
+# java-runtime-dev,
+ libail-0-dev,
+ libpkgmgr-client-dev,
+ libjava-parser-dev
+
+Package: libug-setting-manage-application-efl-0
+Section: libs
+Architecture: armel
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Manage Application package
+
+Package: libug-setting-manage-application-efl-dbg
+Section: debug
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, libug-setting-manage-application-efl-0 (= ${binary:Version})
+Description: Manage Application debug(unstripped) package
diff --git a/debian/libcert-svc-dev.install b/debian/libcert-svc-dev.install
new file mode 100644 (file)
index 0000000..a3d41f0
--- /dev/null
@@ -0,0 +1,3 @@
+/usr/include/*
+/usr/lib/pkgconfig/*
+/usr/lib/*.so
diff --git a/debian/libcert-svc1-test.install b/debian/libcert-svc1-test.install
new file mode 100644 (file)
index 0000000..f1becfa
--- /dev/null
@@ -0,0 +1,6 @@
+/usr/bin/cert-svc-test*
+/opt/apps/widget/tests/vcore_widget_uncompressed/*
+/opt/apps/widget/tests/vcore_keys/*
+/opt/apps/widget/tests/vcore_certs/*
+/opt/apps/widget/tests/pkcs12/*
+/opt/share/cert-svc/certs/code-signing/wac/root_cacert0.pem
diff --git a/debian/libcert-svc1-ui.install b/debian/libcert-svc1-ui.install
new file mode 100644 (file)
index 0000000..2b88b10
--- /dev/null
@@ -0,0 +1,7 @@
+/opt/ug/lib/libmgr-cert-common.so
+/opt/ug/lib/libmgr-cert-view.so
+/opt/ug/lib/libug-setting-manage-certificates-efl.so.*
+/opt/ug/lib/libug-setting-manage-certificates-efl.so
+/opt/ug/res/edje/ug-setting-manage-certificates-efl/
+/opt/ug/res/images/ug-setting-manage-certificates-efl/
+/opt/ug/res/locale/*/*/ug-setting-manage-certificates-efl.mo
diff --git a/debian/libcert-svc1.dirs b/debian/libcert-svc1.dirs
new file mode 100644 (file)
index 0000000..6fd0611
--- /dev/null
@@ -0,0 +1,15 @@
+/usr/share/cert-svc/ca-certs/code-signing/java/operator
+/usr/share/cert-svc/ca-certs/code-signing/java/manufacture
+/usr/share/cert-svc/ca-certs/code-signing/java/thirdparty
+/usr/share/cert-svc/ca-certs/code-signing/debian
+/usr/share/cert-svc/ca-certs/code-signing/wac
+/opt/share/cert-svc/certs/code-signing/java/operator
+/opt/share/cert-svc/certs/code-signing/java/manufacture
+/opt/share/cert-svc/certs/code-signing/java/thirdparty
+/opt/share/cert-svc/certs/code-signing/wac
+/opt/share/cert-svc/certs/sim/operator
+/opt/share/cert-svc/certs/sim/thirdparty
+/opt/share/cert-svc/certs/ssl
+/opt/share/cert-svc/certs/user
+/opt/share/cert-svc/certs/trusteduser
+/opt/share/cert-svc/certs/mdm/security/cert
diff --git a/debian/libcert-svc1.install b/debian/libcert-svc1.install
new file mode 100644 (file)
index 0000000..73f8c2f
--- /dev/null
@@ -0,0 +1,13 @@
+/usr/bin/cert_svc_create_clean_db.sh
+/usr/lib/*.so.*
+/usr/bin/dpkg-pki-sig
+/opt/share/cert-svc/targetinfo
+/usr/share/cert-svc/cert_svc_vcore_db.sql
+/usr/share/cert-svc/fingerprint_list.xml
+/usr/share/cert-svc/fingerprint_list.xsd
+/usr/share/cert-svc/schema.xsd
+/opt/share/cert-svc/certs/code-signing/wac/wac0.root.preproduction.pem
+/opt/share/cert-svc/certs/code-signing/wac/wac0.root.production.pem
+/opt/share/cert-svc/certs/code-signing/wac/wac0.publisherid.pem
+/opt/share/cert-svc/certs/code-signing/wac/tizen0.root.preproduction.cert.pem
+
diff --git a/debian/libcert-svc1.links b/debian/libcert-svc1.links
new file mode 100644 (file)
index 0000000..d422ef3
--- /dev/null
@@ -0,0 +1 @@
+/opt/etc/ssl/certs/ /usr/share/cert-svc/ca-certs/ssl
diff --git a/debian/libcert-svc1.postinst b/debian/libcert-svc1.postinst
new file mode 100755 (executable)
index 0000000..fef53d3
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/sh -e
+
+USE_CERT=6524
+
+case "$1" in
+    configure)
+    if [ `whoami` = "root" ]
+    then
+        chown -R root:${USE_CERT} /opt/share/cert-svc/certs/
+        chmod -R 0775 /opt/share/cert-svc/certs/
+    fi
+
+    if [ -z ${2} ]
+    then
+        echo "This is new install of wrt-security"
+        echo "Calling /usr/bin/cert_svc_create_clean_db.sh"
+        /usr/bin/cert_svc_create_clean_db.sh
+    else
+        # Find out old and new version of databases
+        VCORE_OLD_DB_VERSION=`sqlite3 /opt/dbspace/.cert_svc_vcore.db ".tables" | grep "DB_VERSION_"`
+        VCORE_NEW_DB_VERSION=`cat /usr/share/cert-svc/cert_svc_vcore_db.sql | tr '[:blank:]' '\n' | grep DB_VERSION_`
+        echo "OLD vcore database version ${VCORE_OLD_DB_VERSION}"
+        echo "NEW vcore database version ${VCORE_NEW_DB_VERSION}"
+
+        if [ ${VCORE_OLD_DB_VERSION} -a ${VCORE_NEW_DB_VERSION} ]
+        then
+            if [ ${VCORE_OLD_DB_VERSION} = ${VCORE_NEW_DB_VERSION} ]
+            then
+                echo "Equal database detected so db installation ignored"
+            else
+                echo "Calling /usr/bin/cert_svc_create_clean_db.sh"
+                /usr/bin/cert_svc_create_clean_db.sh
+            fi
+        else
+            echo "Calling /usr/bin/cert_svc_create_clean_db.sh"
+            /usr/bin/cert_svc_create_clean_db.sh
+        fi
+    fi
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..a9214ef
--- /dev/null
@@ -0,0 +1,130 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+ppTYPE ?= ugapp
+
+CFLAGS ?= -Wall -g
+LDFLAGS ?=
+ifneq (,$(findstring app,$(TYPE)))
+               PKGNAME ?= mgr-app
+               PREFIX ?= /opt/apps/mgr-app
+               RESDIR ?= /opt/apps/mgr-app/res
+               DATADIR ?= /opt/apps/mgr-app/data
+else
+               PKGNAME ?= libug-setting-manage-certificates-efl
+               PREFIX ?= /opt/ug
+               RESDIR ?= /opt/ug/res
+               DATADIR ?= /opt/ug/res/etc
+endif
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -O0 
+       BUILD_TYPE=Debug
+else
+       CFLAGS += -O2 
+       BUILD_TYPE=Release
+endif
+
+LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--as-needed
+
+CMAKE_BUILD_DIR ?= $(CURDIR)/cmake_build_tmp
+CMAKE_CERT_SVC_BUILD_DIR ?= $(CURDIR)/library
+
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       # Add here commands to configure the package.
+       cd $(CMAKE_CERT_SVC_BUILD_DIR) && cmake .
+       mkdir -p $(CMAKE_BUILD_DIR) && cd $(CMAKE_BUILD_DIR) && CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" cmake ../ui/ -DCMAKE_INSTALL_PREFIX="$(PREFIX)" -DCMAKE_BUILD_TYPE="$(BUILD_TYPE)" -DPKGNAME="$(PKGNAME)" -DTYPE="$(TYPE)"
+       touch $(CMAKE_BUILD_DIR)/configure-stamp
+       touch $(CMAKE_CERT_SVC_BUILD_DIR)/configure-stamp
+
+build: build-stamp
+build-stamp: configure-stamp
+       dh_testdir
+
+       # Add here commands to compile the package.
+       cd $(CMAKE_CERT_SVC_BUILD_DIR) && $(MAKE)
+       cd $(CMAKE_BUILD_DIR) && $(MAKE)
+    
+       for f in `find $(CURDIR)/debian/ -name "$(PREFIX)*.in"`; do \
+               cat $$f > $${f%.in}; \
+               sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \
+               sed -i -e "s#@RESDIR@#$(RESDIR)#g" $${f%.in}; \
+               sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \
+               sed -i -e "s#@PKGNAME@#$(PKGNAME)#g" $${f%.in}; \
+       done
+
+       touch $(CMAKE_BUILD_DIR)/$@
+       touch $(CMAKE_CERT_SVC_BUILD_DIR)/$@
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp configure-stamp
+
+    # Add here commands to clean up after the build process.
+       rm -rf $(CMAKE_BUILD_DIR)
+
+       for f in `find $(CURDIR)/debian/ -name "*.in"`; do \
+               rm -f $${f%.in}; \
+       done
+       dh_clean
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k 
+       dh_installdirs
+
+       cd $(CMAKE_BUILD_DIR) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+       cd $(CMAKE_CERT_SVC_BUILD_DIR) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       #dh_installchangelogs 
+       #dh_installdocs
+       #dh_installexamples
+       dh_install --sourcedir=debian/tmp
+       #dh_installmenu
+       #dh_installdebconf   
+       #dh_installlogrotate
+       #dh_installemacsen
+       #dh_installpam
+       #dh_installmime
+       #dh_python
+       #dh_installinit
+       #dh_installcron
+       #dh_installinfo
+       dh_installman
+       dh_link
+       #dh_strip --dbg-package=$(PKGNAME)-dbg
+       dh_compress
+       dh_fixperms
+       #dh_perl
+       dh_makeshlibs
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
+
diff --git a/packaging/cert-svc-ui.manifest b/packaging/cert-svc-ui.manifest
new file mode 100644 (file)
index 0000000..75b0fa5
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+    <request>
+        <domain name="_"/>
+    </request>
+</manifest>
diff --git a/packaging/cert-svc-ui.spec b/packaging/cert-svc-ui.spec
new file mode 100644 (file)
index 0000000..685d813
--- /dev/null
@@ -0,0 +1,72 @@
+#sbs-git:slp/pkgs/c/cert-svc cert-svc 1.0.1 ad7eb7efcefb37b06017c69cb2fc44e6f7b6cab7
+Name:    cert-svc-ui
+Summary: Certification service
+Version: 1.0.1
+Release: 47
+Group:   System/Libraries
+License: SAMSUNG
+Source0: %{name}-%{version}.tar.gz
+Source1: %{name}.manifest
+
+Requires(post):   /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+
+BuildRequires: cmake
+BuildRequires: gettext-tools
+BuildRequires: edje-tools
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(ail)
+BuildRequires: pkgconfig(appcore-efl)
+BuildRequires: pkgconfig(appsvc)
+BuildRequires: pkgconfig(cert-svc-vcore)
+BuildRequires: pkgconfig(aul)
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(edje)
+BuildRequires: pkgconfig(eina)
+BuildRequires: pkgconfig(elementary)
+BuildRequires: pkgconfig(evas)
+BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(ui-gadget-1)
+BuildRequires: pkgconfig(icu-i18n)
+BuildRequires: pkgconfig(bundle)
+BuildRequires: pkgconfig(ui-gadget-1)
+BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(glib-2.0)
+
+%description
+Certification service
+
+%prep
+%setup -q
+
+%define _ugdir /usr/ug
+
+%build
+%{!?build_type:%define build_type "Release"}
+cmake . -DCMAKE_INSTALL_PREFIX="%{_ugdir}" -DCMAKE_BUILD_TYPE=%{build_type} -DPKGNAME="cert-svc1-ui"
+#VERBOSE=1 make
+make
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE.APLv2 %{buildroot}/usr/share/license/%{name}
+%make_install
+install -D %{SOURCE1} %{buildroot}%{_datadir}/%{name}.manifest
+
+%clean
+rm -rf %{buildroot}
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%manifest %{_datadir}/%{name}.manifest
+%{_ugdir}/lib/libmgr-cert-view.so
+%{_ugdir}/lib/libug-setting-manage-certificates-efl.so.*
+%{_ugdir}/lib/libug-setting-manage-certificates-efl.so
+%{_ugdir}/lib/libug-cert-selection-ug-efl.so*
+%{_ugdir}/res/locale/*/LC_MESSAGES/*
+%{_datadir}/license/%{name}
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..0a78cc7
--- /dev/null
@@ -0,0 +1,26 @@
+SET(POFILES
+    ar.po  ca.po  de_DE.po  en.po     es_MX.po  fi.po     ga.po  hi.po  hy.po  it_IT.po  kk.po     lv.po  nb.po     pl.po     ro.po     sl.po  th.po     uz.po     zh_HK.po
+    az.po  cs.po  el_GR.po  en_US.po  et.po     fr_CA.po  gl.po  hr.po  id.po  ja_JP.po  ko_KR.po  mk.po  nl_NL.po  pt_BR.po  ru_RU.po  sr.po  tr_TR.po  vi.po     zh_SG.po
+    bg.po  da.po  en_PH.po  es_ES.po  eu.po     fr_FR.po  he.po  hu.po  is.po  ka.po     lt.po     ms.po  no.po     pt_PT.po  sk.po     sv.po  uk.po     zh_CN.po  zh_TW.po
+)
+
+SET(MSGFMT "/usr/bin/msgfmt")
+
+FOREACH(pofile ${POFILES})
+    SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+    MESSAGE("PO: ${pofile}")
+    GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+    GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+    SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+    ADD_CUSTOM_COMMAND(
+        OUTPUT ${moFile}
+        COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+        DEPENDS ${absPofile}
+    )
+    INSTALL(FILES ${moFile}
+        DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+    SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
diff --git a/po/ar.po b/po/ar.po
new file mode 100644 (file)
index 0000000..8f46038
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "الشهادات"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "النسخة:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "إلغاء التثبيت"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "المصنع"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "اختيار الكل"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "‏‫جهة الإصدار:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "تثبيت"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "الاسم المستعار موجود‬ بالفعل. أدخل ‏‫اسما مستعار‬ا فريدا"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "لا يمكن ترك الاسم المستعار فارغا"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "تم العثور على شهادات"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "تفاصيل الشهادة"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "معلومات الشهادة"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "المرجع المصدق:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "إدخال الاسم المستعار للمفتاح:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "إدخال كلمة المرور:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "الشهادات الخارجية"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "خطأ"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "تثبيت الشهادة"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "تثبيت الشهادات من بطاقة SD؟"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "استخدام المفتاح:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "المؤسسة:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "المالك:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "المفتاح العام:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "اختر الشهادة"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "حدد الشهادة المطلوب تثبيتها"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "الرقم التسلسلي:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "خوارزمية التوقيع:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "صحيح"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "الشهادات الجذر الموثوقة"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "شهادات المستخدم"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "صالح من:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "صالح حتى:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "فتح"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "الاسم الشائع:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "كلمة مرور غير صحيحة"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "بدون محتويات"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "لا توجد بيانات"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "لا"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "نعم"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "إلغاء"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "موافق"
+
diff --git a/po/az.po b/po/az.po
new file mode 100644 (file)
index 0000000..810e2c5
--- /dev/null
+++ b/po/az.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Sertifikatlar"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versiyası:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Quraşdırmanı ləğv et"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "İstehsalçı"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Hamısını seç"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emitent:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Yüklə"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Ad artıq mövcuddur. Unikal ad daxil edin"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Ad boş ola bilməz"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Sertifikatlar tapıldı"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sertifikat detalları"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Sertifikata dair məlumat"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Sertifikat üzrə səlahiyyətli orqan"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Kod adını daxil et:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Parolu daxil et:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Xarici sertifikatlar"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Saxta"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Sertifikatı quraşdır"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "SD kartdan sertifikatlar quraşdırılsın?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Düymənin istifadəsi:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Təşkilat:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Sahibi:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Ümumi kod:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Sertifikat seç"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Quraşdırmaq üçün sertifikat seç"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Seriya nömrəsi:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "İmza alqoritmi:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Doğru"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Etibarlı əsas sertifikat"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "İstifadəçi sertifikatları"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "...dan etibarlıdır:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Bu tarixə qədər qüvvədədir:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Aç"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Ümumi ad:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Yanlış şifrə"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Məzmun yoxdur"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Məlumat yoxdur"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Xeyr"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Bəli"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "İmtina"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/bg.po b/po/bg.po
new file mode 100644 (file)
index 0000000..8f3731c
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Сертификати"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Версия:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Деинсталиране"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Производител"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Избери всички"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Издател:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Инсталиране"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Псевдонимът вече съществува. Въведете уникален псевдоним"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Псевдонимът не може да е празен"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Намерени сертификати"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Детайли за сертификата"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Информация за сертификат"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Издател на сертификата:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Въведете псевдоним на ключ:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Въведете парола:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Външни сертификати"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Невярно"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Инсталиране на сертификат"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Инсталиране на сертификати от SD карта?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Предназначение на ключа:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Организация:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Собственик:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Публичен ключ:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Изберете сертификата"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Изберете сертификат за инсталиране"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Сериен номер:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Алгоритъм на подписа:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "false"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Надеждни главни сертификати"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Потребителски сертификати"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Валидно от:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Валидно до:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Отвори"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Общо име:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Грешна парола"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Няма съдържание"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Няма данни"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Не"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Да"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Отказ"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/ca.po b/po/ca.po
new file mode 100644 (file)
index 0000000..7c67f02
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificats"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versió:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Desinstal·lar"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricant"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Seleccioni-ho tot"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emissor:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instal·lar"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Ja existeix l'àlies. Introdueixi'n un d'únic"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "L'àlies no pot estar buit"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificats trobats"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detalls del certificat"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informació del certificat"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autoritat de certificació:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Introduir àlies de clau:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Introdueixi la contrasenya:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificats externs"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Fals"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instal·lar certificat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Instal·lar certificats de la targeta SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Ús de clau:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organització:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Propietari:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Clau pública:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Seleccioni el certificat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Seleccioni el certificat per instal·lar"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Número de sèrie:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algorisme de signatura:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Veritat"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificats arrel de confiança"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificats d'usuari"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Vàlid des de:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Vàlid fins a:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Obrir"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nom comú:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Contrasenya incorrecta"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No hi ha continguts"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Sense dades"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "No"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Sí"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "Acceptar"
+
diff --git a/po/cs.po b/po/cs.po
new file mode 100644 (file)
index 0000000..d943462
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certifikáty"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Verze:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Odinstalovat"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Výrobce"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Vybrat vše"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Vydavatel:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalovat"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias již existuje. Zadejte jedinečný alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias nesmí být prázdný"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Nalezeny certifikáty"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detaily certifikátu"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informace o certifikátu"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Certifikační autorita:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Zadejte klíčový alias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Zadejte heslo:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Externí certifikáty"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Nepravda"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalovat certifikát"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Instalovat certifikáty z SD karty?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Použití klíče:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizace:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Vlastník:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Veřejný klíč:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Vyberte certifikát"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Vyberte certifikát k instalaci"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Sériové číslo:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmus podpisu:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Ano"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Důvěryhodné kořenové certifikáty"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Uživatelské certifikáty"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Platí od:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Platí do:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Otevřít"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Běžný název:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Nesprávné heslo"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Žádný obsah"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Žádná data"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ne"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Ano"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Zrušit"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/da.po b/po/da.po
new file mode 100644 (file)
index 0000000..dbeffec
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certifikater"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Version:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Afinstallér"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Producent"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Vælg alle"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Udsteder:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installér"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias findes allerede. Indtast et unikt alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias kan ikke være tomt"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certifikater fundet"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Certifikatoplysninger"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Certifikatinformationer"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Certificeringsmyndighed:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Indtast nøglealias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Indtast adgangskode:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Eksterne certifikater"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falsk"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Installér certifikat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Installer certifikater fra SD-kort?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Nøglebrug:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisation:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Ejer:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Offentlig nøgle:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Vælg certifikat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Vælg certifikat at installere"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serienummer:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Signaturalgoritme:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Sandt"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Betroede rodcertifikater"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Brugercertifikater"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Gyldig fra:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Gyldig til:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Åben"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Fælles navn:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Forkert adgangskode"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Intet indhold"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Ingen data"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nej"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Ja"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Annullér"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/de_DE.po b/po/de_DE.po
new file mode 100644 (file)
index 0000000..9f44f07
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Zertifikate"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Version:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Deinstallieren"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Hersteller"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Alle auswählen"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Aussteller:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installieren"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias bereits vorhanden. Eindeutigen Alias eingeben."
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias darf nicht leer sein."
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Zertifikate gefunden"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Zertifikatsdetails"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Zertifikatsinformationen"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Zertifizierungsstelle:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Schlüsselalias eingeben:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Passwort eingeben:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Externe Zertifikate"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falsch"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Zertifikat installieren"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Zertifikate von SD-Karte installieren?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Schlüsselverwendung:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisation:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Besitzer:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Öffentlicher Schlüssel:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Zertifikat wählen"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Zertifikat für Installation auswählen"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Seriennummer:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Signatur-Algorithmus:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Wahr"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Vertrauenswürdige Root-Zertifikate"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Benutzerzertifikat"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Gültig ab:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Gültig bis:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Offen"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Allgemeiner Name:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Falsches Passwort"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Kein Inhalt"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Keine Daten"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nein"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Ja"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Abbrechen"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/el_GR.po b/po/el_GR.po
new file mode 100644 (file)
index 0000000..1aa2fd1
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Πιστοποιητικά"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Έκδοση:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Κατάργ. εγκατ."
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Κατασκευαστής"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Επιλογή όλων"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Εκδότης:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Εγκατάσταση"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Το ψευδώνυμο υπάρχει ήδη. Καταχωρίστε ένα μοναδικό ψευδώνυμο"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Το ψευδώνυμο δεν μπορεί να είναι κενό"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Βρέθηκαν πιστοποιητικά"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Λεπτομέρειες πιστοποιητικού"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Πληροφορίες πιστοποιητικού"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Αρχή πιστοποίησης:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Εισαγωγή ψευδώνυμου κλειδιού:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Εισαγωγή κωδικού πρόσβασης:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Εξωτερικά πιστοποιητικά"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Ψευδές"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Εγκατάσταση πιστοποιητικού"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Εγκατάσταση πιστοποιητικών από την κάρτα SD;"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Χρήση κλειδιού:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Οργανισμός:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Κάτοχος:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Δημόσιο κλειδί:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Επιλέξτε πιστοποιητικό"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Επιλέξτε πιστοποιητικό προς εγκατάσταση"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Σειριακός αριθμός:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Αλγόριθμος υπογραφής:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Αλήθεια"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Αξιόπιστα πιστοποιητικά ρίζας"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Πιστοποιητικά χρήστη"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Έγκυρο απο:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Ισχύει έως:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Άνοιγμα"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Κοινό όνομα:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Λάθος κωδικός"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Κανένα περιεχόμενο"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Δεν υπάρχουν δεδομένα"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Όχι"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Ναι"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Ακύρωση"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/en.po b/po/en.po
new file mode 100644 (file)
index 0000000..aa346f8
--- /dev/null
+++ b/po/en.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificates"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Version:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Uninstall"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Manufacturer"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Issuer:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Install"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias already exists. Enter a unique alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias cannot be empty"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificates found"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Certificate details"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Certificate information"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Certification authority:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Enter key alias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Enter password:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "External certificates"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "False"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Install certificate"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Install certificates from SD card?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Key usage:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisation:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Owner:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Public key:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Select certificate"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Select certificate to install"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Signature algorithm:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "True"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Trusted root certificates"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "User certificates"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Valid from:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Valid to:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Open"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Common name:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Incorrect password"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No content"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "No data"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "No"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Yes"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/en_PH.po b/po/en_PH.po
new file mode 100644 (file)
index 0000000..168ea2b
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificates"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Version:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Uninstall"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Manufacturer"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Issuer:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Install"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias already exists. Enter a unique alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias cannot be empty"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificates found"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Certificate details"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Certificate information"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Certification authority:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Enter key alias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Enter password:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "External certificates"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "False"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Install certificate"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Install certificates from SD card?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Key usage:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organization:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Owner:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Public key:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Select a certificate"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Select certificate to install"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Signature algorithm:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "True"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Trusted root certificates"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "User certificates"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Valid from:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Valid to:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Open"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Common name:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Incorrect password"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No contents"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "No data"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "No"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Yes"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/en_US.po b/po/en_US.po
new file mode 100644 (file)
index 0000000..28b945c
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificates"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Version:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Uninstall"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Manufacturer"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Select all"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Issuer:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Install"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias already exists. Enter a unique alias."
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias cannot be empty"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificates found"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Certificate details"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Certificate information"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Certification authority:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Enter key alias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Enter password:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "External certificates"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "False"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Install certificate"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Install certificates from SD card?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Key usage:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organization:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Owner:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Public key:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Select the certificate"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Select certificate to install"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Signature algorithm:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "True"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Trusted root certificates"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "User certificates"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Valid from:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Valid to:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Open"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Common name:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Incorrect password"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No contents"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "No data"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "No"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Yes"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/es_ES.po b/po/es_ES.po
new file mode 100644 (file)
index 0000000..2cf0831
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificados"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versión:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Desinstalar"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricante"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emisor:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalar"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Ya existe el alias. Introduzca uno único"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "El alias no puede estar vacío"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificados encontrados"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detalles de certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Información de certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autoridad de certificación:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Introduzca alias de clave:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Introduzca contraseña:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificados externos"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falso"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalar certificado"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "¿Instalar certificados desde tarjeta SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Uso de clave:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organización:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Propietario:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Clave pública:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Seleccione el certificado"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Seleccione el certificado que instalar"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Número de serie:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmo de firma:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Verdadero"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificados raíz de confianza"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificados de usuario"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Válido desde:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Válido hasta:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Abrir"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nombre común:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Contraseña incorrecta"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No hay contenido"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "No hay datos"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "No"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Sí"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/es_MX.po b/po/es_MX.po
new file mode 100644 (file)
index 0000000..0dafbd1
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificados"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versión:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Desinstalar"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricante"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emisor:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalar"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Este alias ya existe. Ingrese un alias único"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "El campo alias no puede estar vacío"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificados encontrados"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detalles de certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Información del certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autoridad de certificación:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Ingresar alias de clave:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Ingresar contraseña:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificados externos"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falso"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalar certificado"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "¿Instalar certificados desde la tarjeta SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Uso de la clave:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organización:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Propietario:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Clave pública:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Seleccione el certificado"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Seleccione el certificado para instalar"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Número de serie:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmo de firma:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Verdadero"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificados raíz de confianza"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificados de usuario"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Válido desde:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Válido hasta:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Abrir"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nombre común:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Contraseña incorrecta"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "No hay contenido"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "No hay datos"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "No"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Sí"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "Aceptar"
+
diff --git a/po/et.po b/po/et.po
new file mode 100644 (file)
index 0000000..f3bd181
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Sertifikaadid"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versioon:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Desinstalli"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Tootja"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Vali kõik"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Väljaandja:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installi"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias on juba olemas. Sisestage ainulaadne alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias ei tohi olla tühi"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Sertifikaadid leitud"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sertifikaadi üksikasjad"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Sertifikaadi teave"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Sertifitseerimiskeskus:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Sisestage võtme alias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Sisestage parool:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Välissertifikaadid"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Vale"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Installi sertifikaat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Kas installida sertifikaadid SD-kaardilt?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Võtmekasutus:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organsatsioon:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Omanik:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Avalik võti:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Valige sertifikaat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Valige sertifikaat, mida installida"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Seerianumber:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Allkirja algoritm:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Õige"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Usaldusväärsed juursertifikaadid"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Kasutajasertifikaadid"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Kehtiv alates:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Kehtiv kuni:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Ava"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Üldnimi:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Vale parool"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Sisusid ei ole"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Andmed puuduvad"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ei"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Jah"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Tühista"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/eu.po b/po/eu.po
new file mode 100644 (file)
index 0000000..dca83ce
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Ziurtagiriak"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Bertsioa:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Desinstalatu"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabrikatzailea"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Denak aukeratu"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Jaulkitzailea:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalatu"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Ezizena badago. Adierazi ezizen berdin gabea"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Ezizena ezin da hutsik utzi"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Ziurtagiriak aurkituta"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Ziurtagiriaren xehetasunak"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Ziurtagiri informazioa"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Ziurtapen agintea:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Adierazi gako ezizena:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Adierazi pasahitza:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Kanpo egiaztapenak"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Faltsua"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalatu ziurtagiria"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Instalatu ziurtagiriak SD txarteletik?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Gako erabilera:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Erakundea:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Jabea:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Gako publikoa:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Ziurtagiri bat aukeratu"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Hautatu ziurtagiria instalatzeko"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serie zenbakia:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Sinatzeko algoritmoa:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Benetakoa"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Erroko ziurtagiri fidagarriak"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Erabiltzaile ziurtagiriak"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Noiztik balioduna:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Noiz arte balioduna:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Ireki"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Ohiko izena:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Pasahitz okerra"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Ez dago edukirik"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Daturik ez"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ez"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Bai"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Ezeztatu"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "Ados"
+
diff --git a/po/fi.po b/po/fi.po
new file mode 100644 (file)
index 0000000..40a90e2
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Varmenteet"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versio:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Poista asennus"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Valmistaja"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Valitse kaikki"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Myöntäjä:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Asenna"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias on jo olemassa. Anna yksilöllinen alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias ei voi olla tyhjä"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Varmenteita löydetty"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sertifikaatin lisätiedot"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Varmenteen tiedot"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Varmenteen myöntäjä:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Anna avaimen alias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Anna salasana:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Ulkoiset varmenteet"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Epätosi"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Asenna varmenne"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Asennetaanko varmenteet SD-kortilta?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Avaimen käyttö:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisaatio:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Omistaja:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Julkinen avain:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Valitse sertifikaatti"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Valitse asennettava varmenne"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Sarjanumero:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Allekirjoitusalgoritmi:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Tosi"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Luotettavat päävarmenteet"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Käyttäjävarmenteet"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Voimassa alkaen:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Voimassa:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Avaa"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Yleinen nimi:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Virheellinen salasana"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Ei sisältöjä"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Ei tietoja"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ei"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Kyllä"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Peruuta"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/fr_CA.po b/po/fr_CA.po
new file mode 100644 (file)
index 0000000..5b42711
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificats"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Version :"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Désinstaller"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricant"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Sélectionner tout"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emetteur :"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installer"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "L'alias existe déjà. Saisissez un alias unique"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "L'alias doit être indiqué"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificats trouvés"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Détails du certificat"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informations sur le certificat"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autorité de certification :"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Entrez l'alias de la clé :"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Saisissez le mot de passe :"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificats externes"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Faux"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Installer le certificat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Installer les certificats depuis la carte SD ?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Utilisation de la clé :"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisation :"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Propriétaire :"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Clé publique :"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Sélectionner un certificat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Sélectionnez le certificat à installer"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "N° de série :"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algorithme de signature :"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Vrai"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificats de base fiables"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificats utilisateur"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Valide depuis :"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Valide jusqu'à :"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Open"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nom commun :"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Mot de passe incorrect"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Aucun contenu"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Aucune donnée"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Non"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Oui"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/fr_FR.po b/po/fr_FR.po
new file mode 100644 (file)
index 0000000..6136e96
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificats"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Version :"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Désinstaller"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricant"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Sélect. tout"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emetteur :"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installer"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "L'alias existe déjà. Saisissez un alias unique"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "L'alias doit être indiqué"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificats trouvés"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Détails du certificat"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informations sur le certificat"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autorité de certification :"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Entrez l'alias de la clé :"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Saisissez le mot de passe :"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificats externes"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Faux"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Installer le certificat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Installer les certificats depuis la carte SD ?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Utilisation de la clé :"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisation :"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Propriétaire :"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Clé publique :"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Sélectionner le certificat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Sélectionnez le certificat à installer"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "N° de série :"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algorithme de signature :"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Vrai"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificats de base fiables"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificats utilisateur"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Valide depuis :"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Valide jusqu'à :"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Ouvrir"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nom commun :"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Mot de passe incorrect"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Aucun fichier"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Aucun résultat"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Non"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Oui"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/ga.po b/po/ga.po
new file mode 100644 (file)
index 0000000..b1391d9
--- /dev/null
+++ b/po/ga.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Deimhnithe"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Leagan:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Díshuiteáil"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Déantúsóir"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Roghnaigh gach"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Eisitheoir:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Suiteáil"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Tá an t-ailias ann cheana. Iontráil ailias uathúil"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Ní féidir leis an ailias a bheith folamh"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Aimsíodh deimhnithe"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sonraí deimhnithe"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Faisnéis faoin dheimhniú"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Údarás deimhnithe:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Iontráil eochair an ailias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Iontráil pasfhocal:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Deimhnithe seachtracha"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Bréige"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Suiteálaí deimhniú"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Suiteáil deimhnithe ón gcárta SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Úsáid eochracha:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Eagraíocht:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Úinéir:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Eochair phoiblí:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Roghnaigh deimhniú amháin"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Roghnaigh deimhniú le suiteáil"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Sraithuimhir:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algartam sínithe:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Fíor"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Deimhnithe fréimhe iontaofa"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Deimhnithe úsáideora"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Bailí ó:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Bailí go dtí:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Oscail"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Ainm coitianta:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Pasfhocal mícheart"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Níl inneachar ann"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Níl sonraí ann"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ná déan é"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Déan é"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cuir ar ceal"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/gl.po b/po/gl.po
new file mode 100644 (file)
index 0000000..a9f9368
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificados"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versión:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Desinstalar"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricante"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Seleccionar todo"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emisor:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalar"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "O alcume xa existe. Insire un alcume único"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "O alcume non pode permanecer baleiro"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificados atopados"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detalles de certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Información do certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autoridade de certificación:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Introducir alcume de clave:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Insire o contrasinal:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificados externos"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falso"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalar certificado"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Desexas instalar certificados da tarxeta SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Uso da clave:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organización:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Propietario:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Clave pública:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Seleccione o certificado"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Selecciona un certificado para instalar"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Número de serie:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmo de sinatura:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Verdade"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificados raíz seguros"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificados de usuario"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Válido desde:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Válido ata:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Abrir"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nome común:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Contrasinal non válido"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Sen contidos"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Non hai datos"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Non"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Si"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "Aceptar"
+
diff --git a/po/he.po b/po/he.po
new file mode 100644 (file)
index 0000000..814a361
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,2 @@
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "אין תוכן"
diff --git a/po/hi.po b/po/hi.po
new file mode 100644 (file)
index 0000000..8eb71ae
--- /dev/null
+++ b/po/hi.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "प्रमाणपत्र"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "संस्करण:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "अनइंस्टॉल"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "निर्माता"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "सभी चुनें"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "जारीकर्ता:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "स्थापित करें"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "उपनाम पहले से मौजूद है। कोई विशिष्ट उपनाम दर्ज करें"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "उपनाम खाली नहीं छोड़ सकते हैं"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "प्रमाणपत्र मिले"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "प्रमाणपत्र विवरण"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "प्रमाणपत्र जानकारी"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "प्रमाणपत्र प्राधिकार:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "कुंजी उपनाम दर्ज करें:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "पासवर्ड दर्ज करें:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "बाह्य प्रमाणपत्र"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "ग़लत"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "प्रमाणपत्र स्थापित करें"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "SD कार्ड से प्रमाणपत्र स्थापित करें?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "कुंजी उपयोग:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "संगठन:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "स्वामी:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "सार्वजनिक कुंजी:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "प्रमाणपत्र चुनें"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "स्थापित करने के लिए प्रमाणपत्र चुनें"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "सीरियल नंबर:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "हस्ताक्षर एल्गोरिथम:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "सच"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "विश्वसनीय मूल प्रमाणपत्र"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "उपभोक्ता प्रमाणपत्र"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "से मान्य:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "इस पर मान्य:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "खोलें"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "सामान्य नाम:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "गलत पासवर्ड"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "कोई सामग्री नहीं"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "कोई डाटा नहीं"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "नहीं"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "हाँ"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "रद्द"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "ओके"
+
diff --git a/po/hr.po b/po/hr.po
new file mode 100644 (file)
index 0000000..cb89f59
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certifikati"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Verzija:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Deinstaliraj"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Proizvođač"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Odaberi sve"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Izdavatelj:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instaliraj"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias već postoji. Unesite jedinstveni alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias ne može ostati prazan"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Pronađene potvrde"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detalji o certifikatu"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Podaci potvrde"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Odgovornost za izdavanje potvrde:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Unesite alias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Unesite lozinku:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Vanjske potvrde"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Ne"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instaliraj potvrdu"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Instalirati potvrde s SD kartice?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Uporaba ključa:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizacija:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Vlasnik:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Javni ključ:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Odaberite certifikat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Odaberi potvrdu za instaliranje"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serijski broj:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritam potpisa:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Istinito"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Pouzdane potvrde"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Korisničke potvrde"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Vrijedi od:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Vrijedi do:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Otvori"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Zajednički naziv:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Neispravna šifra"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nema sadržaja"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Nema podataka"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ne"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Da"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Prekid"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "U redu"
+
diff --git a/po/hu.po b/po/hu.po
new file mode 100644 (file)
index 0000000..faaea11
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Tanúsítványok"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Verzió:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Eltávolítás"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Gyártó"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Összes kijelölése"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Kiállító:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Telepít"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Már van ilyen alias. Egyedi aliast adjon meg"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Az alias nem lehet üres"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Talált tanúsítványok"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Tanúsítvány adatai"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Tanúsítványadatok"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Hitelesítésszolgáltató:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Adja meg a kulcsaliast:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Adja meg a jelszót:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Külső tanúsítványok"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Hamis"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Tanúsítvány telepítése"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Telepíti a tanúsítványokat az SD-kártyáról?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Kulcs használata:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Szervezet:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Tulajdonos:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Nyilvános kulcs:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Válassza ki a tanúsítványt"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Válassza ki a telepíteni kívánt tanúsítványt"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Sorozatszám:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Aláírási algoritmus:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "true"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Megbízható főtanúsítványok"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Felhasználó tanúsítványai"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Érvényesség kezdete:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Érvényesség vége:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Megnyitás"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Köznapi név:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Téves jelszó"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nincs tartalomjegyzék"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Nincsenek adatok"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nem"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Igen"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Mégse"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/hy.po b/po/hy.po
new file mode 100644 (file)
index 0000000..2714483
--- /dev/null
+++ b/po/hy.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Վկայականներ"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Տարբերակ՝"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Ապատեղադրել"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Արտադրող"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Ընտրել բոլորը"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Թողարկող՝"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Տեղադրել"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Փոխանունն արդեն գոյություն ունի: Մուտքագրեք եզակի փոխանուն"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Փոխանունը չի կարող դատարկ լինել"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Վկայականներ են գտնվել"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Վկայականի տվյալները"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Վկայականի տվյալներ"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Վկայագրման կենտրոն՝"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Մուտքագրեք բանալու փոխանուն՝"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Մուտքագրեք գաղտնաբառ՝"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Արտաքին վկայականներ"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Կեղծ"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Տեղադրել վկայականը"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Տեղադրե՞լ վկայականներ SD քարտից:"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Բանալու օգտագործում՝"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Կազմակերպությունը՝"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Սեփականատեր՝"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Բաց բանալի՝"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Ընտրեք վկայականը"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Ընտրել տեղադրելու վկայականը"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Սերիական համար՝"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Ստորագրության ալգորիթմ՝"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Ստույգ"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Վստահելի արմատային վկայականներ"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Օգտվողի վկայականներ"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Վավեր է սկասած ...-ից"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Վավեր է մինչև՝"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Բացել"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Հասարակ անունը՝"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Սխալ գաղտնաբառ"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Պարունակության բացակայություն"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Տվյալներ չկան"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ոչ"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Այո"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Դադարեցնել"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/id.po b/po/id.po
new file mode 100644 (file)
index 0000000..1001709
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,3 @@
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "Tdk ada konten"
+
diff --git a/po/is.po b/po/is.po
new file mode 100644 (file)
index 0000000..7884658
--- /dev/null
+++ b/po/is.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Skírteini"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Útgáfa:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Fjarlægja"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Framleiðandi"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Velja allt"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Útgefandi:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Setja upp"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Samnefnið er þegar í notkun. Sláðu inn einkvæmt samnefni"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Samnefnið getur ekki verið autt"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Vottorð fundust"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Upplýsingar um skírteini"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Upplýsingar um vottorð"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Vottunaraðili:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Sláðu inn samnefni lykils:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Sláðu inn lykilorð:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Ytri vottorð"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Ósatt"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Setja upp vottorð"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Setja upp vottorð af SD-korti?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Notkun lykils:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Fyrirtæki:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Eigandi:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Almennur lykill:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Veldu vottorðið"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Veldu vottorð til að setja upp"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Raðnúmer:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algóritmi undirskriftar:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Rétt"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Traust rótarvottorð"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Notandavottorð"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Gildir frá:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Gildir til:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Opna"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Sameiginlegt nafn:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Rangt aðgangsorð"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Efni vantar"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Engin gögn"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nei"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Já"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Hætta við"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "Í lagi"
+
diff --git a/po/it_IT.po b/po/it_IT.po
new file mode 100644 (file)
index 0000000..84d144b
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificati"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versione:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Disinstalla"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Produttore"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Seleziona tutto"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emittente:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installa"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias già esistente. Immettere un alias univoco"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "L'alias non può essere vuoto"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificati trovati"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Dettagli certificato"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informazioni certificato"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autorità di certificazione:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Inserire chiave alias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Inserire password:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificati esterni"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falso"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Installa certificato"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Installare certificati dalla scheda SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Utilizzo chiave:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizzazione:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Proprietario:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Chiave pubblica:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Seleziona certificato"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Selezionare il certificato da installare"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Numero di serie:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmo di firma:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Vero"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificati fonte attendibile"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificati utente"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Valido da:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Valido fino a:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Apri"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nome comune:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Password errata"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nessun contenuto"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Nessun dato"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Annulla"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Sì"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Annulla"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/ja_JP.po b/po/ja_JP.po
new file mode 100644 (file)
index 0000000..da91efc
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "証明書"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "バージョン:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "削除"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "製造社"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "全て選択"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "発行者:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "インストール"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "エイリアスは既に存在します。他と重複しないエイリアスを入力してください。"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "エイリアスは空欄にできません。"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "証明書が見つかりました。"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "証明書​の​詳細"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "証明書情報"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "認証機関:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "キーエイリアスを入力:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "パスワードを入力:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "外部証明書"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "False"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "証明書をインストールしてください。"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "SDカードから証明書をインストールしますか?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "キー使用法:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "組織:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "所有者:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "公開キー:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "証明書を選択してください。"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "インストールする証明書を選択してください。"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "署名アルゴリズム:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "正"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "信頼されたルート証明書"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "ユーザー証明書"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "有効期限(開始):"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "有効期限:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "開く"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "共通名:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "不正なパスワードです。"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "コンテンツがありません。"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "データがありません。"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "いいえ"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "はい"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "キャンセル"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/ka.po b/po/ka.po
new file mode 100644 (file)
index 0000000..5fa9dde
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "სერთიფიკატები"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "ვერსია:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "დეინსტალაცია"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "მწარმოებელი"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "ყველას არჩევა"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "გამომცემელი:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "დაინსტალირება"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "ალიასი უკვე არსებობს. შეიყვანეთ უნიკალური ალიასი"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "ალიასი არ უნდა იყოს ცარიელი"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "ნაპოვნია სერტიფიკატები"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "სერთიფიკატის დეტალები"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "სერტიფიკატის ინფორმაცია"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "სერტიფიკატის გამცემი:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "შეიყვანეთ ძირითადი ალიასი:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "აკრიფეთ პაროლი:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "გარე სერტიფიკატები"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "მცდარი"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "დააინსტალირეთ სერთიფიკატი"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "დააინსტალირებთ სერტიფიკატებს SD ბარათიდან?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "კოდის გამოყენება:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "ორგანიზაცია:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "მფლობელი:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "საჯარო კოდი:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "აირჩიეთ სერთიფიკატი"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "აირჩიეთ დასაინსტალირებელი სერთიფიკატი"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "სერიული ნომერი:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "ხელმოწერის ალგორითმი:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "ჭეშმარიტი"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "სანდო ძირითადი სერთიფიკატები"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "მომხმარებლის სერთიფიკატი"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "ძალაში შესვლის დრო:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "ვარგისიანობის ვადა:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "გახსნა"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "საერთო სახელი:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "პაროლი არასწორია"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "შინაარსი ცარიელია"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "მონაცემები არ არის"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "არა"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "დიახ"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "გაუქმება"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/kk.po b/po/kk.po
new file mode 100644 (file)
index 0000000..dc946d0
--- /dev/null
+++ b/po/kk.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Сертификаттар"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Нұсқа:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Жою"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Дайындаушы"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Бәрін бөлектеу"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Беруші:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Орнату"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Лақап ат бұрыннан бар. Бірегей лақап атты енгізіңіз"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Лақап ат бос болмауы қажет"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Куәліктер табылды"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Сертификат туралы мәліметтер"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Куәлік туралы ақпарат"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Куәліктендіру орталығы:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Кілт лақап атын енгізіңіз:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Құпиясөзді енгізіңіз:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Сыртқы куәліктер"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Қате"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Куәлік орнату"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "SD картасынан куәліктер орнату керек пе?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Кілт қолданысы:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Ұйым:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Иесі:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Ашық кілт:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Сертификатты таңдау"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Орнатуға қажетті куәлікті таңдау"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Сериялық нөмірі:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Қол қою алгоритмі:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Шын"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Сенімді түбір куәліктер"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Пайдаланушы куәліктері"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Жарамды:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Көрсетілген мерзімге дейін жарамды:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Ашу"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Жалпы атауы:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Қате кілтсөз"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Мазмұн жоқ"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Деректер жоқ"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Жоқ"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Иә"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Бас тарту"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/ko_KR.po b/po/ko_KR.po
new file mode 100644 (file)
index 0000000..a46202d
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "인증서"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "버전:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "삭제"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "제조사"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "모두 선택"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "발급자:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "설치"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "사용 중인 대체 이름입니다. 고유한 대체 이름을 입력하세요"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "대체 이름을 입력하세요"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "인증서가 검색되었습니다"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "인증서 상세정보"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "인증서 정보"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "인증 기관:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "키 대체 이름 입력:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "비밀번호 입력:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "외부 인증서"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "거짓"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "인증서 설치"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "SD 카드에 있는 인증서를 설치할까요?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "키 용도:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "기관:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "소유자:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "공개 키:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "인증서를 선택하세요"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "설치할 인증서 선택"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "서명 알고리즘:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "진실"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "신뢰할 수 있는 루트 인증서"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "사용자 인증서"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "유효기간 시작일:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "유효기간 만료일:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "열기"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "일반 이름:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "비밀번호가 바르지 않습니다"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "내용이 없습니다"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "데이터가 없습니다"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "아니요"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "예"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "취소"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "확인"
+
diff --git a/po/lt.po b/po/lt.po
new file mode 100644 (file)
index 0000000..c771825
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Sertifikatai"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versija:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Pašalinti"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Gamintojas"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Pasirinkti viską"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Leidėjas:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Įdiegti"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alternatyvusis vardas jau yra. Įveskite unikalų alternatyvųjį vardą"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alternatyviojo vardo laukelis negali būti tuščias"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Sertifikatai rasti"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sertifikato informacija"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Sertifikato informacija"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Sertifikavimo įstaiga:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Įveskite rakto alternatyvųjį vardą:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Įveskite slaptažodį:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Išoriniai sertifikatai"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Neteisinga"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Įdiegti sertifikatą"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Įdiegti sertifikatus iš SD kortelės?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Rakto naudojimas:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizacija:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Savininkas:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Viešasis raktas:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Pasirinkite sertifikatą"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Pasirinkite norimą įdiegti sertifikatą"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serijos numeris:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Parašo algoritmas:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Tikr."
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Patikimi pagrindiniai sertifikatai"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Vartotojo sertifikatai"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Galioja nuo:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Galioja iki:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Atidaryti"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Bendrasis pavadinimas:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Neteisingas slaptažodis"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nėra turinio"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Duomenų nėra"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ne"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Taip"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Atšaukti"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "Gerai"
+
diff --git a/po/lv.po b/po/lv.po
new file mode 100644 (file)
index 0000000..376c67b
--- /dev/null
+++ b/po/lv.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Sertifikāti"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versija:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Atinstalēt"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Ražotājs"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Izv. visu"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Izdevējs:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalēt"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Aizstājvārds jau pastāv. Ievadiet unikālu aizstājvārdu"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Aizstājvārda lauks nevar būt tukšs"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Atrastie sertifikāti"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sertifikāta detaļas"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informācija par sertifikātu"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Sertificēšanas iestāde:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Ievadiet atslēgas aizstājvārdu:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Ievadiet paroli:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Ārējie sertifikāti"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Nepareizs"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalēt sertifikātu"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Vai instalēt sertifikātus no SD kartes?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Atslēgas lietojums:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizācija:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Īpašnieks:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Publiskā atslēga:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Izvēlēties sertifikātu"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Izvēlieties sertifikātu, lai instalētu"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Sērijas numurs:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Paraksta algoritms:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Patiess"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Uzticami saknes sertifikāti"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Lietotāju sertifikāti"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Derīgs no:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Derīgs līdz:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Atvērt"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Vispārējais nosaukums:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Nepareiza parole"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nav satura"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Nav datu"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nē"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Jā"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Atcelt"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "Labi"
+
diff --git a/po/mk.po b/po/mk.po
new file mode 100644 (file)
index 0000000..904f93f
--- /dev/null
+++ b/po/mk.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Сертификати"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Верзија:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Одинсталирај"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Производител"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Избери ги сите"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Издавач:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Инсталирај"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Прекарот веќе потои. Внесете единствен прекар"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Не може да биде без прекар"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Најдени се сертификати"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Детали за сертификатот"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Податоци за сертификатот"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Издавач на сертификатот:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Внесете прекар за клучот:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Внесете лозинка:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Надворешни сертификати"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Неточно"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Инсталирај сертификати"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Да се инсталираат сертификати од SD-картичка?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Употреба на клучот:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Организација:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Сопственик:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Јавна шифра:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Одберете сертификат"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Изберете сертификат за инсталирање"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Сериски број:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Алгоритам за потпис:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Точно"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Доверливи основни сертификати"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Кориснички сертификати"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Важи од:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Важи до:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Отвори"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Општо име:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Погрешна лозинка"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Нема содржини"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Нема податоци"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Не"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Да"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Откажи"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/ms.po b/po/ms.po
new file mode 100644 (file)
index 0000000..d455b7b
--- /dev/null
+++ b/po/ms.po
@@ -0,0 +1,3 @@
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "Tiada kandungan"
+
diff --git a/po/nb.po b/po/nb.po
new file mode 100644 (file)
index 0000000..82ccd87
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Sertifikater"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versjon:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Avinstaller"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Produsent"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Merk alt"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Utgiver:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installer"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Aliaset finnes allerede. Angi et unikt alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias kan ikke stå tomt"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Sertifikater funnet"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sertifikatdetaljer"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Sertifikatinformasjon"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Sertifiseringsautoritet:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Angi nøkkelalias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Skriv inn passord:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Eksterne sertifikater"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Usann"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Installer sertifikat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Installere sertifikater fra SD-kort?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Nøkkelbruk:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisasjon:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Eier:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Offentlig nøkkel:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Velg sertifikatet"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Velg hvilket sertifikat du vil installere"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serienummer:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Signaturalgoritme:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Sann"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Klarerte rotsertifikater"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Brukersertifikater"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Gyldig fra:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Gyldig til:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Åpne"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Felles navn:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Feil passord"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Ikke noe innhold"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Ingen data"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nei"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Ja"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/nl_NL.po b/po/nl_NL.po
new file mode 100644 (file)
index 0000000..3f138fc
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificaten"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versie:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Verwijderen"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabrikant"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Alles selecteren"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Uitgever:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installeren"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias bestaat al. Geef een unieke alias op"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias kan niet leeg zijn"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificaten gevonden"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Certificaatdetails"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Certificaatgegevens"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Certificeringsinstantie:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Sleutelalias invoeren:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Wachtwoord invoeren:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Externe certificaten"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Onwaar"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Certificaat installeren"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Certificaten van SD-kaart installeren?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Sleutelgebruik:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisatie:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Eigenaar:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Openbare sleutel:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Selecteer het certificaat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Selecteer certificaat om te installeren"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serienummer:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Handtekeningalgoritme:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Waar"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Vertrouwde hoofdcertificaten"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Gebruikerscertificaten"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Geldig vanaf:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Geldig tot:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Openen"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Algemene naam:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Onjuist wachtwoord"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Geen inhoud"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Geen gegevens"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nee"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Ja"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Annul."
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/no.po b/po/no.po
new file mode 100644 (file)
index 0000000..6c0df30
--- /dev/null
+++ b/po/no.po
@@ -0,0 +1,3 @@
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "Ikke noe innhold"
+
diff --git a/po/pl.po b/po/pl.po
new file mode 100644 (file)
index 0000000..467c2dd
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certyfikaty"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Wersja:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Odinstaluj"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Producent"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Zaznacz wszystko"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Wystawca:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instaluj"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Alias już istnieje. Wprowadź unikalny alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias nie może być pusty"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Znalezione certyfikaty"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Szczegóły certyfikatu"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informacje o certyfikacie"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Urząd certyfikacji:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Wprowadź alias klucza:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Wprowadź hasło:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certyfikaty zewnętrzne"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Fałsz"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Zainstaluj certyfikat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Zainstalować certyfikaty z karty pamięci?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Wykorzystanie klucza:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizacja:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Właściciel:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Klucz publiczny:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Wybierz certyfikat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Wybierz certyfikat do zainstalowania"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Numer seryjny:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algorytm podpisywania:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "true"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certyfikaty zaufanego głównego urzędu"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certyfikaty użytkownika"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Ważny od:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Ważny do:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Otwórz"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Używana nazwa:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Błędne hasło"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Brak zawartości"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Brak danych"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nie"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Tak"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Anuluj"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644 (file)
index 0000000..c89f432
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificados"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versão:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Desinstalar"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricante"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Selecionar tudo"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emissor:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalar"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "O cognome já existe. Insira um cognome exclusivo"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "O cognome não pode estar vazio"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificados encontrados"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detalhes do certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informações do certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autoridade de certificação:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Insira o cognome da chave:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Insira a senha:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificados externos"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falso"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalar certificado"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Instalar certificados do cartão SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Uso da chave:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organização:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Proprietário:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Chave pública:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Selecione o certificado"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Selecionar o certificado para instalação"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Número de série:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmo de assinatura:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Verdade"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificados de raiz confiáveis"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificados do usuário"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Válido de:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Válido até:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Abrir"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nome comum:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Senha incorreta"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Sem conteúdo"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Nenhum Resultado"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Não"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Sim"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/pt_PT.po b/po/pt_PT.po
new file mode 100644 (file)
index 0000000..07aced1
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificados"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versão:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Desinstalar"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricante"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Selec. tudo"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emissor:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalar"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Pseudónimo já existe. Introduza um pseudónimo único"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "O pseudónimo não pode estar vazio"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificados encontrados"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detalhes do certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informação do certificado"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autoridade de certificação:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Introduzir pseudónimo principal:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Introduzir palavra-passe:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificados externos"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falso"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalar certificado"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Instalar certificados do cartão SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Utilização do código:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organização:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Proprietário:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Código público:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Seleccione o certificado"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Seleccionar certificado para instalar"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Número de série:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmo de assinatura:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Verdadeiro"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificados raiz fidedignos"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificados de utilizador"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Válido de:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Válido até:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Aberta"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nome comum:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Palavra-passe incorrecta"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Sem conteúdo"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Nenhuns dados"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Não"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Sim"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/ro.po b/po/ro.po
new file mode 100644 (file)
index 0000000..06f7012
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certificate"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versiune:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Dezinstalare"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Fabricant"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Selectare toate"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emitent:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instalare"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Aliasul există deja. Introduceţi un alias unic"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Aliasul nu poate fi necompletat"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certificate găsite"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detalii certificat"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informaţii certificat"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Autoritate de certificare:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Introduceţi aliasul cheie:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Introduceţi parola:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Certificate externe"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Fals"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instalare certificat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Instalaţi certificate de pe cardul SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Utilizare cheie:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizaţie:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Deţinător:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Cheie publică:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Selectaţi certificatul"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Selectaţi certificatul de instalat"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Număr serie:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmul semnăturii:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Adevărat"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Certificate rădăcină de încredere"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certificate utilizator"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Valid de la:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Valid pentru:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Deschidere"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Nume comun:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Parolă incorectă"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Conţinuturi inexistente"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Nu există date"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nu"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Da"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Anulare"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/ru_RU.po b/po/ru_RU.po
new file mode 100644 (file)
index 0000000..0920286
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Сертификаты"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Версия:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Удалить"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Изготовитель"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Выбрать все"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Издатель:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Установить"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Такой псевдоним уже существует. Введите уникальный псевдоним"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Поле псевдонима не может быть пустым"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Обнаруженные сертификаты"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Сведения о сертификате"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Сведения о сертификате"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Центр сертификации:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Введите псевдоним ключа:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Введите пароль:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Внешние сертификаты"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Ложь"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Установить сертификат"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Установить сертификаты с карты памяти SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Использование ключа:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Организация:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Владелец:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Открытый ключ:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Выберите сертификат"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Выберите сертификат для установки"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Серийный номер:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Алгоритм подписи:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Действителен"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Доверенные корневые сертификаты"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Сертификаты пользователей"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Действителен с:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Действителен для:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Открыть"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Имя:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Неправильный пароль"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Нет содержимого"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Нет данных"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Нет"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Да"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Отмена"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "ОК"
+
diff --git a/po/sk.po b/po/sk.po
new file mode 100644 (file)
index 0000000..a0c659c
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certifikáty"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Verzia:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Odinštalovať"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Výrobca"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Vybrať všetky"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Vydavateľ:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Inštalovať"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Pseudonym už existuje. Zadajte jedinečný pseudonym"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Pseudonym nemôže byť prázdny"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Našli sa certifikáty"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Detaily certifikátu"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informácie o certifikáte"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Certifikačný úrad:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Zadajte pseudonym kľúča:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Zadajte heslo:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Externé certifikáty"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Nepravda"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Inštalovať certifikát"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Inštalovať certifikáty z karty SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Použitie kľúča:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizácia:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Vlastník:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Verejný kľúč:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Vyberte certifikát"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Vyberte certifikát, ktorý chcete nainštalovať"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Sériové číslo:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritmus podpisu:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Áno"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Dôveryhodné koreňové certifikáty"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Používateľské certifikáty"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Platnosť od:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Platnosť do:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Otvoriť"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Všeobecný názov:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Nesprávne heslo"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Žiadny obsah"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Žiadne údaje"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nie"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Áno"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Zrušiť"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/sl.po b/po/sl.po
new file mode 100644 (file)
index 0000000..bca4616
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certifikati"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Različica:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Odstrani"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Proizvajalec"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Izberi vse"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Izdajatelj:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Namesti"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Vzdevek že obstaja. Izberite enoličen vzdevek"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Vzdevek ne sme biti prazen"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certifikati so najdeni"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Podrobnosti certifikata"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Podatki o certifikatu"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Overovitelj certifikata:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Vnesite ključ vzdevka:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Vnesite geslo:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Zunanji certifikati"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Napačno"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Namesti certifikat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Želite namestiti certifikate iz kartice SD?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Uporaba ključa:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizacija:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Lastnik:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Javni ključ:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Izberite certifikat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Izberite certifikat za namestitev"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serijska številka:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritem podpisa:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Resnično"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Zaupanja vredni korenski certifikati"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Certifikati uporabnika"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Veljavno od:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Veljavno do:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Odpri"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Skupno ime:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Napačno geslo"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Ni vsebine"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Ni podatkov"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ne"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Da"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Prekliči"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "V redu"
+
diff --git a/po/sr.po b/po/sr.po
new file mode 100644 (file)
index 0000000..cf86921
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Sertifikati"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Verzija:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Deinstaliraj"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Proizvođač"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Izaberi sve"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Izdavač:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Instaliraj"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Pseudonim već postoji. Unesi jedinstven pseudonim"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Pseudonim ne sme biti prazno polje"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Pronađeni sertifikati"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Podaci o certifikatu"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Informacije o sertifikatima"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Institucije za izdavanje sertifikata:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Unesi ključni pseudonim:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Unesi lozinku:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Eksterni sertifikati"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Pogrešno"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Instaliraj sertifikat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Instalirati sertifikate sa SD kartice?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Upotreba ključa:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizacija:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Vlasnik:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Javni ključ:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Izaberi sertifikat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Izaberi sertifikat koji može da se instalira"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serijski broj:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Algoritam potpisa:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Tačno"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Pouzdani osnovni sertifikati"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Korisnički sertifikati"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Važi od:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Važi do:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Otvori"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Zajedničko ime:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Pogrešna šifra"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Nema sadržaja"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Nema podataka"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ne"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Da"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Otkaži"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/sv.po b/po/sv.po
new file mode 100644 (file)
index 0000000..179c740
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Certifikat"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Version:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Avinstallera"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Tillverkare"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Välj alla"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Utfärdare:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Installera"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Detta alias finns redan. Ange ett unikt alias"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Alias kan inte vara tomt"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Certifikat hittades"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Certifikatinformation"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Certifikatinformation"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Certifikatutfärdare:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Ange nyckelalias:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Ange lösenord:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Externa certifikat"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Falsk"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Installera certifikat"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Installera certifikat från SD-kort?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Nyckelanvändning:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organisation:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Ägare:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Offentlig nyckel:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Välj ett certifikat"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Välj certifikat att installera"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serienummer:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Signaturalgoritm:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Rätt"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Tillförlitliga rotcertifikat"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Användarcertifikat"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Giltig från:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Giltig för:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Öppna"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Allmänt namn:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Fel lösenord"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Inget innehåll"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Inga data"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Nej"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Ja"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/th.po b/po/th.po
new file mode 100644 (file)
index 0000000..b1e96a8
--- /dev/null
+++ b/po/th.po
@@ -0,0 +1,3 @@
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "ไม่​มี​คอน​เทนท์"
+
diff --git a/po/tr_TR.po b/po/tr_TR.po
new file mode 100644 (file)
index 0000000..6cb326b
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Sertifikalar"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Sürüm:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Kaldır"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Üretici"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Hepsini seç"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Düzenleyici:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Kur"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Takma ad zaten var. Benzersiz bir takma ad seçin"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Takma ad boş bırakılamaz"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Sertifikalar bulundu"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sertifika detayları"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Sertifika bilgileri"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Sertifikasyon yetkisi:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Anahtar takma adını girin:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Şifreyi girin:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Harici sertifikalar"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Yanlış"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Sertifika yükle"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Sertifikalar SD kartından yüklensin mi?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Anahtar kullanımı:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Organizasyon:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Sahibi:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Genel anahtar:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr " Sertifika seç"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Yüklenecek sertifikayı seçin"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Seri numarası:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "İmza algoritması:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Doğru"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Güvenilir kök sertifikalar"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Kullanıcı sertifikaları"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "İlk geçerlilik tarihi:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Son geçerlilik tarihi:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Aç"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Ortak isim:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Yanlış şifre"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "İçerik yok"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Bulunamadı"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Hayır"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Evet"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "İptal"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "Tamam"
+
diff --git a/po/uk.po b/po/uk.po
new file mode 100644 (file)
index 0000000..bf21978
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Сертифікати"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Версія:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Видалити"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Виробник"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Вибрати всі"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Постачальник сертифікату:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "Встановити"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Коротке ім’я вже існує. Введіть унікальне вигадане ім’я"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Вигадане ім’я не може бути пустим"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Знайдено сертифікати"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Деталі сертифіката"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Відомості щодо сертифікату"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Орган сертифікації:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Введіть ключове коротке ім'я:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Введіть пароль:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Зовнішні сертифікати"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Хибний"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Інсталювати сертифікат"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "Інсталювати сертифікати з карти пам’яті?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Використання ключа:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Організація:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Власник:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Відкритий ключ:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Виберіть сертифікат"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "Виберіть сертифікат для інсталяції"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Серійний номер:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Алгоритм підпису:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Реальний час"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Довірені кореневі сертифікати"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Сертифікати користувача"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Дійсно з:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Дійсний до:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Відкрити"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Загальне ім’я:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Хибний пароль"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Немає вмісту"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Немає даних"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Ні"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Так"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Скасувати"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/uz.po b/po/uz.po
new file mode 100644 (file)
index 0000000..6a6a605
--- /dev/null
+++ b/po/uz.po
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "Sertifikatlar"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "Versiya:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "Olib tashlash"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "Ishlab chiqaruvchi"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "Barchasini tanlash"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "Emitent:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "O‘rnatish"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "Taxallus oldindan mavjud. Unikal taxallus kiriting"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "Taxallus bo‘sh bo‘lishi mumkin emas"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "Sertifikatlar topildi"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "Sertifikat tafsilotlari"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "Sertifikat ma’lumoti"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "Sertifikatlash markazi:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "Kalit taxallusini kiriting:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "Parol kiriting:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "Tashqi sertifikatlar"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "Yolg‘on"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "Sertifikatni o‘rnatish"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "SD-kartadan sertifikatlar o‘rnatilsinmi?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "Kalitdan foydalanish:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "Tashkilot:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "Egasi:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "Umumiy kalit:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "Sertifikat tanlang"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "O‘rnatiladigan sertifikatni tanlang"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "Imzo algoritmi:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "Haqiqat"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "Ishonchli ildiz sertifikatlari"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "Foydalanuvchi sertifikatlari"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "Quyidagidan foydalanish mumkin:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "Quyidagigacha foydalanish mumkin:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "Ochish"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "Umumiy nomi:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "Noto‘g‘ri parol"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "Tarkib yo‘q"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "Ma’lumotlar yo‘q"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "Yo‘q"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "Ha"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "Bekor qilish"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "OK"
+
diff --git a/po/vi.po b/po/vi.po
new file mode 100644 (file)
index 0000000..160e92e
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,3 @@
+msgid "IDS_COM_BODY_NO_CONTENTS"
+msgstr "Không nội dung"
+
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644 (file)
index 0000000..3f1375d
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "证书"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "版本:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "卸载"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "制造商"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "全选"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "颁发者:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "安装"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "别名已存在。输入唯一假名"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "假名无法为空"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "已找到证书"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "证书详情"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "证书信息"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "认证机构:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "输入密钥别名:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "输入密码:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "外部证书"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "假"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "安装证书"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "是否从 SD 卡安装证书?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "密钥使用:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "组织:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "所有者:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "公开密钥:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "选择证书"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "选择要安装的证书"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "签名算法:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "正确"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "信任根证书"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "用户证书"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "生效日期:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "有效期:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "打开"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "公用名:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "密码错误"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "无内容"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "无数据"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "否"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "是"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "取消"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "确定"
+
diff --git a/po/zh_HK.po b/po/zh_HK.po
new file mode 100644 (file)
index 0000000..e3c9252
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "證書"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "版本:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "解除安裝"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "製造商"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "選擇全部"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "發行者:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "安裝"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "別名已存在。輸入一個獨特的別名"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "別名不可為空白"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "已找到證書"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "證書詳情"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "證書資訊"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "證書授權:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "輸入金鑰別名:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "輸入密碼:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "外部證書"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "偽"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "安裝證書"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "從 SD 卡安裝證書嗎?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "金鑰使用量:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "機構:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "擁有者:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "公開金鑰:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "選擇證書"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "選擇要安裝的證書"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "簽章演算法:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "正確"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "信任的根憑證"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "用戶證書"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "有效期由:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "有效期至:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "開啟"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "一般名稱:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "密碼不正確"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "無內容"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "無數據"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "否"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "是"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "取消"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "確認"
+
diff --git a/po/zh_SG.po b/po/zh_SG.po
new file mode 100644 (file)
index 0000000..8490e2f
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "证书"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "版本:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "卸载"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "制造商"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "全选"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "颁发者:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "安装"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "别名已存在。输入唯一假名"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "假名无法为空"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "已找到证书"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "证书详情"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "证书信息"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "认证机构:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "输入密钥别名:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "输入密码:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "外部证书"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "假"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "安装证书"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "是否从 SD 卡安装证书?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "密钥使用:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "组织:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "所有者:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "公开密钥:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "选择证书"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "选择要安装的证书"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "签名算法:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "正确"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "信任根证书"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "用户证书"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "生效日期:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "有效期:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "打开"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "公用名:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "密码不正确"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "无内容"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "无数据"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "否"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "是"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "取消"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "确定"
+
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644 (file)
index 0000000..75b4a9e
--- /dev/null
@@ -0,0 +1,123 @@
+msgid "IDS_ST_BODY_CERTIFICATES"
+msgstr "憑證"
+
+msgid "IDS_ST_BODY_VERSION_C"
+msgstr "版本:"
+
+msgid "IDS_ST_BUTTON_UNINSTALL"
+msgstr "解除安裝"
+
+msgid "IDS_ST_BODY_MANUFACTURER"
+msgstr "製造商"
+
+msgid "IDS_ST_BODY_SELECT_ALL"
+msgstr "全選"
+
+msgid "IDS_ST_BODY_ISSUER_COLON"
+msgstr "發行者:"
+
+msgid "IDS_ST_BUTTON_INSTALL"
+msgstr "安裝"
+
+msgid "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"
+msgstr "別名已存在。輸入一個獨特的別名"
+
+msgid "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"
+msgstr "別名不可為空白"
+
+msgid "IDS_ST_BODY_CERTIFICATES_FOUND"
+msgstr "已找到證書"
+
+msgid "IDS_ST_BODY_CERTIFICATE_DETAILS"
+msgstr "憑證詳細資料"
+
+msgid "IDS_ST_BODY_CERTIFICATE_INFORMATION"
+msgstr "證書資訊"
+
+msgid "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C"
+msgstr "證書授權:"
+
+msgid "IDS_ST_BODY_ENTER_KEY_ALIAS_C"
+msgstr "輸入金鑰別名:"
+
+msgid "IDS_ST_BODY_ENTER_PASSWORD_C"
+msgstr "輸入密碼:"
+
+msgid "IDS_ST_BODY_EXTERNAL_CERTIFICATES"
+msgstr "外部證書"
+
+msgid "IDS_ST_BODY_FALSE"
+msgstr "假"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATE"
+msgstr "安裝憑證"
+
+msgid "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"
+msgstr "從 SD 卡安裝證書嗎?"
+
+msgid "IDS_ST_BODY_KEY_USAGE_C"
+msgstr "金鑰使用量:"
+
+msgid "IDS_ST_BODY_ORGANISATION_C"
+msgstr "組織:"
+
+msgid "IDS_ST_BODY_OWNER_C"
+msgstr "擁有者:"
+
+msgid "IDS_ST_BODY_PUBLIC_KEY_C"
+msgstr "公開金鑰:"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE"
+msgstr "請選擇憑證"
+
+msgid "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"
+msgstr "選擇要安裝的證書"
+
+msgid "IDS_ST_BODY_SERIAL_NUMBER_C"
+msgstr "Serial number:"
+
+msgid "IDS_ST_BODY_SIGNATURE_ALGORITHM_C"
+msgstr "簽章演算法:"
+
+msgid "IDS_ST_BODY_TRUE"
+msgstr "正確"
+
+msgid "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"
+msgstr "信任的根憑證"
+
+msgid "IDS_ST_BODY_USER_CERTIFICATES"
+msgstr "使用者憑證"
+
+msgid "IDS_ST_BODY_VALID_FROM_C"
+msgstr "生效時間:"
+
+msgid "IDS_ST_BODY_VALID_TO_C"
+msgstr "有效期至:"
+
+msgid "IDS_ST_BUTTON_OPEN"
+msgstr "開啟"
+
+msgid "IDS_ST_BODY_COMMON_NAME_C"
+msgstr "一般名稱:"
+
+msgid "IDS_ST_BODY_INCORRECT_PASSWORD"
+msgstr "密碼不正確"
+
+msgid "IDS_ST_BODY_NO_CONTENT"
+msgstr "無內容"
+
+msgid "IDS_ST_BODY_NO_DATA"
+msgstr "無資料"
+
+msgid "IDS_ST_BUTTON_NO"
+msgstr "否"
+
+msgid "IDS_ST_BUTTON_YES"
+msgstr "是"
+
+msgid "IDS_ST_SK2_CANCEL"
+msgstr "取消"
+
+msgid "IDS_ST_SK2_OK"
+msgstr "確認"
+
diff --git a/ug/CMakeLists.txt b/ug/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..fd858e0
--- /dev/null
@@ -0,0 +1,38 @@
+pkg_check_modules(ug-setting-manage-certificates-efl_pkgs
+    REQUIRED
+    elementary
+    ui-gadget-1
+    evas
+    dlog
+    dpl-dbus-efl
+    cert-svc-vcore
+)
+
+SET(SRCS
+    src/mgr-app-uigadget.c
+)
+
+SET(CMAKE_INSTALL_RPATH "${PREFIX}/lib")
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/ug/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/common/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/view/include)
+INCLUDE_DIRECTORIES(${ug-setting-manage-certificates-efl_pkgs_INCLUDE_DIRS})
+
+ADD_DEFINITIONS(${ug-setting-manage-certificates-efl_pkgs_DEPS_CFLAGS})
+ADD_DEFINITIONS(${ug-setting-manage-certificates-efl_pkgs_DEPS_OTHER})
+
+ADD_LIBRARY(${TARGET_CERT_MANAGER_UG} SHARED ${SRCS})
+SET_TARGET_PROPERTIES(${TARGET_CERT_MANAGER_UG} PROPERTIES SOVERSION 0.1.0)
+
+TARGET_LINK_LIBRARIES(${TARGET_CERT_MANAGER_UG}
+    ${ug-setting-manage-certificates-efl_pkgs_LIBRARIES}
+    ${ug-setting-manage-certificates-efl_pkgs_LDFLAGS}
+    ${TARGET_CERT_VIEW}
+)
+
+INSTALL(TARGETS
+    ${TARGET_CERT_MANAGER_UG}
+    DESTINATION
+    ${LIBDIR}
+)
diff --git a/ug/include/mgr-app-uigadget.h b/ug/include/mgr-app-uigadget.h
new file mode 100755 (executable)
index 0000000..46d2af9
--- /dev/null
@@ -0,0 +1,83 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        mgr-app-uigadget.h
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#ifndef __UG_SETTING_MANAGE_CERTIFICATES_EFL_H__
+#define __UG_SETTING_MANAGE_CERTIFICATES_EFL_H__
+
+#include <Elementary.h>
+#include <ui-gadget.h>
+#include <ui-gadget-module.h>
+#include <glib.h>
+#include <app.h>
+#include <cert-svc/cinstance.h>
+
+#ifndef PACKAGE
+#define PACKAGE "ug-setting-manage-certificates-efl"
+#endif
+
+#ifndef LOCALEDIR
+#define LOCALEDIR PREFIX "/res/locale"
+#endif
+
+// Type of screen with certificates that is displayed - it is used to refreshing list
+enum Screen {
+    NONE_SCREEN,         // Screen is unknown
+    TRUSTED_ROOT_SCREEN, // Trusted root
+    USER_SCREEN,         // User certificates/External
+    PKCS12_SCREEN        // PKCS12/PFX
+};
+
+struct ug_data {
+    Evas_Object         *win_main;
+    Evas_Object         *bg;
+    Evas_Object         *layout_main;
+    Evas_Object         *navi_bar;
+    GList               *view_list;
+    ui_gadget_h         ug;
+    ui_gadget_h         sub_ug;
+    void                *data;
+    Evas_Object         *popup;
+
+    Evas_Object         *list_to_refresh;
+    enum Screen         type_of_screen;
+    struct ListElement  *list_element;
+    struct ListElement  *list_element_install;
+
+    CertSvcInstance     instance;
+    Evas_Object         *genlist_pfx;
+
+    Evas_Object         *indicator;
+    Ecore_Pipe          *msg_pipe;
+
+};
+
+struct ug_data *get_ug_data();
+
+#ifdef LOG_TAG
+    #undef LOG_TAG
+#endif
+
+#ifndef LOG_TAG
+    #define LOG_TAG "CERT_SVC_UI"
+#endif
+
+#endif /* __UG_SETTING_MANAGE_CERTIFICATES_EFL_H__ */
diff --git a/ug/src/mgr-app-uigadget.c b/ug/src/mgr-app-uigadget.c
new file mode 100755 (executable)
index 0000000..a15d94d
--- /dev/null
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        mgr-app-uigadget.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#ifndef UG_MODULE_API
+#define UG_MODULE_API __attribute__ ((visibility("default")))
+#endif
+
+#include <dlog.h>
+
+#include "mgr-app-uigadget.h"
+
+#include "certificates/certificates.h"
+
+static struct ug_data *ugd = NULL;
+struct ug_data *get_ug_data() {
+    LOGD("get_ug_data()");
+    return ugd;
+}
+
+static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv) {
+    LOGD("on_create() BEGIN");
+
+    if (NULL == ug)
+        return NULL;
+    if (NULL == priv)
+        return NULL;
+
+    bindtextdomain(PACKAGE, LOCALEDIR);
+
+    ugd = priv;
+    ugd->ug = ug;
+
+    ugd->win_main = ug_get_parent_layout(ug);
+    if (NULL == ugd->win_main)
+        return NULL;
+    elm_win_conformant_set(ugd->win_main, EINA_TRUE);
+
+    ugd->bg = elm_bg_add(ugd->win_main);
+    if (!ugd->bg) {
+        LOGD("ugd->bg is null");
+        free(ugd->win_main);
+        return NULL;
+    }
+    evas_object_size_hint_weight_set(ugd->bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_win_resize_object_add(ugd->win_main, ugd->bg);
+    evas_object_show(ugd->bg);
+
+    ugd->layout_main = elm_layout_add(ugd->win_main);
+    if (!ugd->layout_main) {
+        LOGD("ugd->layout_main is null");
+        free(ugd->win_main);
+        free(ugd->bg);
+        return NULL;
+    }
+    elm_layout_theme_set(ugd->layout_main, "layout", "application", "default");
+    evas_object_size_hint_weight_set(ugd->layout_main, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    elm_win_resize_object_add(ugd->win_main, ugd->layout_main);
+    evas_object_show(ugd->layout_main);
+
+    elm_object_part_content_set(ugd->layout_main, "elm.swallow.bg", ugd->bg);
+
+    ugd->navi_bar = elm_naviframe_add(ugd->layout_main);
+    if (!ugd->navi_bar) {
+        LOGD("ugd->navi_bar is null");
+        free(ugd->win_main);
+        free(ugd->bg);
+        free(ugd->layout_main);
+        return NULL;
+    }
+    evas_object_show(ugd->navi_bar);
+    elm_object_part_content_set(ugd->layout_main, "elm.swallow.content", ugd->navi_bar);
+
+    certificates_menu_cb((void*) ugd, NULL, NULL);
+
+    LOGD("on_create() END");
+    return ugd->layout_main;
+}
+
+static void on_start(ui_gadget_h ug, service_h service, void *priv) {
+
+}
+
+static void on_pause(ui_gadget_h ug, service_h service, void *priv) {
+
+}
+
+static void on_resume(ui_gadget_h ug, service_h service, void *priv) {
+
+}
+
+static void on_destroy(ui_gadget_h ug, service_h service, void *priv) {
+    LOGD("on_destroy() BEGIN");
+
+    if (NULL == ug) {
+        LOGD("NULL == ug; return");
+        return;
+    }
+    if (NULL == priv) {
+        LOGD("NULL == priv; return");
+        return;
+    }
+
+    ugd = priv;
+
+    evas_object_del(ugd->layout_main);
+    ugd->layout_main = NULL;
+    LOGD("on_destroy() END");
+}
+
+static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv) {
+
+}
+
+static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv) {
+    LOGD("on_event() BEGIN");
+    switch (event) {
+    case UG_EVENT_LOW_MEMORY:
+        break;
+    case UG_EVENT_LOW_BATTERY:
+        break;
+    case UG_EVENT_LANG_CHANGE:
+        break;
+    case UG_EVENT_ROTATE_PORTRAIT:
+        break;
+    case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
+        break;
+    case UG_EVENT_ROTATE_LANDSCAPE:
+        break;
+    case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
+        break;
+    default:
+        break;
+    }
+    LOGD("on_event() END");
+}
+
+static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv) {
+    LOGD("on_key_event() BEGIN");
+    if (NULL == ug) {
+        LOGD("NULL == ug; return");
+        return;
+    }
+
+    switch (event) {
+    case UG_KEY_EVENT_END:
+        ug_destroy_me(ug);
+        break;
+    default:
+        break;
+    }
+    LOGD("on_key_event() END");
+}
+
+UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops) {
+    LOGD("UG_MODULE_INIT() BEGIN");
+    if (NULL == ops) {
+        LOGD("NULL == ops; return");
+        return -1;
+    }
+
+    ugd = calloc(1, sizeof(struct ug_data));
+
+    ops->create = on_create;
+    ops->start = on_start;
+    ops->pause = on_pause;
+    ops->resume = on_resume;
+    ops->destroy = on_destroy;
+    ops->message = on_message;
+    ops->event = on_event;
+    ops->key_event = on_key_event;
+    ops->priv = ugd;
+    ops->opt = UG_OPT_INDICATOR_ENABLE;
+
+    LOGD("UG_MODULE_INIT() END");
+    return 0;
+}
+
+UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops) {
+    LOGD("UG_MODULE_EXIT() BEGIN");
+    if (NULL == ops) {
+        LOGD("NULL == ops; return");
+        return;
+    }
+
+    ugd = ops->priv;
+    free(ugd);
+    LOGD("UG_MODULE_EXIT() END");
+}
+
+UG_MODULE_API int setting_plugin_reset(service_h service, void *priv) {
+    LOGD("setting_plugin_reset() BEGIN");
+    /* nothing to do for Setting>Reset */
+    LOGD("setting_plugin_reset() END");
+    return 0;
+}
diff --git a/view/CMakeLists.txt b/view/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..df433c4
--- /dev/null
@@ -0,0 +1,62 @@
+pkg_check_modules(pkgs_view
+    REQUIRED
+    appcore-efl
+    elementary
+    dlog
+    glib-2.0
+    evas
+    edje
+    aul
+    eina
+    ail
+    appsvc
+    icu-i18n
+    ui-gadget-1
+    capi-appfw-application
+    cert-svc-vcore
+)
+
+SET(SRCS
+    src/certificates/certificates_menu.c
+    src/certificates/certificate_util.c
+    src/certificates/trusted_root_ca_cert/trusted_root_ca_cert.c
+    src/certificates/user_cert/install_certificate.c
+    src/certificates/user_cert/user_cert.c
+    src/certificates/pfx_cert/pfx_cert.c
+    src/certificates/pfx_cert/pfx_cert_install.c
+    src/certificates/pfx_cert/pfx_cert_remove.c
+    src/certificates/detail_info_cert.c
+    src/certificates/put_password_certificate.c
+    src/certificates/uninstall_certificate.c
+)
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/view/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/common/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/ug/include)
+INCLUDE_DIRECTORIES(${pkgs_view_INCLUDE_DIRS})
+
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
+
+IF("${ARCH}" STREQUAL "arm")
+    ADD_DEFINITIONS("-DTARGET")
+    MESSAGE("add -DTARGET")
+ENDIF("${ARCH}" STREQUAL "arm")
+
+MESSAGE("CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
+
+ADD_DEFINITIONS("-DSLP_DEBUG")
+
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
+
+ADD_LIBRARY(${TARGET_CERT_VIEW} SHARED ${SRCS})
+
+TARGET_LINK_LIBRARIES(${TARGET_CERT_VIEW}
+    ${pkgs_view_LIBRARIES}
+)
+
+INSTALL(TARGETS
+    ${TARGET_CERT_VIEW}
+    DESTINATION
+    ${LIBDIR}
+)
diff --git a/view/include/certificates/certificate_util.h b/view/include/certificates/certificate_util.h
new file mode 100644 (file)
index 0000000..e2c2c13
--- /dev/null
@@ -0,0 +1,146 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        certificate_util.h
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#ifndef __CERT_UTIL_H__
+#define __CERT_UTIL_H_
+
+#include <Elementary.h>
+#include <assert.h>
+#include <dlog.h>
+#include <cert-svc/cstring.h>
+
+#include "certificates/certificates.h"
+
+#ifdef _cplusplus
+extern "C" {
+#endif
+
+enum TypeOfCert {
+    USER,
+    TRUSTED_ROOT,
+    PKCS12,
+    TO_INSTALL,
+    TO_UNINSTALL,
+};
+
+typedef struct ListElement {
+    struct ListElement *prev, *next;
+    char            *name;
+    char            *title;
+    char            *path;
+    Eina_Bool       isChecked;
+    Elm_Object_Item *it;
+} ListElement_t;
+
+enum PositionOfElement {
+    NONE,           // This is no element of the list
+    FIRST,          // First element of list - there is nothing before, but is something after
+    LAST,           // Last element of the list - there is nothing after, but is something before
+    IN_THE_MIDDLE,  // There are element before and after this element
+    THE_LAST_ONE,   // It means that this is the only one element on the list
+};
+
+enum CountOfSelected {
+    SELECTED_NONE,   // NONE element is selected
+    SELECTED_FEW,    // At least one, but not all element are selected
+    SELECTED_ALL,    // ALL element are selected
+};
+
+void list_clicked_cb    (void *data, Evas_Object *obj, void *event_info);
+void genlist_clicked_cb (void *data, Evas_Object *obj, void *event_info);
+
+struct ListElement* initList();
+struct ListElement* nextElement             (struct ListElement *listElement);
+struct ListElement* addListElement          (struct ListElement* lastListElement, const char *name);
+struct ListElement* addListElementWithTitle (struct ListElement* lastListElement, const char *name, const char *title);
+struct ListElement* addListElementWithPath  (struct ListElement* lastListElement, const char *name, const char *path);
+struct ListElement* addListElementWithPathAndTitle(
+        struct ListElement* lastListElement,
+        const char *name,
+        const char *path,
+        const char *title);
+struct ListElement* findLastElement      (struct ListElement* listElement);
+struct ListElement* findFirstElement     (struct ListElement* listElement);
+enum PositionOfElement removeListElement (struct ListElement *listElementToRemove);
+void deleteList                          (struct ListElement* listElement);
+void clear_pfx_genlist_data              ();
+
+
+/**
+ * Path concatenation
+ * Merge two string in a correct path, e.g.:
+ *
+ * char *c1 = "/opt/shared"
+ * char *c2 = "file_1.pdf"
+ * result -> "/opt/shared/file_1.pdf"
+ *
+ * or:
+ *
+ * char *c1 = "/opt/shared/"
+ * char *c2 = "file_1.pdf"
+ * result -> "/opt/shared/file_1.pdf"
+ *
+ * (function put '/' char in the end of first string if it's needed)
+ *
+ * Result is char pointer allocated by malloc()
+ * Should be deallocated by free()
+ **/
+char *path_cat(const char *str1, char *str2);
+char *extractDataFromCert(char *path);
+const char* get_email(CertSvcString alias);
+
+void cert_selection_cb(void *data, Evas_Object *obj, void *event_info);
+void back_cb          (void *data, Evas_Object *obj, void *event_info);
+void back_install_cb  (void *data, Evas_Object *obj, void *event_info);
+void install_button_cb(void *data, Evas_Object *obj, void *event_info);
+
+void refresh_list             (struct ug_data *ad);
+Evas_Object *create_yes_no_pop(struct ug_data *ad, const char *content, enum TypeOfCert typeOfCert);
+Evas_Object *create_ok_pop    (struct ug_data *ad, const char *content);
+
+Evas_Object *create_no_content_layout (struct ug_data *ad);
+
+Eina_Bool make_list(
+        struct ug_data     *ad,
+        Evas_Object        *list,
+        const char         *dir_path,
+        struct ListElement *lastListElement,
+        enum TypeOfCert    type );
+
+#ifdef _cplusplus
+}
+#endif
+
+#ifdef LOG_TAG
+    #undef LOG_TAG
+#endif
+
+#ifndef LOG_TAG
+    #define LOG_TAG "CERT_SVC_UI"
+#endif
+
+//temporary enum definition
+#define ELM_TOOLBAR_SHRINK_EXPAND 4
+
+#define BUF256 256
+
+#endif // end of CERT_UTIL_H
diff --git a/view/include/certificates/certificates.h b/view/include/certificates/certificates.h
new file mode 100644 (file)
index 0000000..49872d7
--- /dev/null
@@ -0,0 +1,91 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        certificates.h
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#ifndef __DEF_certificates_H_
+#define __DEF_certificates_H_
+
+#include <Elementary.h>
+#include <cert-svc/ccert.h>
+
+#include "mgr-app-uigadget.h"
+
+// Path to the certs
+//root path
+#define PATH_CERT_ROOT              "/opt/share/cert-svc/certs"
+
+//mdm
+#define PATH_CERT_MDM               "/opt/share/cert-svc/certs/mdm"
+#define PATH_CERT_MDM_SECURITY      "/opt/share/cert-svc/certs/security"
+#define PATH_CERT_MDM_SECURITY_CERT "/opt/share/cert-svc/certs/security/cert"
+
+//ssl
+#define PATH_CERT_SSL               "/opt/share/cert-svc/certs/ssl"
+#define PATH_CERT_SSL_ETC           "/opt/etc/ssl/certs"
+
+//sim
+#define PATH_CERT_SIM_OPERATOR      "/opt/share/cert-svc/certs/sim/operator"
+#define PATH_CERT_SIM_THIRDPARTY    "/opt/share/cert-svc/certs/sim/thirdparty"
+
+//user
+#define PATH_CERT_USER              "/opt/share/cert-svc/certs/user"
+#define PATH_CERT_TRUSTEDUSER       "/opt/share/cert-svc/certs/trusteduser"
+
+//code-signing
+#define PATH_CERT_WAC                "/opt/share/cert-svc/certs/code-signing/wac"
+
+//sd-card
+#define PATH_SDCARD                  "/opt/storage/sdcard"
+#define PATH_MEDIA                   "/opt/media"
+#define PATH_MEDIA_DOWNLOADS         "/opt/media/Downloads"
+
+// certificates menu
+void certificates_menu_cb (void *data, Evas_Object *obj, void *event_info);
+void trusted_root_cert_cb (void *data, Evas_Object *obj, void *event_info);
+void user_cert_cb         (void *data, Evas_Object *obj, void *event_info);
+void pfx_cert_cb          (void *data, Evas_Object *obj, void *event_info);
+
+
+// trusted root certificates
+void trusted_root_cert_selection_cb     (void *data, Evas_Object *obj, void *event_info);
+Eina_Bool trusted_root_cert_create_list (struct ug_data *ad);
+
+// user certificate
+void user_search_cert_cb        (void *data, Evas_Object *obj, void *event_info);
+void user_cert_selection_cb     (void *data, Evas_Object *obj, void *event_info);
+Eina_Bool user_cert_create_list (struct ug_data *ad);
+
+// PFX certificate
+void pfx_cert_install_cb         (void *data, Evas_Object *obj, void *event_info);
+void put_pkcs12_name_cb          (void *data, Evas_Object *obj, void *event_info);
+void put_pkcs12_name_and_pass_cb (void *data, Evas_Object *obj, void *event_info);
+void pfx_cert_remove_cb          (void *data, Evas_Object *obj, void *event_info);
+Eina_Bool pfx_cert_create_list   (struct ug_data *ad);
+
+// cert general
+void get_info_cert_from_file_cb        (struct ug_data *ad);
+void get_info_cert_from_certificate_cb (CertSvcCertificate cert);
+void delete_cert_cb                    (void *data, Evas_Object *obj, void *event_info);
+void install_cb                        (void *data, Evas_Object *obj, void *event_info);
+
+//---------------------------------------------
+
+#endif /* __DEF_certificates_H__ */
diff --git a/view/src/certificates/certificate_util.c b/view/src/certificates/certificate_util.c
new file mode 100644 (file)
index 0000000..34af727
--- /dev/null
@@ -0,0 +1,679 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        certificate_util.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#define _GNU_SOURCE
+
+#include <Ecore_X.h>
+#include <E_Notify.h>
+
+#include <cert-svc/ccert.h>
+#include <cert-svc/cinstance.h>
+#include <cert-svc/ccrl.h>
+#include <cert-svc/cocsp.h>
+#include <cert-svc/cpkcs12.h>
+
+#include "mgr-app-uigadget.h"
+#include "dlog.h"
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+#define CERT_GENLIST_1TEXT1EDIT_STYLE  "dialogue/1text.1icon.5"
+#define CERT_GENLIST_TITLE_STYLE "dialogue/title"
+
+static const char* const align_begin = "<align=center>";
+static const char* const align_end   = "</align>";
+
+static void _info_pop_response_no_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    struct ug_data *ad = get_ug_data();
+    evas_object_del(ad->popup);
+}
+
+static void _info_pop_response_yes_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    enum TypeOfCert typeOfCert = (enum TypeOfCert) data;
+    struct ug_data *ad = get_ug_data();
+    if (PKCS12 == typeOfCert){
+        pfx_cert_install_cb(ad, NULL, NULL);
+    }
+    else {
+        user_search_cert_cb(ad, NULL, NULL);
+    }
+    evas_object_del(ad->popup);
+}
+
+static void _info_pop_response_ok_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    if (NULL == data) {
+        return;
+    }
+    Evas_Object *pop = (Evas_Object *) data;
+    evas_object_del(pop);
+}
+
+void list_clicked_cb(void *data, Evas_Object *obj, void *event_info) {
+    Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
+    if (it == NULL)
+        return;
+
+    elm_list_item_selected_set(it, EINA_FALSE);
+}
+
+void genlist_clicked_cb(void *data, Evas_Object *obj, void *event_info) {
+    Elm_Object_Item *it = (Elm_Object_Item *) elm_genlist_selected_item_get(obj);
+    if (it == NULL)
+        return;
+
+    elm_genlist_item_selected_set(it, EINA_FALSE);
+}
+
+//create yes/no popup
+Evas_Object *create_yes_no_pop(struct ug_data *ad, const char *content, enum TypeOfCert typeOfCert) {
+
+    if (NULL == ad){
+        return NULL;
+    }
+
+    ad->popup = elm_popup_add(ad->navi_bar);
+    if (NULL == ad->popup){
+        return NULL;
+    }
+
+    char *text = NULL;
+    int i = 0;
+    int j = 0;
+    text = malloc ( ( strlen(content) + strlen(align_begin) + strlen(align_end) + 1 ) * sizeof(char));
+    for (i=0; i<strlen(align_begin); ++i) {
+        text[j] = align_begin[i];
+        ++j;
+    }
+    for (i=0; i<strlen(content); ++i) {
+        text[j] = content[i];
+        ++j;
+    }
+    for (i=0; i<strlen(align_end); ++i) {
+        text[j] = align_end[i];
+        ++j;
+    }
+    text[j] = 0;
+
+    evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+    //yes button
+    Evas_Object *btn_yes = elm_button_add(ad->popup);
+    elm_object_text_set(btn_yes, dgettext(PACKAGE, "IDS_ST_BUTTON_YES"));
+    evas_object_smart_callback_add(btn_yes, "clicked", _info_pop_response_yes_cb, (void *) typeOfCert);
+
+    //no button
+    Evas_Object *btn_no = elm_button_add(ad->popup);
+    elm_object_text_set(btn_no, dgettext(PACKAGE, "IDS_ST_BUTTON_NO"));
+    evas_object_smart_callback_add(btn_no, "clicked", _info_pop_response_no_cb, NULL);
+
+    elm_object_text_set(ad->popup, text);
+    free(text);
+
+    elm_object_part_content_set(ad->popup, "button1", btn_yes);
+    elm_object_part_content_set(ad->popup, "button2", btn_no);
+
+    evas_object_show(ad->popup);
+
+    return ad->popup;
+}
+
+void install_button_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("install_button_cb()");
+    enum TypeOfCert typeOfCert = (enum TypeOfCert) data;
+    struct ug_data *ad = get_ug_data();
+    create_yes_no_pop(ad, dgettext(PACKAGE, "IDS_ST_BODY_INSTALL_CERTIFICATES_FROM_SD_CARD_Q"), typeOfCert);
+}
+
+Evas_Object *create_ok_pop(struct ug_data *ad, const char *content) {
+
+    if (NULL == ad) {
+        return NULL;
+    }
+
+    ad->popup = elm_popup_add(ad->navi_bar);
+    if (NULL == ad->popup) {
+        return NULL;
+    }
+
+    char *text = NULL;
+    int i = 0;
+    int j = 0;
+    text = malloc((strlen(content) + strlen(align_begin) + strlen(align_end) + 1) * sizeof(char));
+    for (i = 0; i < strlen(align_begin); ++i) {
+        text[j] = align_begin[i];
+        ++j;
+    }
+    for (i = 0; i < strlen(content); ++i) {
+        text[j] = content[i];
+        ++j;
+    }
+    for (i = 0; i < strlen(align_end); ++i) {
+        text[j] = align_end[i];
+        ++j;
+    }
+    text[j] = 0;
+
+    evas_object_size_hint_weight_set(ad->popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+    //ok button
+    Evas_Object *btn_ok = elm_button_add(ad->popup);
+    elm_object_text_set(btn_ok, dgettext(PACKAGE, "IDS_ST_SK2_OK"));
+    evas_object_smart_callback_add(btn_ok, "clicked", _info_pop_response_ok_cb, ad->popup);
+
+    elm_object_text_set(ad->popup, text);
+    free(text);
+
+    elm_object_part_content_set(ad->popup, "button1", btn_ok);
+
+    evas_object_show(ad->popup);
+
+    return ad->popup;
+}
+
+char *path_cat(const char *str1, char *str2) {
+    size_t str1_len = strlen(str1);
+    char *result = NULL;
+    int as_result;
+    if (str1[str1_len - 1] != '/') {
+        as_result = asprintf(&result, "%s/%s", str1, str2);
+    } else {
+        as_result = asprintf(&result, "%s%s", str1, str2);
+    }
+
+    if (as_result >= 0)
+        return result;
+    else
+        return NULL;
+}
+
+// extract title from certificate ------------------
+char *extractDataFromCert(char *path) {
+
+    struct ug_data *ad = get_ug_data();
+
+    CertSvcCertificate cert;
+    CertSvcString buffer;
+    char *char_buffer;
+
+    if (CERTSVC_SUCCESS != certsvc_certificate_new_from_file(ad->instance, path, &cert)) {
+        LOGD("certsvc_certificate_new_from_file returned not CERTSVC_SUCCESS");
+        return NULL;
+    }
+
+    if (CERTSVC_SUCCESS != certsvc_certificate_get_string_field(cert, CERTSVC_SUBJECT_COMMON_NAME, &buffer)) {
+        LOGD("certsvc_certificate_get_string_field returned not CERTSVC_SUCCESS");
+        return NULL;
+    }
+    char_buffer = strndup(buffer.privateHandler, buffer.privateLength);
+    LOGD("char_buffer : %s", char_buffer);
+
+    certsvc_string_free(buffer);
+    certsvc_certificate_free(cert);
+
+    return char_buffer;
+}
+
+// List --------------------------------------------------------
+
+struct ListElement* nextElement(struct ListElement *listElement) {
+    if (listElement == NULL)
+        return NULL;
+
+    return listElement->next;
+}
+
+struct ListElement * initList() {
+
+    LOGD("initList()");
+    struct ListElement *firstListElement = (struct ListElement*) malloc(sizeof(struct ListElement));
+    if (firstListElement == NULL)
+        return NULL;
+
+    firstListElement->prev = NULL;
+    firstListElement->next = NULL;
+
+    firstListElement->name = NULL;
+    firstListElement->title = NULL;
+    firstListElement->path = NULL;
+
+    firstListElement->it = NULL;
+    firstListElement->isChecked = EINA_FALSE;
+
+    return firstListElement;
+}
+
+struct ListElement* addListElement(struct ListElement* lastListElement, const char *name) {
+
+    if (NULL == lastListElement) {
+        return NULL;
+    }
+    struct ListElement *newListElement = (struct ListElement*) malloc(sizeof(struct ListElement));
+    if (newListElement == NULL)
+        return NULL;
+
+    LOGD("name %s", name);
+    newListElement->name = malloc((strlen(name) + 1) * sizeof(char));
+    if (NULL == newListElement->name) {
+        free(newListElement);
+        return NULL;
+    }
+    strncpy(newListElement->name, name, strlen(name) + 1);
+    LOGD("name %s", newListElement->name);
+
+    newListElement->title = NULL;
+    newListElement->path = NULL;
+
+    lastListElement->next = newListElement;
+    newListElement->prev = lastListElement;
+    newListElement->next = NULL;
+
+    newListElement->it = NULL;
+    newListElement->isChecked = EINA_FALSE;
+
+    return newListElement;
+}
+
+struct ListElement* addListElementWithTitle(struct ListElement* lastListElement, const char *name, const char *title) {
+
+    struct ListElement *newListElement = addListElement(lastListElement, name);
+    if(NULL == newListElement){
+        return NULL;
+    }
+
+    newListElement->title = malloc((strlen(title)+1) * sizeof(char));
+    if(NULL == newListElement->title){
+        free(newListElement->name);
+        free(newListElement);
+        return NULL;
+    }
+
+    strncpy(newListElement->title, title, strlen(title)+1);
+
+    lastListElement->next = newListElement;
+    newListElement->prev  = lastListElement;
+    newListElement->next  = NULL;
+
+    newListElement->it        = NULL;
+    newListElement->isChecked = EINA_FALSE;
+
+    return newListElement;
+}
+
+struct ListElement* addListElementWithPath(struct ListElement* lastListElement, const char *name, const char *path) {
+
+    struct ListElement *newListElement = addListElement(lastListElement, name);
+    if (NULL == newListElement) {
+        return NULL;
+    }
+
+    newListElement->path = malloc((strlen(path)+1) * sizeof(char));
+    if (NULL == newListElement->path) {
+        free(newListElement->name);
+        free(newListElement);
+        return NULL;
+    }
+
+    strncpy(newListElement->path, path, strlen(path)+1);
+
+    lastListElement->next = newListElement;
+    newListElement->prev  = lastListElement;
+    newListElement->next  = NULL;
+
+    newListElement->it        = NULL;
+    newListElement->isChecked = EINA_FALSE;
+
+    return newListElement;
+}
+
+struct ListElement* addListElementWithPathAndTitle(struct ListElement* lastListElement, const char *name, const char *path, const char *title) {
+
+    struct ListElement *newListElement = addListElementWithPath(lastListElement, name, path);
+    if (NULL == newListElement) {
+        return NULL;
+    }
+
+    newListElement->title = malloc((strlen(title)+1) * sizeof(char));
+    if (NULL == newListElement->title) {
+        free(newListElement->name);
+        free(newListElement->path);
+        free(newListElement);
+        return NULL;
+    }
+
+    strncpy(newListElement->title, title, strlen(title)+1);
+
+    lastListElement->next = newListElement;
+    newListElement->prev  = lastListElement;
+    newListElement->next  = NULL;
+
+    newListElement->it        = NULL;
+    newListElement->isChecked = EINA_FALSE;
+
+    return newListElement;
+}
+
+void freeListElement(struct ListElement *listElementToRemove){
+
+    if(NULL == listElementToRemove){
+        return;
+    }
+
+    if (NULL != listElementToRemove->name) {
+        free(listElementToRemove->name);
+    }
+
+    if (NULL != listElementToRemove->path) {
+        free(listElementToRemove->path);
+    }
+
+    if (NULL != listElementToRemove->title) {
+        free(listElementToRemove->title);
+    }
+}
+
+/*
+ * Function returns position of removed element.
+ */
+enum PositionOfElement removeListElement(struct ListElement *listElementToRemove) {
+
+    if (listElementToRemove == NULL)
+        return NONE;
+
+    struct ListElement* prev;
+    struct ListElement* next;
+
+    if (listElementToRemove->prev != NULL && listElementToRemove->next != NULL) {
+        prev = listElementToRemove->prev;
+        next = listElementToRemove->next;
+        prev->next = next;
+        next->prev = prev;
+        freeListElement(listElementToRemove);
+        return IN_THE_MIDDLE;
+    } else if (listElementToRemove->prev != NULL && listElementToRemove->next == NULL) {
+        prev = listElementToRemove->prev;
+        prev->next = NULL;
+        freeListElement(listElementToRemove);
+        return LAST;
+    } else if (listElementToRemove->prev == NULL && listElementToRemove->next != NULL) {
+        next = listElementToRemove->next;
+        next->prev = NULL;
+        freeListElement(listElementToRemove);
+        return FIRST;
+    } else if (listElementToRemove->prev == NULL && listElementToRemove->next == NULL) {
+        freeListElement(listElementToRemove);
+        return THE_LAST_ONE;
+    }
+
+    return NONE;
+}
+
+/*
+ * To find last element of the list put as a parameter any element of this list
+ */
+struct ListElement * findLastElement(struct ListElement* listElement) {
+    struct ListElement *lastListElement = listElement;
+    while (lastListElement->next != NULL) {
+        lastListElement = lastListElement->next;
+    }
+    return lastListElement;
+}
+
+/*
+ * To find first element of the list put as a parameter any element of this list
+ */
+struct ListElement * findFirstElement(struct ListElement* listElement) {
+    LOGD("findFirstElement");
+    struct ListElement *firsListElement = listElement;
+    while (firsListElement->prev != NULL) {
+        firsListElement = firsListElement->prev;
+    }
+    return firsListElement;
+}
+
+/*
+ * After this is done you have to call initList(...) to use the list again;
+ */
+void deleteList(struct ListElement* listElement) {
+    LOGD("deleteList");
+    if (listElement == NULL)
+        return;
+    listElement = findFirstElement(listElement);
+    struct ListElement *current, *tmp;
+    current = listElement;
+    int count = 0;
+    while (current != NULL) {
+        tmp = current->next;
+        freeListElement(current);
+        current = tmp;
+        count++;
+    }
+    LOGD("Removed %d elements", count);
+}
+// ------------------------------------------------
+
+void back_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("back_cb");
+    struct ug_data *ad = (struct ug_data *) data;
+
+    deleteList(ad->list_element);
+    ad->list_element = NULL;
+}
+
+void back_install_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("back_install_cb");
+    struct ug_data *ad = (struct ug_data *) data;
+
+    deleteList(ad->list_element_install);
+    ad->list_element_install = NULL;
+}
+
+Eina_Bool make_list(struct ug_data *ad, Evas_Object *list, const char *dir_path, struct ListElement *lastListElement, enum TypeOfCert type) {
+
+    LOGD("make_list()");
+    DIR                *dir;
+    struct dirent      *dp;
+    struct ListElement *current;
+    Elm_Object_Item    *it;
+    char               *title = NULL;
+    Eina_Bool          no_content_bool = EINA_TRUE;
+
+    /* ---------------------------------------------------
+     * Checking for files (certificates) in dir_path
+     */
+    dir = opendir(dir_path);
+    if (dir == NULL) {
+        LOGE("There's no such directory: %s", dir_path);
+        return no_content_bool;
+    }
+    LOGD("Scanning dir (%s) - looking for certs", dir_path);
+    while ((dp = readdir(dir)) != NULL) {
+        char *tmp = NULL;
+        tmp = path_cat(dir_path, dp->d_name);
+        if (strncmp(dp->d_name, "..", 2) != 0 && strncmp(dp->d_name, ".", 1) != 0 && !(dp->d_type == DT_DIR)) {
+
+            title = extractDataFromCert(tmp);
+            if (!title) {
+                free(tmp);
+                tmp = NULL;
+                LOGD("Extract data returned NULL pointer");
+                continue;
+            } else {
+                LOGD("title = \"%s\"", title);
+                LOGD("name  = %s", dp->d_name);
+                no_content_bool = EINA_FALSE;
+
+                current = addListElementWithPathAndTitle(lastListElement, dp->d_name, dir_path, title);
+                lastListElement = current;
+
+                switch (type) {
+
+                case TO_INSTALL:
+                    if (strlen(title) < 1){
+                        // if Common name of cert is empty print the name of file instead.
+                        it = elm_list_item_append(list, dp->d_name, NULL, NULL, install_cb, current);
+                        if (!it){
+                            LOGE("Error in elm_list_item_append");
+                        }
+                    }
+                    else {
+                        it = elm_list_item_append(list, title, NULL, NULL, install_cb, current);
+                        if (!it){
+                            LOGE("Error in elm_list_item_append");
+                        }
+                    }
+                    break;
+
+                case TO_UNINSTALL: // in this case item isn't append to the list, because "uninstall" use-case uses more complex genlist
+                    break;
+
+                default:
+                    LOGD("strlen(title) = %d", strlen(title));
+                    if (strlen(title) < 1){
+                        // if Common name of cert is empty print the name of file instead.
+                        it = elm_list_item_append(list, dp->d_name, NULL, NULL, cert_selection_cb, current);
+                        if (!it){
+                            LOGE("Error in elm_list_item_append");
+                        }
+                    } else {
+                        it = elm_list_item_append(list, title, NULL, NULL, cert_selection_cb, current);
+                        if (!it){
+                            LOGE("Error in elm_list_item_append");
+                        }
+                    }
+                    break;
+                }
+                LOGD("elm list append = %s", current->name);
+
+                free(title);
+                title = NULL;
+            }
+        }
+        if (tmp)
+            free(tmp);
+    }
+    closedir(dir);
+    dir = NULL;
+
+    return no_content_bool;
+}
+
+Evas_Object *create_no_content_layout (struct ug_data *ad) {
+
+    if(NULL == ad){
+        return NULL;
+    }
+    Evas_Object *no_content = elm_layout_add(ad->win_main);
+    if(NULL == no_content){
+        return NULL;
+    }
+    elm_layout_theme_set(no_content, "layout", "nocontents", "text");
+    elm_object_part_text_set(no_content, "elm.text", dgettext(PACKAGE, "IDS_ST_BODY_NO_CONTENT"));
+    evas_object_size_hint_weight_set(no_content, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+    evas_object_show(no_content);
+    return no_content;
+}
+
+void cert_selection_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("cert_selection_cb ()");
+    if (NULL == data){
+        return;
+    }
+    struct ListElement *current = (struct ListElement *) data;
+    char *path = path_cat(current->path, current->name);
+    LOGD("cert_path = %s", path);
+
+    Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
+    if (it == NULL){
+        free(path);
+        return;
+    }
+    elm_list_item_selected_set(it, EINA_FALSE);
+
+    struct ug_data *ad = get_ug_data();
+    ad->data = (void *) strdup(path);
+
+    get_info_cert_from_file_cb(ad);
+
+    free(path);
+}
+
+void refresh_list(struct ug_data *ad) {
+
+    LOGD("refresh_list");
+
+    switch (ad->type_of_screen) {
+
+    case TRUSTED_ROOT_SCREEN:
+        trusted_root_cert_create_list(ad);
+        break;
+
+    case USER_SCREEN:
+        user_cert_create_list(ad);
+        break;
+
+    default:
+        break;
+    }
+
+    return;
+}
+
+const char* get_email(CertSvcString alias) {
+    LOGD("get_email()");
+
+    struct ug_data *ad = get_ug_data();
+
+    const char *char_buffer;
+
+    CertSvcCertificateList certificateList;
+    CertSvcCertificate certificate;
+    CertSvcString email_buffer;
+    if (CERTSVC_SUCCESS != certsvc_pkcs12_load_certificate_list(
+            ad->instance,
+            alias,
+            &certificateList)) {
+        return dgettext(PACKAGE, "IDS_ST_BODY_NO_DATA");
+    }
+    if (CERTSVC_SUCCESS != certsvc_certificate_list_get_one(
+            certificateList,
+            0,
+            &certificate)) {
+        return dgettext(PACKAGE, "IDS_ST_BODY_NO_DATA");
+    }
+    if (CERTSVC_SUCCESS != certsvc_certificate_get_string_field(
+            certificate,
+            CERTSVC_SUBJECT_EMAIL_ADDRESS,
+            &email_buffer)) {
+        return dgettext(PACKAGE, "IDS_ST_BODY_NO_DATA");
+    }
+    certsvc_string_to_cstring(email_buffer, &char_buffer, NULL);
+    LOGD("get_email - return %s", char_buffer);
+    if(NULL == char_buffer){
+        LOGD("email is NULL; return NO_DATA");
+        return dgettext(PACKAGE, "IDS_ST_BODY_NO_DATA");
+    }
+    return char_buffer;
+}
diff --git a/view/src/certificates/certificates_menu.c b/view/src/certificates/certificates_menu.c
new file mode 100644 (file)
index 0000000..8850b47
--- /dev/null
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        certificates_menu.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#include <cert-svc/cinstance.h>
+#include <dlog.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+static void _quit_cb(void *data, Evas_Object* obj, void* event_info) {
+    //---------------------------
+    struct ug_data *ad = (struct ug_data*) data;
+
+    certsvc_instance_free(ad->instance);
+
+    /* bg must delete before starting on_destroy */
+    evas_object_del(ad->bg);
+    ad->bg = NULL;
+    ug_destroy_me(ad->ug);
+    //---------------------------
+}
+
+void certificates_menu_cb(void *data, Evas_Object *obj, void *event_info) {
+    struct ug_data *ad = (struct ug_data*) data;
+
+    Evas_Object *list = NULL;
+    Evas_Object *layout = NULL;
+    Evas_Object *back = NULL;
+
+    layout = elm_layout_add(ad->win_main);
+    if (!layout)
+        return;
+
+    if (certsvc_instance_new(&(ad->instance)) == CERTSVC_FAIL) {
+        LOGD("certsvc_instance_new returned CERTSVC_FAIL");
+        return;
+    }
+    ad->list_element = NULL;
+    ad->type_of_screen = NONE_SCREEN;
+
+    list = elm_list_add(layout);
+    elm_list_mode_set(list, ELM_LIST_COMPRESS);
+
+    evas_object_smart_callback_add(list, "selected", list_clicked_cb, NULL);
+
+    elm_list_item_append(list, dgettext(PACKAGE, "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"), NULL, NULL, trusted_root_cert_cb, ad);
+    elm_list_item_append(list, dgettext(PACKAGE, "IDS_ST_BODY_EXTERNAL_CERTIFICATES"), NULL, NULL, user_cert_cb, ad);
+    elm_list_item_append(list, dgettext(PACKAGE, "IDS_ST_BODY_USER_CERTIFICATES"), NULL, NULL, pfx_cert_cb, ad);
+
+    elm_naviframe_item_push(ad->navi_bar, dgettext(PACKAGE, "IDS_ST_BODY_CERTIFICATES"), NULL, NULL, list, NULL);
+
+    Elm_Object_Item *navi_it = NULL;
+    navi_it = elm_naviframe_item_push(ad->navi_bar, dgettext(PACKAGE, "IDS_ST_BODY_CERTIFICATES"), NULL, NULL, list,
+            NULL);
+
+    back = elm_object_item_part_content_get(navi_it, "prev_btn");
+    evas_object_smart_callback_add(back, "clicked", _quit_cb, ad);
+}
diff --git a/view/src/certificates/detail_info_cert.c b/view/src/certificates/detail_info_cert.c
new file mode 100644 (file)
index 0000000..5ca124c
--- /dev/null
@@ -0,0 +1,500 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        detail_info_cert.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#include <dlog.h>
+
+#include <cert-svc/ccert.h>
+#include <cert-svc/cinstance.h>
+#include <cert-svc/cstring.h>
+#include <cert-svc/ccrl.h>
+#include <cert-svc/cocsp.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+static char* format_key (char *key);
+static void _back_cb(void *data, Evas_Object* obj, void* event_info);
+
+static char *Cert_Data_Field[12];
+static char *Cert_Data[12];
+
+/*
+ * This function fill Cert_Data_Field with proper text.
+ * These texts are labels to certificate details
+ */
+static void fillCertDataField() {
+    int i = 0;
+    while (i < 12) {
+        switch (i) {
+        case 0:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_COMMON_NAME_C");
+            break;
+
+        case 1:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_ORGANISATION_C");
+            break;
+
+        case 2:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_COMMON_NAME_C");
+            break;
+
+        case 3:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_ORGANISATION_C");
+            break;
+
+        case 4:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_VERSION_C");
+            break;
+
+        case 5:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_VALID_FROM_C");
+            break;
+
+        case 6:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_VALID_TO_C");
+            break;
+
+        case 7:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_SERIAL_NUMBER_C");
+            break;
+
+        case 8:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_SIGNATURE_ALGORITHM_C");
+            break;
+
+        case 9:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_KEY_USAGE_C");
+            break;
+
+        case 10:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_CERTIFICATION_AUTHORITY_C");
+            break;
+
+        case 11:
+            Cert_Data_Field[i] = dgettext(PACKAGE, "IDS_ST_BODY_PUBLIC_KEY_C");
+            break;
+        }
+        i++;
+    }
+}
+
+static void put_no_data_text_if_empty(char **text){
+    if ( NULL == text )
+        return;
+    if ( NULL == *text )
+        return;
+    if ( strlen(*text)<1 ){
+        free(*text);
+        *text = strdup(dgettext(PACKAGE, "IDS_ST_BODY_NO_DATA"));
+    }
+}
+
+static char *getInfoFromCert(CertSvcCertificate cert, CertSvcCertificateField field, char **buffer){
+
+    CertSvcString certSvcString_buffer;
+    const char* certSvc_buffer;
+    int len;
+
+    certsvc_certificate_get_string_field(cert, field, &certSvcString_buffer);
+    certsvc_string_to_cstring(certSvcString_buffer, &certSvc_buffer, &len);
+    *buffer = strndup(certSvc_buffer, len);
+    certsvc_string_free(certSvcString_buffer);
+    LOGD("Cert string field: %s", *buffer);
+
+    return *buffer;
+}
+
+static int fillCertData(CertSvcCertificate cert) {
+    LOGD("fillCertData");
+
+    char          *empty = dgettext(PACKAGE, "IDS_ST_BODY_NO_DATA");
+    time_t        time;
+    int           status;
+    CertSvcString buffer;
+    char          *char_buffer;
+
+    //---- SUBJECT COMMON NAME ----
+    if (!getInfoFromCert(cert, CERTSVC_SUBJECT_COMMON_NAME, &Cert_Data[0])) {
+        certsvc_certificate_free(cert);
+        return -1;
+    }
+    put_no_data_text_if_empty(&Cert_Data[0]);
+
+    //---- SUBJECT ORGANIZATION NAME ----
+    if (!getInfoFromCert(cert, CERTSVC_SUBJECT_ORGANIZATION_NAME, &Cert_Data[1])) {
+        certsvc_certificate_free(cert);
+        return -1;
+    }
+    put_no_data_text_if_empty(&Cert_Data[1]);
+
+    //---- ISSUER COMMON NAME ----
+    if (!getInfoFromCert(cert, CERTSVC_ISSUER_COMMON_NAME, &Cert_Data[2])) {
+        certsvc_certificate_free(cert);
+        return -1;
+    }
+    put_no_data_text_if_empty(&Cert_Data[2]);
+
+    //---- ISSUER ORGANIZATION NAME ----
+    if (!getInfoFromCert(cert, CERTSVC_ISSUER_ORGANIZATION_NAME, &Cert_Data[3])) {
+        certsvc_certificate_free(cert);
+        return -1;
+    }
+    put_no_data_text_if_empty(&Cert_Data[3]);
+
+    //---- VERSION ----
+    if (!getInfoFromCert(cert, CERTSVC_VERSION, &Cert_Data[4])) {
+        certsvc_certificate_free(cert);
+        return -1;
+    }
+    put_no_data_text_if_empty(&Cert_Data[4]);
+
+    //---- VALID_FROM ----
+    certsvc_certificate_get_not_before(cert, &time);
+    Cert_Data[5] = strndup(ctime(&time), strlen(ctime(&time)) - 1);
+    if (!Cert_Data[5]) {
+        certsvc_certificate_free(cert);
+        return -1;
+    }
+    LOGD("Valid from: %s", ctime(&time));
+
+    //---- VALID_TO ----
+    certsvc_certificate_get_not_after(cert, &time);
+    Cert_Data[6] = strndup(ctime(&time), strlen(ctime(&time)) - 1);
+    if (!Cert_Data[6]) {
+        certsvc_certificate_free(cert);
+        return -1;
+    }
+    LOGD("Valid to: %s", Cert_Data[6]);
+
+    //---- SERIAL NUMBER ----
+    if (!getInfoFromCert(cert, CERTSVC_SERIAL_NUMBER, &Cert_Data[7])) {
+        return -1;
+    }
+    put_no_data_text_if_empty(&Cert_Data[7]);
+
+    //---- SIGNATURE ALGORITHM ----
+    if (!getInfoFromCert(cert, CERTSVC_SIGNATURE_ALGORITHM, &Cert_Data[8])) {
+        return -1;
+    }
+
+    //---- KEY USAGE ----
+    if (!getInfoFromCert(cert, CERTSVC_KEY_USAGE, &Cert_Data[9])) {
+        return -1;
+    }
+    put_no_data_text_if_empty(&Cert_Data[9]);
+
+    //---- CA ----
+    certsvc_certificate_is_root_ca(cert, &status);
+    if (status == CERTSVC_TRUE) {
+        Cert_Data[10] = strdup(dgettext(PACKAGE, "IDS_ST_BODY_TRUE"));
+        if (!Cert_Data[10]) {
+            certsvc_certificate_free(cert);
+            return -1;
+        }
+    } else if (status == CERTSVC_FALSE) {
+        Cert_Data[10] = strdup(dgettext(PACKAGE, "IDS_ST_BODY_FALSE"));
+        if (!Cert_Data[10]) {
+            certsvc_certificate_free(cert);
+            return -1;
+        }
+    } else {
+        Cert_Data[10] = strdup(empty);
+        if (!Cert_Data[10]) {
+            certsvc_certificate_free(cert);
+            return -1;
+        }
+    }
+
+    //---- PUBLIC KEY ----
+    certsvc_certificate_get_string_field(cert, CERTSVC_KEY, &buffer);
+    char_buffer = strndup(buffer.privateHandler, buffer.privateLength);
+    LOGD("char_buffer : %s", char_buffer);
+    Cert_Data[11] = format_key(char_buffer);
+
+    certsvc_string_free(buffer);
+    free(char_buffer);
+    certsvc_certificate_free(cert);
+
+    if (!Cert_Data[11]) {
+        return -1;
+    }
+    LOGD("Public Key: %s", Cert_Data[11]);
+
+    return 0;
+}
+
+static int fillCertDataFromFile(char *path_to_cert) {
+    LOGD("fillCertDataFromFile");
+
+    struct ug_data *ad = get_ug_data();
+
+    CertSvcCertificate cert;
+    if (CERTSVC_SUCCESS != certsvc_certificate_new_from_file(ad->instance, path_to_cert, &cert)) {
+        return -1;
+    }
+
+    return fillCertData(cert);
+}
+
+static void clearCertData() {
+    int i = 0;
+    while (i < 12) {
+        if (Cert_Data[i] != NULL)
+            free(Cert_Data[i]);
+        i++;
+    }
+}
+
+static char* format_key(char *key) {
+
+    LOGD("format_key");
+    int i = 0;
+    int j = 0;
+    int len = strlen(key);
+    const char *public_key_label = "Public-Key: ";
+    char *result;
+    char *formated_key = malloc(sizeof(char) * len);
+
+    // remove whitespaces at the beginning
+    while ((i < len - 1) && (' ' == key[i])){
+        i++;
+    }
+
+    // remove the "Public-key: " string at the beginning
+    if( 0 == strncmp(public_key_label, &(key[i]), strlen(public_key_label)) ){
+        i += strlen(public_key_label);
+    }
+
+    while (i < len - 1) {
+        if (key[i] == ':' && key[i + 1] == '\n') {
+            formated_key[j] = key[i];
+            i += 2;
+            j += 1;
+        } else if (key[i] == ' ' && key[i + 1] == ' ') {
+            i += 2;
+        } else {
+            formated_key[j] = key[i];
+            i++;
+            j++;
+        }
+        if (key[i] == 'E' || key[i] == 'M') {
+            formated_key[j] = '<';
+            j++;
+            formated_key[j] = 'b';
+            j++;
+            formated_key[j] = 'r';
+            j++;
+            formated_key[j] = '>';
+            j++;
+        }
+    }
+    if (i < len && key[i] != '\n') {
+        formated_key[j] = key[i];
+        i++;
+        j++;
+    }
+    result = strndup(formated_key, j);
+    free(formated_key);
+    return result;
+}
+
+static char* _gl_get_text(void *data, Evas_Object *obj, const char *part) {
+
+    int index = (int) data;
+    if (index > 11 || index < 0) {
+        LOGD("Wrong *index - return NULL");
+        return NULL;
+    }
+    if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.text")) {
+        LOGD("%s", Cert_Data[index]);
+        return strdup(Cert_Data_Field[index]);
+
+    } else if (!strcmp(part, "elm.text.2")) {
+        LOGD("%s", Cert_Data_Field[index]);
+        return strdup(Cert_Data[index]);
+    }
+    return NULL;
+}
+
+static char* _gl_get_text_multiline(void *data, Evas_Object *obj, const char *part) {
+
+    int index = (int) data;
+    if (index > 11 || index < 0) {
+        LOGD("Wrong *index - return NULL");
+        return NULL;
+    }
+
+    if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.text")) {
+        return strdup(Cert_Data_Field[index]);
+    }
+    else if (!strcmp(part, "elm.text.2")){
+        LOGD("%s", Cert_Data[index]);
+        return strdup(Cert_Data[index]);
+    }
+    return NULL;
+}
+
+static char* _gl_get_text_group(void *data, Evas_Object *obj, const char *part) {
+
+    int index = (int) data;
+    if (index == 0) {
+        LOGD("OWNER");
+        return strdup(dgettext(PACKAGE, "IDS_ST_BODY_OWNER_C"));
+    }
+    if (index == 1) {
+        LOGD("ISSUER");
+        return strdup(dgettext(PACKAGE, "IDS_ST_BODY_ISSUER_COLON"));
+    }
+    if (index == 2) {
+        LOGD("DATA");
+        return strdup(dgettext(PACKAGE, "IDS_ST_BODY_CERTIFICATE_INFORMATION"));
+    }
+
+    else
+        LOGD("Wrong *index - return NULL");
+
+    return NULL;
+}
+
+static Elm_Genlist_Item_Class itc_group = {
+        .item_style       = "dialogue/grouptitle",
+        .func.text_get    = _gl_get_text_group,
+        .func.content_get = NULL,
+        .func.state_get   = NULL,
+        .func.del         = NULL
+};
+
+static Elm_Genlist_Item_Class itc_2text = {
+        .item_style       = "multiline/2text",
+        .func.text_get    = _gl_get_text,
+        .func.content_get = NULL,
+        .func.state_get   = NULL,
+        .func.del         = NULL
+};
+
+static Elm_Genlist_Item_Class itc_2text_multiline = {
+        .item_style       = "multiline/2text",
+        .func.text_get    = _gl_get_text_multiline,
+        .func.content_get = NULL,
+        .func.state_get   = NULL,
+        .func.del         = NULL
+};
+
+void show_detail_info() {
+
+    LOGD("show_detail_info()");
+    struct ug_data *ad = get_ug_data();
+
+    Evas_Object *genlist = NULL;
+    Evas_Object *back = NULL;
+
+    genlist = elm_genlist_add(ad->win_main);
+    elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+    evas_object_smart_callback_add(genlist, "selected", genlist_clicked_cb, NULL);
+
+    Elm_Object_Item * it;
+    int i = 0;
+    while (i < 12) {
+        if (i == 0) { // Adding label "Owner"
+            it = elm_genlist_item_append(genlist, &itc_group, (void *) 0, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+            elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+        }
+        if (i == 2) { // Adding label "Issuer"
+            it = elm_genlist_item_append(genlist, &itc_group, (void *) 1, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+            elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+        }
+        if (i == 4) { // Adding label "Certificate data"
+            it = elm_genlist_item_append(genlist, &itc_group, (void *) 2, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+            elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+        }
+
+        LOGD("Try to append %d genlist item...", i);
+
+        if (i == 11) {
+            it = elm_genlist_item_append(genlist, &itc_2text_multiline, (void*) i, NULL, ELM_GENLIST_ITEM_NONE, NULL,
+                    NULL);
+        } else {
+            it = elm_genlist_item_append(genlist, &itc_2text, (void*) i, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+        }
+        elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+        LOGD("Succesful append %d genlist", i);
+        i += 1;
+    }
+
+    LOGD("Push genlist");
+    Elm_Object_Item *navi_it = NULL;
+    navi_it = elm_naviframe_item_push(ad->navi_bar, dgettext(PACKAGE, "IDS_ST_BODY_CERTIFICATE_DETAILS"), NULL, NULL, genlist,
+            NULL);
+
+    LOGD("Setup callback for back button");
+    back = elm_object_item_part_content_get(navi_it, "prev_btn");
+    evas_object_smart_callback_add(back, "clicked", _back_cb, ad);
+}
+
+void get_info_cert_from_file_cb(struct ug_data *ad) {
+
+    LOGD("get_info_cert_from_file_cb()");
+
+    if (ad->data == NULL) {
+        LOGD("ad->data is NULL; return");
+        return;
+    }
+    fillCertDataField();
+    if(NULL == ad->data){
+        return;
+    }
+    char *cert_path = (char *) ad->data;
+    LOGD("cert_path = %s", cert_path);
+
+    LOGD("filling cert data...");
+    if (fillCertDataFromFile(cert_path)) {
+        LOGD("Error in fillCertDataFromFile( %s )", cert_path);
+        LOGD("EXIT");
+        return;
+    }
+
+    show_detail_info();
+
+    free(ad->data);
+    ad->data = NULL;
+}
+
+void get_info_cert_from_certificate_cb(CertSvcCertificate cert) {
+
+    LOGD("get_info_cert_from_certificate_cb()");
+
+    fillCertDataField();
+
+    LOGD("filling cert data...");
+    if (fillCertData(cert)) {
+        LOGD("Error in fillCertData");
+        LOGD("EXIT");
+        return;
+    }
+
+    show_detail_info();
+}
+
+static void _back_cb(void *data, Evas_Object* obj, void* event_info) {
+
+    clearCertData();
+}
diff --git a/view/src/certificates/pfx_cert/pfx_cert.c b/view/src/certificates/pfx_cert/pfx_cert.c
new file mode 100644 (file)
index 0000000..829b7f4
--- /dev/null
@@ -0,0 +1,291 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        pfx_cert.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#include <dlog.h>
+
+#include <cert-svc/ccert.h>
+#include <cert-svc/cinstance.h>
+#include <cert-svc/ccrl.h>
+#include <cert-svc/cocsp.h>
+#include <cert-svc/cpkcs12.h>
+#include <cert-svc/cstring.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+#include <dirent.h>
+
+static CertSvcStringList stringList;
+static char **alias_list = NULL;
+static char **email_list = NULL;
+static int  max_length   = 0;
+
+static char *_gl_text_get(void *data, Evas_Object *obj, const char *part);
+
+void clear_pfx_genlist_data(){
+
+    LOGD("clear_pfx_genlist_data()");
+    int i;
+    if(1 > max_length){
+        alias_list = NULL;
+        email_list = NULL;
+        return;
+    }
+    if (NULL != alias_list) {
+        for (i = 0; i < max_length; ++i) {
+            free (alias_list[i]);
+        }
+        free(alias_list);
+        alias_list = NULL;
+    }
+
+    if (NULL != email_list) {
+        for (i = 0; i < max_length; ++i) {
+            free (email_list[i]);
+        }
+        free(email_list);
+        email_list = NULL;
+    }
+    max_length = 0;
+}
+
+static Elm_Genlist_Item_Class itc_2text = {
+        .item_style = "2text.2",
+        .func.text_get = _gl_text_get,
+        .func.del = NULL
+};
+
+static char *_gl_text_get(void *data, Evas_Object *obj, const char *part) {
+
+    int index = (int) data;
+    if(max_length <= index || 0 > index){
+        return NULL;
+    }
+    if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.text")) {
+        return strdup(alias_list[index]);
+    } else if (!strcmp(part, "elm.text.2")) {
+        return strdup(email_list[index]);
+    }
+    return NULL;
+}
+
+static void back_pfx_cb(void *data, Evas_Object *obj, void *event_info){
+    clear_pfx_genlist_data();
+}
+
+static void pfx_selection_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("pfx_selection_cb()");
+
+    int index = (int) data;
+    struct ug_data *ad = get_ug_data();
+
+    Elm_Object_Item *it = (Elm_Object_Item *) elm_genlist_selected_item_get(obj);
+    if (NULL == it){
+        LOGD("it is NULL; return;");
+        return;
+    }
+    elm_genlist_item_selected_set(it, EINA_FALSE);
+
+    int                    certListlength = 0;
+    int                    returned;
+    CertSvcCertificateList certList;
+    CertSvcCertificate     cert;
+    CertSvcString          buffer;
+
+    if (CERTSVC_SUCCESS != certsvc_string_list_get_one(stringList, index, &buffer)) {
+        LOGD("certsvc_string_list_get_one returned not CERTSVC_SUCCESS");
+        return;
+    }
+    LOGD("alias == %s", buffer);
+
+    returned = certsvc_pkcs12_load_certificate_list(ad->instance, buffer, &certList);
+    if(CERTSVC_SUCCESS == returned) {
+        LOGD("certsvc_pkcs12_load_certificate_list returned CERTSVC_SUCCESS");
+    }
+    if (CERTSVC_BAD_ALLOC == returned) {
+        LOGD("certsvc_pkcs12_load_certificate_list returned CERTSVC_BAD_ALLOC");
+        return;
+    }
+    if (CERTSVC_FAIL == returned) {
+        LOGD("certsvc_pkcs12_load_certificate_list returned CERTSVC_FAIL");
+        return;
+    }
+    if (CERTSVC_IO_ERROR == returned) {
+        LOGD("certsvc_pkcs12_load_certificate_list returned CERTSVC_IO_ERROR");
+        return;
+    }
+
+    returned = certsvc_certificate_list_get_length(certList, &certListlength);
+    if(CERTSVC_SUCCESS == returned) {
+        LOGD("certsvc_certificate_list_get_length returned CERTSVC_SUCCESS");
+    }
+    if(CERTSVC_WRONG_ARGUMENT == returned) {
+        LOGD("certsvc_certificate_list_get_length returned CERTSVC_WRONG_ARGUMENT");
+        return;
+    }
+
+    LOGD("Certificate List Length = %d", certListlength);
+    if(certListlength<1){
+        return;
+    }
+
+    if(CERTSVC_SUCCESS != certsvc_certificate_list_get_one(certList, 0, &cert)) {
+        LOGD("certsvc_certificate_list_get_one returned not CERTSVC_SUCCESS");
+        return;
+    }
+
+    get_info_cert_from_certificate_cb(cert);
+}
+
+Eina_Bool pfx_cert_create_list(struct ug_data *ad){
+    LOGD("pfx_cert_create_list()");
+
+    int       result;
+    Eina_Bool no_content = EINA_TRUE;
+
+    result = certsvc_pkcs12_get_id_list(ad->instance, &stringList);
+    if (CERTSVC_FAIL == result){
+        LOGD("certsvc_pkcs12_get_id_list returned CERTSVC_FAIL!!!");
+        return no_content;
+    }
+    else if (CERTSVC_BAD_ALLOC == result){
+        LOGD("certsvc_pkcs12_get_id_list returned CERTSVC_BAD_ALLOC!!!");
+        return no_content;
+    }
+    else if (CERTSVC_IO_ERROR == result){
+        LOGD("certsvc_pkcs12_get_id_list returned CERTSVC_IO_ERROR!!!");
+        return no_content;
+    }
+    else if (CERTSVC_SUCCESS == result){
+        LOGD("certsvc_pkcs12_get_id_list returned CERTSVC_SUCCESS");
+    }
+    else {
+        LOGD("certsvc_pkcs12_get_id_list returned %d", result);
+    }
+
+    elm_genlist_clear(ad->genlist_pfx);
+    clear_pfx_genlist_data();
+
+    int i;
+    int list_length;
+    result = certsvc_string_list_get_length(stringList, &list_length);
+    if(CERTSVC_WRONG_ARGUMENT == result){
+        LOGD("certsvc_string_list_get_length returned CERTSVC_WRONG_ARGUMENT!!!");
+        return no_content;
+    }
+    else if (CERTSVC_SUCCESS == result){
+        LOGD("certsvc_string_list_get_length returned CERTSVC_SUCCESS");
+    }
+
+    max_length = list_length;
+    if(list_length > 0 ){
+        no_content = EINA_FALSE;
+        alias_list = malloc(list_length * sizeof(char *));
+        email_list = malloc(list_length * sizeof(char *));
+    }
+
+    CertSvcString buffer;
+    const char *char_buffer;
+    for(i = 0; i < list_length; i++) {
+        if (CERTSVC_SUCCESS != certsvc_string_list_get_one(stringList, i, &buffer)) {
+            alias_list[i] = strdup("ERROR WHILE LOADING STRING");
+            email_list[i] = strdup("");
+            continue;
+        }
+        certsvc_string_to_cstring(buffer, &char_buffer, NULL);
+        alias_list[i] = strdup(char_buffer);
+        email_list[i] = strdup(get_email(buffer));
+        LOGD("%s, %s", alias_list[i], email_list[i]);
+    }
+
+    for (i = 0; i < list_length; i++) {
+        LOGD("elm_genlist_item_append: %d: %s, %s", i, alias_list[i], email_list[i]);
+        elm_genlist_item_append(ad->genlist_pfx, &itc_2text, (void*) i, NULL, ELM_GENLIST_ITEM_NONE, pfx_selection_cb, (void*) i);
+    }
+    return no_content;
+}
+
+void pfx_cert_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("pfx_cert_cb()");
+
+    Evas_Object *install_button;
+    Evas_Object *uninstall_button;
+
+    if(NULL == data){
+        return;
+    }
+    struct ug_data *ad = (struct ug_data *) data;
+
+    install_button = elm_button_add(ad->navi_bar);
+    if (!install_button)
+        return;
+    elm_object_text_set(install_button, dgettext(PACKAGE, "IDS_ST_BUTTON_INSTALL"));
+    elm_object_style_set(install_button, "naviframe/toolbar/left");
+    evas_object_smart_callback_add(install_button, "clicked", install_button_cb, (void *) PKCS12);
+
+    uninstall_button = elm_button_add(ad->navi_bar);
+    if (!uninstall_button)
+        return;
+    elm_object_text_set(uninstall_button, dgettext(PACKAGE, "IDS_ST_BUTTON_UNINSTALL"));
+    elm_object_style_set(uninstall_button, "naviframe/toolbar/right");
+    evas_object_smart_callback_add(uninstall_button, "clicked", pfx_cert_remove_cb, ad);
+
+    ad->genlist_pfx = elm_genlist_add(ad->win_main);
+
+    Elm_Object_Item *itm = NULL;
+    if(!pfx_cert_create_list(ad)){
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_USER_CERTIFICATES"),
+                NULL,
+                NULL,
+                ad->genlist_pfx,
+                NULL);
+
+        elm_object_disabled_set(uninstall_button, EINA_FALSE);
+    }
+    else { // No content
+        Evas_Object *no_content = create_no_content_layout(ad);
+
+        if(!no_content){
+            LOGD("Cannot create no_content layout (NULL); return");
+            return;
+        }
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_USER_CERTIFICATES"),
+                NULL,
+                NULL,
+                no_content,
+                NULL);
+
+        elm_object_disabled_set(uninstall_button, EINA_TRUE);
+    }
+
+    elm_object_item_part_content_set(itm, "toolbar_button1", install_button);
+    elm_object_item_part_content_set(itm, "toolbar_button2", uninstall_button);
+
+    Evas_Object *back = NULL;
+    back = elm_object_item_part_content_get(itm, "prev_btn");
+    evas_object_smart_callback_add(back, "clicked", back_pfx_cb, NULL);
+}
diff --git a/view/src/certificates/pfx_cert/pfx_cert_install.c b/view/src/certificates/pfx_cert/pfx_cert_install.c
new file mode 100644 (file)
index 0000000..37f23d0
--- /dev/null
@@ -0,0 +1,183 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        pfx_cert_install.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#include <dirent.h>
+#include <dlog.h>
+
+#include <cert-svc/cpkcs12.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+static void install_pfx_button_cb (void *data, Evas_Object *obj, void *event_info);
+
+static void _clear_list (struct ListElement *listElement){
+    deleteList(listElement);
+}
+
+static void _back_cb (void *data, Evas_Object *obj, void *event_info){
+
+    if(NULL == data)
+        return;
+    _clear_list((struct ListElement *) data);
+}
+
+static struct ListElement* scan_dir(const char * dir_path, Evas_Object *list, struct ListElement *lastListElement){
+
+    DIR                *dir;
+    struct dirent      *dp;
+    Elm_Object_Item    *it;
+    struct ListElement *current;
+
+    dir = opendir(dir_path);
+    if (dir == NULL) {
+        LOGE("There's no such directory: %s", dir_path);
+        return lastListElement;
+    }
+    LOGD("Scanning dir (%s) - looking for certs", dir_path);
+    while ((dp = readdir(dir)) != NULL) {
+        char *tmp = NULL;
+        tmp = path_cat(dir_path, dp->d_name);
+        char *dot = strrchr(dp->d_name, '.');
+
+        if (dot != NULL && strlen(dot) > 3
+                && (strncmp(dot, ".pfx", 4) == 0 || strncmp(dot, ".PFX", 4) == 0 || strncmp(dot, ".p12", 4) == 0
+                        || strncmp(dot, ".P12", 4) == 0)) {
+            if (!(dp->d_type == DT_DIR)) {
+                current = addListElementWithPath(lastListElement, dp->d_name, dir_path);
+                lastListElement = current;
+                it = elm_list_item_append(list, dp->d_name, NULL, NULL, install_pfx_button_cb, current);
+                if (!it){
+                    LOGE("Error in elm_list_item_append");
+                }
+
+                LOGD("elm list append     = %s", current->name);
+                LOGD("elm list append dir = %s", current->path);
+            }
+
+        }
+        if (tmp) {
+            free(tmp);
+            tmp = NULL;
+        }
+    }
+    closedir(dir);
+    dir = NULL;
+
+    return lastListElement;
+}
+
+void pfx_cert_install_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("pfx_cert_cb");
+
+    if(NULL == data){
+        return;
+    }
+    struct ug_data *ad   = (struct ug_data *) data;
+    Evas_Object    *list = NULL;
+
+    struct ListElement *firstListElement = initList();
+    struct ListElement *lastListElement  = firstListElement;
+
+    list = elm_list_add(ad->win_main);
+    elm_list_mode_set(list, ELM_LIST_COMPRESS);
+
+    lastListElement = scan_dir(PATH_SDCARD, list, lastListElement);
+    lastListElement = scan_dir(PATH_MEDIA, list, lastListElement);
+    scan_dir(PATH_MEDIA_DOWNLOADS, list, lastListElement);
+
+    Elm_Object_Item *navi_it = NULL;
+    if(firstListElement->next) {
+        navi_it = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"),
+                NULL,
+                NULL,
+                list,
+                NULL);
+    }
+    else { //No content
+        Evas_Object *no_content = create_no_content_layout(ad);
+
+        if(!no_content){
+            LOGD("Cannot create no_content layout (NULL); return");
+            return;
+        }
+        navi_it = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"),
+                NULL,
+                NULL,
+                no_content,
+                NULL);
+    }
+
+    Evas_Object *back = elm_object_item_part_content_get(navi_it, "prev_btn");
+    evas_object_smart_callback_add(back, "clicked", _back_cb, firstListElement);
+}
+
+static void install_pfx_button_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("install_pfx_button_cb()");
+
+    struct ListElement *current = (struct ListElement *) data;
+    struct ug_data *ad = get_ug_data();
+    Elm_Object_Item *it = (Elm_Object_Item *) elm_list_selected_item_get(obj);
+    if (it){
+        elm_list_item_selected_set(it, EINA_FALSE);
+    }
+
+    char *path = NULL;
+    CertSvcString certSvcString_path;
+
+    path = path_cat(current->path, current->name);
+    if(!path){
+        LOGD("path_cat returned NULL; return");
+        return;
+    }
+
+    certsvc_string_new(ad->instance, path, strlen(path), &certSvcString_path);
+
+    int returned_value;
+    if(certsvc_pkcs12_has_password(ad->instance, certSvcString_path, &returned_value)
+            != CERTSVC_SUCCESS){
+        LOGD("Wrong PKCS12 or PFX file.");
+        elm_naviframe_item_pop(ad->navi_bar);
+        _clear_list(current);
+        free(path);
+        return;
+    }
+
+    switch (returned_value){
+    case CERTSVC_TRUE:
+        LOGD("%s/%s is passwod protected", current->path, current->name);
+        put_pkcs12_name_and_pass_cb(current, NULL, NULL);
+        free(path);
+        return;
+
+    case CERTSVC_FALSE:
+        LOGD("%s/%s is NOT passwod protected", current->path, current->name);
+        put_pkcs12_name_cb(current, NULL, NULL);
+        free(path);
+        return;
+    }
+    free(path);
+}
diff --git a/view/src/certificates/pfx_cert/pfx_cert_remove.c b/view/src/certificates/pfx_cert/pfx_cert_remove.c
new file mode 100644 (file)
index 0000000..06f55fd
--- /dev/null
@@ -0,0 +1,265 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        pfx_cert_remove.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#include <dlog.h>
+
+#include <cert-svc/ccert.h>
+#include <cert-svc/cinstance.h>
+#include <cert-svc/ccrl.h>
+#include <cert-svc/cocsp.h>
+#include <cert-svc/cpkcs12.h>
+#include <cert-svc/cstring.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+#include <dirent.h>
+
+static CertSvcStringList stringList;
+static Eina_Bool *state_pointer; //check states
+static int list_length = 0;
+static Elm_Object_Item *select_all_item = NULL;
+static Evas_Object *uninstallButton = NULL;
+
+static void uninstall_button_set () {
+
+    int i;
+    for (i = 1; i <= list_length; ++i) {
+        if (EINA_TRUE == state_pointer[i]){
+            elm_object_disabled_set(uninstallButton, EINA_FALSE);
+            return;
+        }
+    }
+    elm_object_disabled_set(uninstallButton, EINA_TRUE);
+}
+
+static void _gl_sel(void *data, Evas_Object *obj, void *event_info){
+
+    int index;
+    Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+    if (item != NULL) {
+        int i;
+        index = (int) elm_object_item_data_get(item);
+        elm_genlist_item_selected_set(item, EINA_FALSE);
+        state_pointer[index] = !state_pointer[index];
+        elm_genlist_item_update(item);
+
+        // check/uncheck all check-boxes when SELECT ALL is checked
+        if (0 == index){
+            for (i = 1; i <= list_length; ++i) {
+                state_pointer[i] = state_pointer[0];
+                item = elm_genlist_item_next_get(item);
+                elm_genlist_item_update(item);
+            }
+        }
+
+        // setup UNINSTALL button
+        uninstall_button_set ();
+
+        // Uncheck SELECT ALL when at least one check-box is unselected
+        if ((state_pointer[index] == EINA_FALSE) && (state_pointer[0] == EINA_TRUE)) {
+            state_pointer[0] = EINA_FALSE;
+            elm_genlist_item_update(select_all_item);
+        }
+
+        // Check SELECT ALL when all check-boxes are selected
+        if ((state_pointer[index] == EINA_TRUE) && (state_pointer[0] == EINA_FALSE)) {
+            Eina_Bool should_select_all = EINA_TRUE;
+            for(i = 1; i <= list_length; ++i){
+                if (EINA_FALSE == state_pointer[i]){
+                    should_select_all = EINA_FALSE;
+                }
+            }
+            state_pointer[0] = should_select_all;
+            elm_genlist_item_update(select_all_item);
+        }
+    }
+}
+
+static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part) {
+
+    return EINA_FALSE;
+}
+
+static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part) {
+    int index = (int) data;
+    Evas_Object *check;
+
+    if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+        check = elm_check_add(obj);
+        //set the State pointer to keep the current UI state of Checkbox.
+        elm_check_state_pointer_set(check, &(state_pointer[index]));
+
+        evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+        evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+        return check;
+    }
+
+    return NULL;
+}
+
+static char* _gl_get_text_sa(void *data, Evas_Object *obj, const char *part) {
+
+    return strdup(dgettext(PACKAGE, "IDS_ST_BODY_SELECT_ALL"));
+}
+
+static char *_gl_text_get(void *data, Evas_Object *obj, const char *part) {
+
+    int index = (int) data;
+
+    CertSvcString buffer;
+    if (certsvc_string_list_get_one(stringList, index-1, &buffer) != CERTSVC_SUCCESS) {
+        return strdup("ERROR WHILE LOADING STRING");
+    }
+    const char *char_buffer;
+    certsvc_string_to_cstring(buffer, &char_buffer, NULL);
+
+    if (!strcmp(part, "elm.text.1") || !strcmp(part, "elm.text")) {
+        return strdup(char_buffer);
+    } else if (!strcmp(part, "elm.text.2")) {
+        return strdup(get_email(buffer));
+    }
+
+    return NULL;
+}
+
+static Elm_Genlist_Item_Class itc_sa = {
+        .item_style = "1text.1icon",
+        .func.text_get = _gl_get_text_sa,
+        .func.content_get = _gl_content_get,
+        .func.state_get = NULL,
+        .func.del = NULL
+};
+
+static Elm_Genlist_Item_Class itc_2text = {
+        .item_style = "2text.1icon.2",
+        .func.text_get = _gl_text_get,
+        .func.content_get = _gl_content_get,
+        .func.state_get = _gl_state_get,
+        .func.del = NULL
+};
+
+static void genlist_pfx_delete_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("genlist_pfx_remove_cb");
+    (void)obj;
+    (void)event_info;
+
+    if(NULL == data){
+       return;
+    }
+    struct ug_data *ad = (struct ug_data *) data;
+    CertSvcString buffer;
+
+    int i;
+    if (EINA_TRUE == state_pointer[0]) {
+        for (i = 0; i < list_length; i++) {
+            if (certsvc_string_list_get_one(stringList, i, &buffer) == CERTSVC_SUCCESS) {
+                certsvc_pkcs12_delete(ad->instance, buffer);
+                LOGD("%s --- removed", buffer);
+            }
+            certsvc_string_free(buffer);
+        }
+    } else {;
+        for (i = 0; i < list_length; i++) {
+            if (EINA_TRUE == state_pointer[i+1] &&
+                    certsvc_string_list_get_one(stringList, i, &buffer) == CERTSVC_SUCCESS) {
+                certsvc_pkcs12_delete(ad->instance, buffer);
+                LOGD("%s --- removed", buffer);
+                certsvc_string_free(buffer);
+            }
+        }
+    }
+    free(state_pointer);
+    elm_genlist_clear(ad->genlist_pfx);
+    clear_pfx_genlist_data();
+    elm_naviframe_item_pop(ad->navi_bar);
+    elm_naviframe_item_pop(ad->navi_bar);
+    pfx_cert_cb(ad, NULL, NULL); //TODO: This may not be the optimal solution
+                                 // Refactoring may be needed
+}
+
+static void genlist_pfx_cancel_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("genlist_pfx_cancel_cb");
+    (void)obj;
+    (void)event_info;
+
+    if(NULL == data){
+        return;
+    }
+    struct ug_data *ad = (struct ug_data *) data;
+
+    free(state_pointer);
+    pfx_cert_create_list(ad);
+    elm_naviframe_item_pop(ad->navi_bar);
+}
+
+void pfx_cert_remove_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("pfx_cert_remove_cb");
+
+    struct ug_data *ad = (struct ug_data *) data;
+    Evas_Object *genlist = NULL;
+    Evas_Object *cancel_button;
+
+    certsvc_pkcs12_get_id_list(ad->instance, &stringList);
+
+    uninstallButton = elm_button_add(ad->navi_bar);
+    if (!uninstallButton)
+        return;
+    elm_object_text_set(uninstallButton, dgettext(PACKAGE, "IDS_ST_BUTTON_UNINSTALL"));
+    elm_object_style_set(uninstallButton, "naviframe/toolbar/left");
+    evas_object_smart_callback_add(uninstallButton, "clicked", genlist_pfx_delete_cb, ad);
+    elm_object_disabled_set(uninstallButton, EINA_TRUE);
+
+    cancel_button = elm_button_add(ad->navi_bar);
+    if (!cancel_button)
+        return;
+    elm_object_text_set(cancel_button, dgettext(PACKAGE, "IDS_ST_SK2_CANCEL"));
+    elm_object_style_set(cancel_button, "naviframe/toolbar/right");
+    evas_object_smart_callback_add(cancel_button, "clicked", genlist_pfx_cancel_cb, ad);
+
+    genlist = elm_genlist_add(ad->navi_bar);
+
+    select_all_item = elm_genlist_item_append(genlist, &itc_sa, (void *) 0, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
+
+    int i;
+    certsvc_string_list_get_length(stringList, &list_length);
+    state_pointer = malloc((list_length+1) * sizeof(Eina_Bool));
+    state_pointer[0] = EINA_FALSE;
+    for (i = 1; i < list_length + 1; i++) {
+        state_pointer[i] = EINA_FALSE;
+        elm_genlist_item_append( genlist, &itc_2text, (void *) i, NULL, ELM_GENLIST_ITEM_NONE, _gl_sel, NULL);
+
+    }
+    Elm_Object_Item *itm = elm_naviframe_item_push(
+            ad->navi_bar,
+            dgettext(PACKAGE, "IDS_ST_BUTTON_UNINSTALL"),
+            NULL,
+            NULL,
+            genlist,
+            NULL);
+    elm_object_item_part_content_set(itm, "toolbar_button1", uninstallButton);
+    elm_object_item_part_content_set(itm, "toolbar_button2", cancel_button);
+    elm_object_item_part_content_unset(itm, "prev_btn");
+}
diff --git a/view/src/certificates/put_password_certificate.c b/view/src/certificates/put_password_certificate.c
new file mode 100644 (file)
index 0000000..6346c3e
--- /dev/null
@@ -0,0 +1,391 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        put_password_certificate.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#include <dlog.h>
+#include <cert-svc/cpkcs12.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+static const char * const dir_path = PATH_SDCARD;
+
+static Elm_Genlist_Item_Class itc_btn;
+static Elm_Genlist_Item_Class itc_group;
+static Elm_Genlist_Item_Class itc_entry;
+static Elm_Genlist_Item_Class itc_entry_passwd;
+static struct ListElement *current_file;
+
+static void _install_button_cb(void *data, Evas_Object *obj, void *event_info);
+static void _cancel_button_cb(void *data, Evas_Object *obj, void *event_info);
+
+static Elm_Object_Item *passwd_entry, *passwd_entry_label, *name_entry, *name_entry_label;
+Evas_Object *_entry = NULL;
+Evas_Object *_entry_pass = NULL;
+
+static Evas_Object *_singleline_editfield_add(Evas_Object *parent) {
+    LOGD("_singleline_editfield_add");
+    Evas_Object *layout;
+
+    layout = elm_layout_add(parent);
+    elm_layout_theme_set(layout, "layout", "editfield", "default"); // Default editfield layout style without top title.
+
+    _entry = elm_entry_add(parent);
+    elm_entry_scrollable_set(_entry, EINA_TRUE); // Make entry as scrollable single line.
+    elm_entry_single_line_set(_entry, EINA_TRUE);
+
+    elm_object_part_content_set(layout, "elm.swallow.content", _entry);
+    return layout;
+}
+
+static Evas_Object *_singleline_passfield_add(Evas_Object *parent) {
+    LOGD("_singleline_passfield_add");
+    Evas_Object *layout;
+
+    layout = elm_layout_add(parent);
+    elm_layout_theme_set(layout, "layout", "editfield", "default"); // Default editfield layout style without top title.
+
+    _entry_pass = elm_entry_add(parent);
+    elm_entry_scrollable_set(_entry_pass, EINA_TRUE); // Make entry as scrollable single line password.
+    elm_entry_single_line_set(_entry_pass, EINA_TRUE);
+    elm_entry_password_set(_entry_pass, EINA_TRUE);
+
+    elm_object_part_content_set(layout, "elm.swallow.content", _entry_pass);
+    return layout;
+}
+
+static Evas_Object *_gl_content_edit_get(void *data, Evas_Object *obj, const char *part) {
+    if (!strcmp(part, "elm.icon")) {
+        return _singleline_editfield_add(obj);
+    }
+    return NULL;
+}
+
+static Evas_Object *_gl_content_pass_get(void *data, Evas_Object *obj, const char *part) {
+    if (!strcmp(part, "elm.icon")) {
+        return _singleline_passfield_add(obj);
+    }
+    return NULL;
+}
+
+static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
+{
+    if (event_info)
+        elm_genlist_item_selected_set(event_info, EINA_FALSE);
+}
+
+static Evas_Object *_gl_button_get(void *data, Evas_Object *obj, const char *part) {
+
+    if (0 == (int) data) {
+        Evas_Object *btn = elm_button_add(obj);
+        elm_object_text_set(btn, dgettext(PACKAGE, "IDS_ST_BUTTON_INSTALL"));
+        evas_object_propagate_events_set(btn, EINA_FALSE);
+        evas_object_smart_callback_add(btn, "clicked", _install_button_cb, NULL);
+        return btn;
+    }
+    else if (1 == (int) data) {
+        Evas_Object *btn = elm_button_add(obj);
+        elm_object_text_set(btn, dgettext(PACKAGE, "IDS_ST_SK2_CANCEL"));
+        evas_object_propagate_events_set(btn, EINA_FALSE);
+        evas_object_smart_callback_add(btn, "clicked", _cancel_button_cb, NULL);
+        return btn;
+    }
+
+    return NULL;
+}
+
+static char* _gl_get_text_group(void *data, Evas_Object *obj, const char *part) {
+
+    int index = (int) data;
+    if (0 == index) {
+        LOGD("IDS_ST_BODY_ENTER_PASSWORD_C");
+        return strdup(dgettext(PACKAGE, "IDS_ST_BODY_ENTER_PASSWORD_C"));
+    }
+    else if (1 == index) {
+        LOGD("IDS_ST_BODY_ENTER_KEY_ALIAS_C");
+        return strdup(dgettext(PACKAGE, "IDS_ST_BODY_ENTER_KEY_ALIAS_C"));
+    }
+    else
+        LOGD("Wrong index - return NULL");
+
+    return NULL;
+}
+
+static void _set_itc_classes(void) {
+    itc_btn.item_style = "dialogue/1icon";
+    itc_btn.func.content_get = _gl_button_get;
+    itc_entry.func.state_get = NULL;
+    itc_entry.func.del = NULL;
+
+    itc_group.item_style = "dialogue/grouptitle";
+    itc_group.func.text_get = _gl_get_text_group;
+    itc_entry.func.state_get = NULL;
+    itc_entry.func.del = NULL;
+
+    itc_entry.item_style = "dialogue/1icon";
+    itc_entry.func.text_get = NULL;
+    itc_entry.func.content_get = _gl_content_edit_get;
+    itc_entry.func.state_get = NULL;
+    itc_entry.func.del = NULL;
+
+    itc_entry_passwd.item_style = "dialogue/1icon";
+    itc_entry_passwd.func.text_get = NULL;
+    itc_entry_passwd.func.content_get = _gl_content_pass_get;
+    itc_entry_passwd.func.state_get = NULL;
+    itc_entry_passwd.func.del = NULL;
+
+}
+
+static void _cancel_button_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    struct ug_data *ad = get_ug_data();
+
+    elm_naviframe_item_pop(ad->navi_bar);
+    elm_naviframe_item_pop(ad->navi_bar);
+}
+
+static void _install_button_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("_install_button_cb");
+
+    struct ug_data *ad = get_ug_data();
+
+    char *alias, *password, *path;
+    CertSvcString Alias, Path, Password;
+    int returned_value;
+    int is_unique = CERTSVC_FALSE;
+    CertSvcString pkcs_alias;
+    LOGD("alias:    %s", elm_entry_entry_get(_entry));
+
+    if(NULL == elm_entry_entry_get(_entry_pass))
+        password = NULL;
+    else {
+        password = strdup(elm_entry_entry_get(_entry_pass));
+        if (0 == strlen(password)){
+            free(password);
+            password = NULL;
+        }
+    }
+    alias = strdup(elm_entry_entry_get(_entry));
+    path = path_cat(current_file->path, current_file->name);
+    if (NULL == path) {
+        LOGD("patch_cat failed; return");
+        goto exit;
+    }
+
+    // Empty alias
+    if (NULL == alias || 1 > strlen(alias)) {
+        LOGD("alias is empty");
+        create_ok_pop(ad, dgettext(PACKAGE, "IDS_ST_BODY_ALIAS_CANNOT_BE_EMPTY"));
+        free(path);
+        goto exit;
+    }
+
+    certsvc_string_new(ad->instance, alias, strlen(alias), &pkcs_alias);
+    certsvc_pkcs12_alias_exists(ad->instance, pkcs_alias, &is_unique);
+    // Alias already exists
+    if (CERTSVC_FALSE == is_unique || 1 > strlen(alias)) {
+        LOGD("alias %s already exist", alias);
+        create_ok_pop(ad, dgettext(PACKAGE, "IDS_ST_BODY_ALIAS_ALREADY_EXISTS_ENTER_A_UNIQUE_ALIAS"));
+        free(path);
+        goto exit;
+    }
+    LOGD("certsvc_pkcs12_import_from_file( %s, %s, %s)", path, password, alias);
+    certsvc_string_new(ad->instance, alias, strlen(alias), &Alias);
+    certsvc_string_new(ad->instance, path, strlen(path), &Path);
+    certsvc_string_new(ad->instance, (password) ? password : "", (password) ? strlen(password) : 1, &Password);
+    returned_value = certsvc_pkcs12_import_from_file(ad->instance, Path, Password, Alias);
+    LOGD("certsvc_pkcs12_import_from_file -- result:");
+    free(path);
+    
+    switch (returned_value) {
+    case CERTSVC_SUCCESS:
+        LOGD("Certificate %s import success", current_file->name);
+        elm_naviframe_item_pop(ad->navi_bar);
+        elm_naviframe_item_pop(ad->navi_bar);
+        elm_genlist_clear(ad->genlist_pfx);   // TODO: This may not be the optimal solution
+        clear_pfx_genlist_data();             // Refactoring may be needed
+        elm_naviframe_item_pop(ad->navi_bar);
+        pfx_cert_cb(ad, NULL, NULL);
+        break;
+
+    case CERTSVC_INVALID_PASSWORD:
+        LOGD("Invalid password to %s", current_file->name);
+        break;
+
+    case CERTSVC_IO_ERROR:
+        LOGD("There's no such file!");
+        elm_naviframe_item_pop(ad->navi_bar);
+        elm_naviframe_item_pop(ad->navi_bar);
+        break;
+
+    case CERTSVC_WRONG_ARGUMENT:
+        LOGD("Wrong PKCS12 or PFX file.");
+        elm_naviframe_item_pop(ad->navi_bar);
+        elm_naviframe_item_pop(ad->navi_bar);
+        break;
+
+    case CERTSVC_DUPLICATED_ALIAS:
+        // This case should not happened - alias was already checked
+        LOGD("Failed. Such alias already exist. This should not happen");
+        break;
+
+    case CERTSVC_FAIL:
+        LOGD("Failed. Wrong password probably.");
+        create_ok_pop(ad, dgettext(PACKAGE, "IDS_ST_BODY_INCORRECT_PASSWORD"));
+        // Do NOT delete list in this case!!!
+        goto exit;
+
+    default:
+        LOGD("DEFAULT");
+        break;
+    }
+
+    deleteList(current_file);
+
+exit:
+    free(password);
+    free(alias);
+    return;
+}
+
+void put_pkcs12_name_and_pass_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("put_pkcs12_name_and_pass_cb");
+    struct ug_data *ad = get_ug_data();
+    current_file = (struct ListElement *) data;
+
+    _set_itc_classes();
+    Evas_Object *genlist = elm_genlist_add(ad->win_main);
+
+    passwd_entry_label = elm_genlist_item_append(
+            genlist,
+            &itc_group,
+            (void *) 0,
+            NULL,
+            ELM_GENLIST_ITEM_NONE,
+            _gl_sel,
+            NULL );
+
+    passwd_entry = elm_genlist_item_append(
+            genlist,
+            &itc_entry_passwd,
+            NULL,
+            NULL,
+            ELM_GENLIST_ITEM_NONE,
+            _gl_sel,
+            NULL );
+
+    name_entry_label = elm_genlist_item_append(
+            genlist,
+            &itc_group,
+            (void *) 1,
+            NULL,
+            ELM_GENLIST_ITEM_NONE,
+            _gl_sel,
+            NULL );
+
+    name_entry = elm_genlist_item_append(
+            genlist,
+            &itc_entry,
+            NULL,
+            NULL,
+            ELM_GENLIST_ITEM_NONE,
+            _gl_sel,
+            NULL );
+
+    elm_genlist_item_append(
+            genlist,
+            &itc_btn,
+            (void *) 0,
+            NULL,
+            ELM_GENLIST_ITEM_NONE,
+            _gl_sel,
+            NULL );
+
+    elm_genlist_item_append(
+            genlist,
+            &itc_btn,
+            (void *) 1,
+            NULL,
+            ELM_GENLIST_ITEM_NONE,
+            _gl_sel,
+            NULL );
+
+    Elm_Object_Item *navi_it = NULL;
+    navi_it = elm_naviframe_item_push(ad->navi_bar, dgettext(PACKAGE, "IDS_ST_BODY_INSTALL_CERTIFICATE"), NULL, NULL, genlist, NULL);
+    if (!navi_it){
+        LOGE("Error in elm_naviframe_item_push");
+    }
+}
+
+void put_pkcs12_name_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("put_pkcs12_name_cb");
+
+    struct ug_data *ad = get_ug_data();
+    current_file = (struct ListElement *) data;
+
+    _set_itc_classes();
+    Evas_Object *genlist = elm_genlist_add(ad->win_main);
+
+    name_entry_label = elm_genlist_item_append(
+                genlist,
+                &itc_group,
+                (void *) 1,
+                NULL,
+                ELM_GENLIST_ITEM_NONE,
+                _gl_sel,
+                NULL );
+
+    name_entry = elm_genlist_item_append(
+                genlist,
+                &itc_entry,
+                NULL,
+                NULL,
+                ELM_GENLIST_ITEM_NONE,
+                _gl_sel,
+                NULL );
+
+    elm_genlist_item_append(
+                genlist,
+                &itc_btn,
+                (void *) 0,
+                NULL,
+                ELM_GENLIST_ITEM_NONE,
+                _gl_sel,
+                NULL );
+
+    elm_genlist_item_append(
+                genlist,
+                &itc_btn,
+                (void *) 1,
+                NULL,
+                ELM_GENLIST_ITEM_NONE,
+                _gl_sel,
+                NULL );
+
+    Elm_Object_Item *navi_it = NULL;
+    elm_naviframe_item_push(ad->navi_bar, dgettext(PACKAGE, "IDS_ST_BODY_INSTALL_CERTIFICATE"), NULL, NULL, genlist, NULL);
+    if (!navi_it){
+        LOGE("Error in elm_naviframe_item_push");
+    }
+}
diff --git a/view/src/certificates/trusted_root_ca_cert/trusted_root_ca_cert.c b/view/src/certificates/trusted_root_ca_cert/trusted_root_ca_cert.c
new file mode 100644 (file)
index 0000000..ffb385f
--- /dev/null
@@ -0,0 +1,107 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        trusted_root_ca_cert.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#include <dlog.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+#include <dirent.h>
+
+Eina_Bool trusted_root_cert_create_list(struct ug_data *ad){
+    LOGD("trusted_root_cert_create_list()");
+
+    if(NULL == ad) {
+        return EINA_TRUE;
+    }
+    elm_list_clear(ad->list_to_refresh);
+
+    Eina_Bool no_content_bool = EINA_TRUE;
+    if(!make_list(ad, ad->list_to_refresh, PATH_CERT_TRUSTEDUSER, ad->list_element, TRUSTED_ROOT)){
+        no_content_bool = EINA_FALSE;
+    }
+    ad->list_element = findLastElement(ad->list_element);
+    if(!make_list(ad, ad->list_to_refresh, PATH_CERT_SSL_ETC, ad->list_element, TRUSTED_ROOT)){
+        no_content_bool = EINA_FALSE;
+    }
+
+    return no_content_bool;
+}
+
+void trusted_root_cert_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("trusted_root_cert_cb()");
+
+    if(NULL == data) {
+        return;
+    }
+    struct ug_data *ad = (struct ug_data *) data;
+    ad->type_of_screen = TRUSTED_ROOT_SCREEN;
+
+    struct ListElement *firstListElement = NULL;
+    struct ListElement *lastListElement  = NULL;
+    firstListElement = initList();
+    lastListElement  = firstListElement;
+    ad->list_element = firstListElement;
+
+    Evas_Object *toolbar = elm_toolbar_add(ad->navi_bar);
+    if (!toolbar)
+        return;
+    elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+
+    ad->list_to_refresh = NULL;
+    ad->list_to_refresh = elm_list_add(ad->win_main);
+    elm_list_mode_set(ad->list_to_refresh, ELM_LIST_COMPRESS);
+
+    Elm_Object_Item *itm;
+    if (!trusted_root_cert_create_list(ad)) { // There is some content
+
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"),
+                NULL,
+                NULL,
+                ad->list_to_refresh,
+                NULL);
+
+
+    } else {
+        // No content
+        Evas_Object *no_content = create_no_content_layout(ad);
+
+        if(!no_content){
+            LOGD("Cannot create no_content layout (NULL); return");
+            return;
+        }
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_TRUSTED_ROOT_CERTIFICATES"),
+                NULL,
+                NULL,
+                no_content,
+                NULL);
+    }
+
+    Evas_Object *back = NULL;
+    back = elm_object_item_part_content_get(itm, "prev_btn");
+    evas_object_smart_callback_add(back, "clicked", back_cb, ad);
+}
diff --git a/view/src/certificates/uninstall_certificate.c b/view/src/certificates/uninstall_certificate.c
new file mode 100644 (file)
index 0000000..c0f7762
--- /dev/null
@@ -0,0 +1,333 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        uninstall_certificate.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+static char        *__get_text_check         (void *data, Evas_Object *obj, const char *part);
+static Evas_Object *__get_content_check      (void *data, Evas_Object *eo, const char *part);
+static char        *__get_text_select_all    (void *data, Evas_Object *obj, const char *part);
+static Evas_Object *__get_content_select_all (void *data, Evas_Object *eo, const char *part);
+static void select_all_fn();
+static void deselect_all_fn();
+static void uninstall_cb (void *data, Evas_Object *obj, void *event_info);
+static void cancel_cb    (void *data, Evas_Object *obj, void *event_info);
+
+static char *dir_path;
+
+static Eina_Bool          select_all        = EINA_FALSE;
+static struct ListElement *firstListElement = NULL;
+static struct ListElement *lastListElement  = NULL;
+static Elm_Object_Item    *select_all_item  = NULL;
+static Evas_Object        *uninstallButton  = NULL;
+
+static Elm_Genlist_Item_Class itc_check = {
+        .item_style       = "dialogue/1text.1icon",
+        .func.content_get = __get_content_check,
+        .func.text_get    = __get_text_check
+};
+
+static enum CountOfSelected get_count_of_selected(struct ListElement *current){
+    LOGD("get_count_of_selected");
+
+    Eina_Bool all  = EINA_TRUE;
+    Eina_Bool none = EINA_TRUE;
+
+    if(NULL == current){
+        return SELECTED_NONE;
+    }
+
+    struct ListElement *listElement = nextElement(findFirstElement(current));
+    // first element is not a real element of list.
+    // so if there's only one list element it's means that the list is empty.
+    while(NULL != listElement){
+        if(none && listElement->isChecked){
+            none = EINA_FALSE;
+        }
+        if(all && !(listElement->isChecked)){
+            all = EINA_FALSE;
+        }
+        listElement = nextElement(listElement);
+    }
+
+    if(none){
+        LOGD("SELECTED_NONE");
+        return SELECTED_NONE;
+    }
+    else if(all){
+        LOGD("SELECTED_ALL");
+        return SELECTED_ALL;
+    }
+    // else
+    LOGD("SELECTED_FEW");
+    return SELECTED_FEW;
+}
+
+static char* __get_text_check(void *data, Evas_Object *obj, const char *part) {
+    struct ListElement *current = (struct ListElement*) data;
+    LOGD("__get_text_check --- uninstall");
+
+    if (strlen(current->title) < 1) {
+        return strdup(current->name);
+    }
+    return strdup(current->title);
+}
+
+static Evas_Object *__get_content_check(void *data, Evas_Object *eo, const char *part) {
+    struct ListElement *current = (struct ListElement*) data;
+
+    Evas_Object *toggle = elm_check_add(eo);
+
+    elm_check_state_pointer_set(toggle, &(current->isChecked));
+    LOGD("toggle <---> %s.isChecked", current->name);
+
+    return toggle;
+}
+
+static void __toggle(void *data, Evas_Object *obj, void *event_info) {
+
+    struct ListElement *current = (struct ListElement*) data;
+    if (current->isChecked) {
+        current->isChecked = EINA_FALSE;
+        LOGD("isChecked should be changed to FASLE --- %s", current->name);
+    } else {
+        current->isChecked = EINA_TRUE;
+        LOGD("isChecked should be changed to TRUE --- %s", current->name);
+    }
+
+    Eina_Bool count_of_selected;
+    count_of_selected = get_count_of_selected(current);
+    if(SELECTED_ALL == count_of_selected){
+        select_all = EINA_TRUE;
+        elm_object_disabled_set(uninstallButton, EINA_FALSE);
+    }
+    else{
+        select_all = EINA_FALSE;
+        if(SELECTED_NONE == count_of_selected){
+            elm_object_disabled_set(uninstallButton, EINA_TRUE);
+        }
+        else if(SELECTED_FEW == count_of_selected){
+            elm_object_disabled_set(uninstallButton, EINA_FALSE);
+        }
+    }
+
+    elm_genlist_item_update(event_info);
+    elm_genlist_item_update(select_all_item);
+    elm_genlist_item_selected_set(event_info, EINA_FALSE);
+}
+
+//----------------------------------
+
+static Elm_Genlist_Item_Class itc_select_all = {
+        .item_style       = "dialogue/1text.1icon",
+        .func.content_get = __get_content_select_all,
+        .func.text_get    = __get_text_select_all
+};
+
+static char* __get_text_select_all(void *data, Evas_Object *obj, const char *part) {
+    return strdup(dgettext(PACKAGE, "IDS_ST_BODY_SELECT_ALL"));
+}
+
+static Evas_Object *__get_content_select_all(void *data, Evas_Object *eo, const char *part) {
+
+    Evas_Object *toggle = elm_check_add(eo);
+    elm_check_state_pointer_set(toggle, &select_all);
+    evas_object_pass_events_set(toggle, EINA_TRUE);
+
+    return toggle;
+}
+
+static void __toggle_select_all(void *data, Evas_Object *obj, void *event_info) {
+
+    if (!select_all) {
+        select_all = EINA_TRUE;
+        select_all_fn();
+        elm_object_disabled_set(uninstallButton, EINA_FALSE);
+        LOGD("select_all should be changed to TURE");
+    } else {
+        select_all = EINA_FALSE;
+        deselect_all_fn();
+        elm_object_disabled_set(uninstallButton, EINA_TRUE);
+        LOGD("select_all should be changed to FALSE");
+    }
+
+    elm_genlist_item_update(event_info);
+    elm_genlist_item_selected_set(event_info, EINA_FALSE);
+}
+
+static void select_all_fn() {
+    LOGD("select_all_fn");
+    struct ListElement* current = firstListElement->next;
+    while (current != NULL) {
+        current->isChecked = EINA_TRUE;
+        elm_genlist_item_update(current->it);
+        current = current->next;
+    }
+}
+
+static void deselect_all_fn() {
+    LOGD("deselect_all_fn");
+    struct ListElement* current = firstListElement->next;
+    while (current != NULL) {
+        current->isChecked = EINA_FALSE;
+        elm_genlist_item_update(current->it);
+        current = current->next;
+    }
+}
+
+static void back_uninstall_cb() {
+    LOGD("back_uninstall_cb()");
+    struct ug_data *ad = get_ug_data();
+
+    deleteList(ad->list_element_install);
+    ad->list_element_install = NULL;
+
+    elm_naviframe_item_pop(ad->navi_bar);
+    //TODO: This may not be the optimal solution
+    // Refactoring may be needed
+    switch (ad->type_of_screen) {
+        case TRUSTED_ROOT_SCREEN:
+            LOGD("back to TRUSTED_ROOT_SCREEN");
+            trusted_root_cert_cb(ad, NULL, NULL);
+            break;
+        case USER_SCREEN:
+            LOGD("back to USER_SCREEN");
+            user_cert_cb(ad, NULL, NULL);
+            break;
+        default:
+            break;
+    }
+
+}
+
+static void cancel_cb(void *data, Evas_Object *obj, void *event_info) {
+    struct ug_data *ad = (struct ug_data *) data;
+
+    elm_naviframe_item_pop(ad->navi_bar);
+    back_uninstall_cb();
+}
+
+//----------------------------------
+
+void delete_cert_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("delete_cert_cb ()");
+
+    if(NULL == data){
+        return;
+    }
+    struct ug_data *ad = get_ug_data();
+
+     //*uninstall_button;
+    Evas_Object *cancel_button;
+    Evas_Object *genlist = NULL;
+    Eina_Bool   onlyOnce = EINA_TRUE;
+    firstListElement = initList();
+    lastListElement  = firstListElement;
+    ad->list_element_install = firstListElement;
+
+    dir_path = (char *) data;
+
+    uninstallButton = elm_button_add(ad->navi_bar);
+    if (!uninstallButton)
+        return;
+    elm_object_text_set(uninstallButton, dgettext(PACKAGE, "IDS_ST_BUTTON_UNINSTALL"));
+    elm_object_style_set(uninstallButton, "naviframe/toolbar/left");
+    evas_object_smart_callback_add(uninstallButton, "clicked", uninstall_cb, ad);
+    elm_object_disabled_set(uninstallButton, EINA_TRUE);
+
+    cancel_button = elm_button_add(ad->navi_bar);
+    if (!cancel_button)
+        return;
+    elm_object_text_set(cancel_button, dgettext(PACKAGE, "IDS_ST_SK2_CANCEL"));
+    elm_object_style_set(cancel_button, "naviframe/toolbar/right");
+    evas_object_smart_callback_add(cancel_button, "clicked", cancel_cb, ad);
+
+    genlist = elm_genlist_add(ad->win_main);
+
+    if (!make_list(ad, genlist, dir_path, lastListElement, TO_UNINSTALL)) {
+        struct ListElement *current = findFirstElement(firstListElement);
+        current = nextElement(current);
+        if (onlyOnce) {
+            onlyOnce = EINA_FALSE;
+            select_all_item = elm_genlist_item_append(genlist, &itc_select_all, NULL, NULL, ELM_GENLIST_ITEM_NONE, __toggle_select_all,
+                    NULL);
+            select_all = EINA_FALSE;
+            LOGD("Select All field added");
+        }
+        while (current) {
+            LOGD("current->title: %s", current->title);
+            Elm_Object_Item * it;
+            it = elm_genlist_item_append(genlist, &itc_check, current, NULL, ELM_GENLIST_ITEM_NONE, __toggle, current);
+            current->it = it;
+            LOGD("state pointer set to: %s", current->name);
+            current = nextElement(current);
+        }
+    }
+
+    Elm_Object_Item *itm = elm_naviframe_item_push(
+            ad->navi_bar,
+            dgettext(PACKAGE, "IDS_ST_BUTTON_UNINSTALL"),
+            NULL,
+            NULL,
+            genlist,
+            NULL);
+    elm_object_item_part_content_set(itm, "toolbar_button1", uninstallButton);
+    elm_object_item_part_content_set(itm, "toolbar_button2", cancel_button);
+
+    elm_object_item_part_content_unset(itm, "prev_btn");
+}
+
+static void uninstall_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("uninstall_cb");
+
+    struct ug_data *ad = (struct ug_data *) data;
+
+    struct ListElement* current = firstListElement->next;
+    Eina_Bool nothingToUninstall = EINA_TRUE;
+
+    struct ListElement* tmpListElement;
+
+    char *buf = NULL;
+
+    while (current != NULL) {
+        if (current->isChecked) {
+            buf =  path_cat(current->path, current->name);
+            LOGD("remove ( %s )", buf);
+            if (remove(buf)){
+                LOGE("Fail in removing path.");
+            }
+            LOGD("Uninstalled succesful -- %s!", current->name);
+            nothingToUninstall = EINA_FALSE;
+        }
+        tmpListElement = current;
+        current = current->next;
+        removeListElement(tmpListElement);
+    }
+    if (nothingToUninstall)
+        LOGD("Nothing to uninstall");
+
+    refresh_list(ad);
+    elm_naviframe_item_pop(ad->navi_bar);
+    back_uninstall_cb();
+}
diff --git a/view/src/certificates/user_cert/install_certificate.c b/view/src/certificates/user_cert/install_certificate.c
new file mode 100644 (file)
index 0000000..239ca99
--- /dev/null
@@ -0,0 +1,170 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        install_certificate.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+
+#define _GNU_SOURCE
+
+#include <dlog.h>
+#include <stdlib.h>
+#include <time.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+// add current date on the end of destination filename
+static void copy_add_date(char *source, char *dest);
+
+void user_search_cert_cb(void *data, Evas_Object *obj, void *event_info) {
+
+    LOGD("user_search_cert_cb()");
+    if(NULL == data){
+        return;
+    }
+    struct ug_data *ad = (struct ug_data *) data;
+    Evas_Object *list      = NULL;
+    Eina_Bool   is_content = EINA_FALSE;
+
+    struct ListElement *firstListElement = initList();
+    struct ListElement *lastListElement = firstListElement;
+    ad->list_element_install = lastListElement;
+
+    list = elm_list_add(ad->win_main);
+    elm_list_mode_set(list, ELM_LIST_COMPRESS);
+    evas_object_smart_callback_add(list, "selected", list_clicked_cb, NULL);
+
+    if(!make_list(ad, list, PATH_SDCARD, lastListElement, TO_INSTALL)){
+        is_content = EINA_TRUE;
+    }
+    lastListElement = findLastElement(lastListElement);
+
+    if(!make_list(ad, list, PATH_MEDIA, lastListElement, TO_INSTALL)){
+        is_content = EINA_TRUE;
+    }
+    lastListElement = findLastElement(lastListElement);
+
+    if(!make_list(ad, list, PATH_MEDIA_DOWNLOADS, lastListElement, TO_INSTALL)){
+        is_content = EINA_TRUE;
+    }
+
+    Elm_Object_Item *itm = NULL;
+    if(is_content) {
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"),
+                NULL,
+                NULL,
+                list,
+                NULL);
+    }
+    else { // No content
+        Evas_Object *no_content = create_no_content_layout(ad);
+
+        if(!no_content){
+            LOGD("Cannot create no_content layout (NULL); return");
+            return;
+        }
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_SELECT_CERTIFICATE_TO_INSTALL"),
+                NULL,
+                NULL,
+                no_content,
+                NULL);
+    }
+
+    Evas_Object *back = NULL;
+    back = elm_object_item_part_content_get(itm, "prev_btn");
+    evas_object_smart_callback_add(back, "clicked", back_install_cb, ad);
+}
+
+void install_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("install_cb");
+    struct ug_data *ad = get_ug_data();
+    if (NULL == data)
+        return;
+    struct ListElement *listElement = (struct ListElement *) data;
+    char *file_name = listElement->name;
+    LOGD("%s", file_name);
+    char *src = NULL;
+    char *dst = NULL;
+    src = path_cat(listElement->path, listElement->name);
+    if (!src)
+        return;
+    dst = path_cat(PATH_CERT_USER, listElement->name);
+    if (!dst){
+        free(src);
+        return;
+    }
+    LOGD("Start copying");
+    copy_add_date(src, dst);
+    free(src);
+    free(dst);
+    LOGD("End copying");
+
+    user_cert_create_list(ad);
+
+    elm_naviframe_item_pop(ad->navi_bar);
+    deleteList(ad->list_element_install);
+    ad->list_element_install = NULL;
+
+    elm_naviframe_item_pop(ad->navi_bar);
+    user_cert_cb(ad, NULL, NULL); //TODO: This may not be the optimal solution
+                                  // Refactoring may be needed
+}
+
+static void copy_add_date(char *source, char *dest) {
+    LOGD("copy_add_date()");
+    if (!source || !dest) {
+        LOGD("Null pointer to files");
+        return;
+    }
+    char *command;
+    int result;
+    char *dest_with_date;
+    char *dot;
+
+    dot = strrchr(dest, '.');
+    if (NULL != dot) {
+        dot[0] = 0;
+        result  = asprintf(&dest_with_date, "%s_%ld.%s", dest, time(NULL), &dot[1]);
+    }
+    else {
+        result  = asprintf(&dest_with_date, "%s_%ld", dest, time(NULL));
+    }
+    if (result < 0) {
+        LOGE("Error while allocating memory");
+        return;
+    }
+
+    result = asprintf(&command, "cp %s %s", source, dest_with_date);
+    free(dest_with_date);
+    if (command == NULL && result < 0) {
+        LOGD("Error while allocating memory");
+        return; //Error while allocating memory
+    }
+
+    LOGD("%s", command);
+    result = system(command);
+    LOGD("%s --- return %d", command, result);
+
+    free(command);
+    LOGD("copy() - done");
+}
diff --git a/view/src/certificates/user_cert/user_cert.c b/view/src/certificates/user_cert/user_cert.c
new file mode 100644 (file)
index 0000000..b5d0176
--- /dev/null
@@ -0,0 +1,110 @@
+/**
+ * Copyright (c) 2012 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.
+ *    You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/*
+ * @file        user_cert.c
+ * @author      Janusz Kozerski (j.kozerski@samsung.com)
+ * @version     1.0
+ * @brief
+ */
+#include <dlog.h>
+
+#include "certificates/certificate_util.h"
+#include "certificates/certificates.h"
+
+#include <dirent.h>
+
+Eina_Bool user_cert_create_list(struct ug_data *ad) {
+    LOGD("user_cert_create_list()");
+    elm_list_clear(ad->list_to_refresh);
+    return make_list(ad, ad->list_to_refresh, PATH_CERT_USER, ad->list_element, USER);
+}
+
+void user_cert_cb(void *data, Evas_Object *obj, void *event_info) {
+    LOGD("user_cert_cb()");
+
+    if(NULL == data){
+        return;
+    }
+    struct ug_data *ad = (struct ug_data *) data;
+    ad->type_of_screen = USER_SCREEN;
+
+    Evas_Object *install_button;
+    Evas_Object *uninstall_button;
+
+    struct ListElement *firstListElement = NULL;
+    struct ListElement *lastListElement  = NULL;
+    firstListElement = initList();
+    lastListElement  = firstListElement;
+    ad->list_element = firstListElement;
+
+    install_button = elm_button_add(ad->navi_bar);
+    if (!install_button)
+        return;
+    elm_object_text_set(install_button, dgettext(PACKAGE, "IDS_ST_BUTTON_INSTALL"));
+    elm_object_style_set(install_button, "naviframe/toolbar/left");
+    evas_object_smart_callback_add(install_button, "clicked", install_button_cb, USER);
+
+    uninstall_button = elm_button_add(ad->navi_bar);
+    if (!uninstall_button)
+        return;
+    elm_object_text_set(uninstall_button, dgettext(PACKAGE, "IDS_ST_BUTTON_UNINSTALL"));
+    elm_object_style_set(uninstall_button, "naviframe/toolbar/right");
+    evas_object_smart_callback_add(uninstall_button, "clicked", delete_cert_cb, PATH_CERT_USER);
+
+    ad->list_to_refresh = NULL;
+    ad->list_to_refresh = elm_list_add(ad->win_main);
+    elm_list_mode_set(ad->list_to_refresh, ELM_LIST_COMPRESS);
+
+    Elm_Object_Item *itm = NULL;
+    if (!user_cert_create_list(ad)) { // There is some content
+
+
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_EXTERNAL_CERTIFICATES"),
+                NULL,
+                NULL,
+                ad->list_to_refresh,
+                NULL);
+
+        elm_object_disabled_set(uninstall_button, EINA_FALSE);
+
+
+    } else { // No content
+        Evas_Object *no_content = create_no_content_layout(ad);
+
+        if(!no_content){
+            LOGD("Cannot create no_content layout (NULL); return");
+            return;
+        }
+        itm = elm_naviframe_item_push(
+                ad->navi_bar,
+                dgettext(PACKAGE, "IDS_ST_BODY_EXTERNAL_CERTIFICATES"),
+                NULL,
+                NULL,
+                no_content,
+                NULL);
+
+        elm_object_disabled_set(uninstall_button, EINA_TRUE);
+    }
+
+    elm_object_item_part_content_set(itm, "toolbar_button1", install_button);
+    elm_object_item_part_content_set(itm, "toolbar_button2", uninstall_button);
+
+    Evas_Object *back = NULL;
+    back = elm_object_item_part_content_get(itm, "prev_btn");
+    evas_object_smart_callback_add(back, "clicked", back_cb, ad);
+}