init code 32/133332/3
authorMyoungJune Park <mj2004.park@samsung.com>
Mon, 27 Mar 2017 04:37:59 +0000 (13:37 +0900)
committerMyoungJune Park <mj2004.park@samsung.com>
Mon, 12 Jun 2017 07:15:18 +0000 (16:15 +0900)
Change-Id: Ie6cb5cdbcabca325d23d3a230027d40f67c09644
Signed-off-by: MyoungJune Park <mj2004.park@samsung.com>
111 files changed:
CMakeLists.txt [new file with mode: 0644]
LICENSE [new file with mode: 0644]
data/factory-reset-util-small-display.edc [new file with mode: 0755]
data/factory-reset-util.edc [new file with mode: 0755]
data/images/A01-1_icon_factoryreset.png [new file with mode: 0644]
data/images/A01-1_progress_bg.png [new file with mode: 0644]
data/images/A01-1_progress_bg_dim.png [new file with mode: 0644]
data/images/A01-1_progress_pending_01.png [new file with mode: 0644]
data/images/A01-1_progress_pending_01_dim.png [new file with mode: 0644]
data/images/A01-1_progress_pending_02.png [new file with mode: 0644]
data/images/A01-1_progress_pending_02_dim.png [new file with mode: 0644]
factory-reset.manifest [new file with mode: 0644]
factory-reset.rule [new file with mode: 0644]
packaging/factory-reset-launch.service [new file with mode: 0644]
packaging/factory-reset.service [new file with mode: 0644]
packaging/factory-reset.spec [new file with mode: 0755]
packaging/org.tizen.factory-reset.service [new file with mode: 0644]
po/CMakeLists.txt [new file with mode: 0644]
po/POTFILES.in [new file with mode: 0644]
po/ar.po [new file with mode: 0644]
po/as.po [new file with mode: 0644]
po/az.po [new file with mode: 0644]
po/bg.po [new file with mode: 0644]
po/bn.po [new file with mode: 0644]
po/bn_BD.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.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_US.po [new file with mode: 0644]
po/et.po [new file with mode: 0644]
po/eu.po [new file with mode: 0644]
po/fa.po [new file with mode: 0644]
po/factory-reset.pot [new file with mode: 0644]
po/fi.po [new file with mode: 0644]
po/fr.po [new file with mode: 0644]
po/fr_CA.po [new file with mode: 0644]
po/ga.po [new file with mode: 0644]
po/gl.po [new file with mode: 0644]
po/gu.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/km.po [new file with mode: 0644]
po/kn.po [new file with mode: 0644]
po/ko_KR.po [new file with mode: 0644]
po/ky_KG.po [new file with mode: 0644]
po/lo.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/ml.po [new file with mode: 0644]
po/mn_MN.po [new file with mode: 0755]
po/mr.po [new file with mode: 0644]
po/ms.po [new file with mode: 0644]
po/my.po [new file with mode: 0644]
po/nb.po [new file with mode: 0644]
po/ne.po [new file with mode: 0644]
po/nl.po [new file with mode: 0644]
po/or.po [new file with mode: 0644]
po/pa.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/si.po [new file with mode: 0755]
po/sk.po [new file with mode: 0644]
po/sl.po [new file with mode: 0644]
po/sq.po [new file with mode: 0644]
po/sr.po [new file with mode: 0644]
po/sv.po [new file with mode: 0644]
po/ta.po [new file with mode: 0644]
po/te.po [new file with mode: 0644]
po/tg_TJ.po [new file with mode: 0644]
po/th.po [new file with mode: 0644]
po/tk_TM.po [new file with mode: 0644]
po/tl.po [new file with mode: 0755]
po/tr_TR.po [new file with mode: 0644]
po/uk.po [new file with mode: 0644]
po/update-po.sh [new file with mode: 0755]
po/ur.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_TW.po [new file with mode: 0644]
script/build-backup-data.sh [new file with mode: 0755]
script/dump-frlog.sh [new file with mode: 0644]
script/factoryreset-verify-result.sh [new file with mode: 0755]
script/factoryreset-verify.sh [new file with mode: 0644]
script/run-factory-reset.sh [new file with mode: 0755]
src/ccerror.h [new file with mode: 0755]
src/factory-reset-util.c [new file with mode: 0755]
src/factory-reset-util.h [new file with mode: 0644]
src/factory-reset.c [new file with mode: 0644]
src/resetCCMode.c [new file with mode: 0755]
src/rstsmack.c [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ec56ef4
--- /dev/null
@@ -0,0 +1,105 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(factory-reset C)
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(EXEC_PREFIX "\${prefix}")
+SET(LIBDIR "\${prefix}/lib")
+SET(INCLUDEDIR "\${prefix}/include")
+SET(EDJDIR "\${prefix}/share/edje")
+SET(VERSION 0.1)
+
+SET(SRCS_RESET_CCMODE src/resetCCMode.c)
+SET(SRCS_RSTSMACK src/rstsmack.c)
+SET(SRCS_UTIL src/factory-reset-util.c)
+SET(SRCS src/factory-reset.c)
+SET(EDJ_SRCS ${CMAKE_SOURCE_DIR}/data/factory-reset-util.edc)
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+
+#IF("$ENV{CFLAGS}" MATCHES "-DTELEPHONY_DISABLE")
+#      MESSAGE("add -DTELEPHONY_DISABLE")
+#ELSE()
+#      SET(PKG_MODULES ${PKG_MODULES}
+#              tapi modem
+#      )
+#ENDIF()
+
+#IF("$ENV{CFLAGS}" MATCHES "-DCSC_DISABLE")
+#      MESSAGE("add -DCSC_DISABLE")
+#ELSE()
+#      SET(PKG_MODULES ${PKG_MODULES}
+#              csc-manager
+#      )
+#ENDIF()
+
+IF("${DISPLAY_RESOLUTION}" STREQUAL "320x320")
+       MESSAGE("font size is 22")
+       ADD_DEFINITIONS("-DFACTORY_RESET_FONT_SIZE=22")
+       SET(EDJ_SRCS ${CMAKE_SOURCE_DIR}/data/factory-reset-util-small-display.edc)
+ELSEIF("${DISPLAY_RESOLUTION}" STREQUAL "360x480")
+       MESSAGE("font size is 24")
+       ADD_DEFINITIONS("-DFACTORY_RESET_FONT_SIZE=24")
+       SET(EDJ_SRCS ${CMAKE_SOURCE_DIR}/data/factory-reset-util-small-display.edc)
+ELSEIF("${DISPLAY_RESOLUTION}" STREQUAL "480x800")
+       MESSAGE("font size is 24")
+       ADD_DEFINITIONS("-DFACTORY_RESET_FONT_SIZE=24")
+ENDIF()
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED appcore-efl evas edje elementary
+               libsmack dbus-1 dbus-glib-1 ${PKG_MODULES} )
+
+FOREACH(flag ${pkgs_CFLAGS})
+       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
+IF("${ARCH}" MATCHES "^arm.*")
+       ADD_DEFINITIONS("-DTARGET")
+       MESSAGE("add -DTARGET")
+ENDIF()
+
+ADD_DEFINITIONS("-DVENDOR=\"${VENDOR}\"")
+ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE}\"")
+ADD_DEFINITIONS("-DPACKAGE_NAME=\"${PKGNAME}\"")
+ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
+
+ADD_EXECUTABLE(resetCCMode ${SRCS_RESET_CCMODE})
+ADD_EXECUTABLE(rstsmack ${SRCS_RSTSMACK})
+ADD_EXECUTABLE(factory-reset-util ${SRCS_UTIL})
+ADD_EXECUTABLE(factory-reset ${SRCS})
+TARGET_LINK_LIBRARIES(rstsmack ${pkgs_LDFLAGS})
+TARGET_LINK_LIBRARIES(factory-reset-util ${pkgs_LDFLAGS})
+TARGET_LINK_LIBRARIES(factory-reset ${pkgs_LDFLAGS})
+
+ADD_CUSTOM_TARGET(factory-reset-util.edj
+               COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
+               ${EDJ_SRCS} ${CMAKE_BINARY_DIR}/data/factory-reset-util.edj
+               DEPENDS ${EDJ_SRCS}
+)
+ADD_DEPENDENCIES(factory-reset-util factory-reset-util.edj)
+
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/script/run-factory-reset.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/factoryreset-verify.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/factoryreset-verify-result.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/build-backup-data.sh DESTINATION bin)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/script/dump-frlog.sh DESTINATION /opt/etc/dump.d/module.d)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/factory-reset.rule DESTINATION /etc/smack/accesses2.d)
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/rstsmack DESTINATION bin)
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/factory-reset-util DESTINATION bin)
+INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/factory-reset DESTINATION bin)
+INSTALL(FILES ${CMAKE_BINARY_DIR}/data/factory-reset-util.edj DESTINATION ${EDJDIR})
+
+IF("$ENV{CFLAGS}" MATCHES "-DTIZEN_CC")
+       INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/resetCCMode DESTINATION bin)
+ENDIF()
+
+#add sub directory
+ADD_SUBDIRECTORY(po)
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..3b1668e
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,204 @@
+Copyright (c) 2000 - 2017 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/data/factory-reset-util-small-display.edc b/data/factory-reset-util-small-display.edc
new file mode 100755 (executable)
index 0000000..9145d2b
--- /dev/null
@@ -0,0 +1,193 @@
+#define IMAGE_DIR "./data/images/"
+#define ICON_FILE IMAGE_DIR"A01-1_samsung_gear_s_logo.png"
+
+collections {
+       group {
+               name: "main";
+               images {
+                       image: ICON_FILE COMP;
+               }
+
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "top_padding";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 10 10;
+                                       fixed: 0 0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel1.to_y: "bg";
+                                       rel2.relative: 1.0 100/480;
+                                       rel2.to_y: "bg";
+                                       align: 0.5 0.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "left_padding";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 5 0;
+                                       fixed: 1 0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel1.to_x: "bg";
+                                       rel2.relative: 0.02 1.0;
+                                       rel2.to_y: "bg";
+                                       align: 0.0 0.5;
+                                       color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "right_padding";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                     state: "default" 0.0;
+                                     min: 5 0;
+                                     fixed: 1 0;
+                                     rel1.relative: 0.98 0.0;
+                                     rel1.to_x: "bg";
+                                     rel2.relative: 1.0 1.0;
+                                     align: 1.0 0.5;
+                                     color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "img_icon";
+                               type: IMAGE;
+                               scale: 1;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       max: 240 120;
+                                       min: 240 120;
+                                       fixed: 1 1;
+                                       rel1.relative: 1/3 1.0;
+                                       rel1.to_x: "bg";
+                                       rel1.to_y: "top_padding";
+                                       rel2.relative: 2/3 220/480;
+                                       image.normal: ICON_FILE;
+                                       align: 0.5 0.5;
+                               }
+                       }
+                       part {
+                               name: "mid_padding1";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 1;
+                                       min: 10 10;
+                                       fixed: 0 1;
+                                       rel1.relative: 0.0 1.0;
+                                       rel1.to_y: "img_icon";
+                                       rel2.relative: 1.0 150/320;
+                                       align: 0.5 0.0;
+                                       color: 0 0 0 255;
+                              }
+                       }
+                       part {
+                               name: "txt_mesg_box";
+                               type: RECT;
+                               scale: 0;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 160 90;
+                                       fixed: 1 1;
+                                       rel1.relative: 1.0 1.0;
+                                       rel1.to_x: "left_padding";
+                                       rel1.to_y: "mid_padding1";
+                                       rel2.relative: 0.0 260/320;
+                                       rel2.to_x: "right_padding";
+                                       align: 0.5 0.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+
+                       part {
+                               name: "txt_mesg";
+                               type: SWALLOW;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 160 30;
+                                       fixed: 1 1;
+                                       rel1.relative: 1.0 0.5;
+                                       rel1.to_x: "left_padding";
+                                       rel1.to_y: "txt_mesg_box";
+                                       rel2.relative: 0.0 0.5;
+                                       rel2.to_x: "right_padding";
+                                       rel2.to_y: "txt_mesg_box";
+                                       align: 0.5 0.45;
+                               }
+                       }
+                       part {
+                               name: "mid_padding2";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 1;
+                                       min: 10 10;
+                                       fixed: 0 1;
+                                       rel1.relative: 1.0 1.0;
+                                       rel1.to_x: "left_padding";
+                                       rel1.to_y: "txt_mesg_box";
+                                       rel2.relative: 0.0 268/320;
+                                       rel2.to_x: "right_padding";
+                                       align: 0.5 0.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "pending_pbar";
+                               type: SWALLOW;
+                               scale: 0;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 16;
+                                       fixed: 0 1;
+                                       rel1.relative: 3.0 1.0;
+                                       rel1.to_x: "left_padding";
+                                       rel1.to_y: "mid_padding2";
+                                       rel2.relative: -2.0 288/320;
+                                       rel2.to_x: "right_padding";
+                                       align: 0.5 0.0;
+                               }
+                       }
+
+                       part {
+                               name: "bottom_padding";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 10 10;
+                                       fixed: 1 1;
+                                       rel1.relative: 1.0 1.0;
+                                       rel1.to_x: "left_padding";
+                                       rel1.to_y: "bg";
+                                       rel2.relative: 1.0 1.0;
+                                       align: 0.5 1.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+
+               }
+
+       }
+}
diff --git a/data/factory-reset-util.edc b/data/factory-reset-util.edc
new file mode 100755 (executable)
index 0000000..3c0158f
--- /dev/null
@@ -0,0 +1,175 @@
+#define IMAGE_DIR "./data/images/"
+#define ICON_FILE IMAGE_DIR"A01-1_icon_factoryreset.png"
+
+collections {
+       group {
+               name: "main";
+               images {
+                       image: ICON_FILE COMP;
+               }
+
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "top_padding";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                     state: "default" 0.0;
+                                       min: 10 10;
+                                       fixed: 0 0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel1.to_y: "bg";
+                                       rel2.relative: 1.0 290/1280;
+                                       rel2.to_y: "bg";
+                                       align: 0.5 0.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "left_padding";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 10 0;
+                                       fixed: 1 0;
+                                       rel1.relative: 0.0 0.0;
+                                       rel1.to_x: "bg";
+                                       rel2.relative: 0.05 1.0;
+                                       rel2.to_y: "bg";
+                                       align: 0.0 0.5;
+                                       color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "right_padding";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                     state: "default" 0.0;
+                                     min: 10 0;
+                                     fixed: 1 0;
+                                     rel1.relative: 0.95 0.0;
+                                     rel1.to_x: "bg";
+                                     rel2.relative: 1.0 1.0;
+                                     align: 1.0 0.5;
+                                     color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "img_icon";
+                               type: IMAGE;
+                               scale: 1;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 120 120;
+                                       fixed: 1 1;
+                                       rel1.relative: 1/3 1.0;
+                                       rel1.to_x: "bg";
+                                       rel1.to_y: "top_padding";
+                                       rel2.relative: 2/3 530/1280;
+                                       image.normal: ICON_FILE;
+                                       align: 0.5 0;
+                               }
+                       }
+                       part {
+                               name: "mid_padding1";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                     state: "default" 0.0;
+                                     visible: 1;
+                                     min: 10 10;
+                                     fixed: 0 1;
+                                     rel1.relative: 0.0 1.0;
+                                     rel1.to_y: "img_icon";
+                                     rel2.relative: 1.0 633/1280;
+                                     align: 0.5 0.0;
+                                     color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "pending_pbar";
+                               type: SWALLOW;
+                               scale: 0;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 0 16;
+                                       fixed: 0 1;
+                                       rel1 {
+                                               relative: 1.0 1.0;
+                                               to_x: "left_padding";
+                                               to_y: "mid_padding1";
+                                       }
+                                       rel2 {
+                                               relative: 0.0 665/1280;
+                                               to_x: "right_padding";
+                                       }
+                                       align: 0.5 0.0;
+                               }
+                       }
+                       part {
+                               name: "mid_padding2";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 1;
+                                       min: 10 10;
+                                       fixed: 0 1;
+                                       rel1.relative: 1.0 1.0;
+                                       rel1.to_x: "left_padding";
+                                       rel1.to_y: "pending_pbar";
+                                       rel2.relative: 0.0 699/1280;
+                                       rel2.to_x: "right_padding";
+                                       align: 0.5 0.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+                       part {
+                               name: "txt_mesg";
+                               type: SWALLOW;
+                               scale: 0;
+                               mouse_events: 0;
+                               description {
+                                       state: "default" 0.0;
+                                       min: 20 20;
+                                       max: 720 300;
+                                       fixed: 1 1;
+                                       rel1.relative: 1.0 1.0;
+                                       rel1.to_x: "left_padding";
+                                       rel1.to_y: "mid_padding2";
+                                       rel2.relative: 0.0 799/1280;
+                                       rel2.to_x: "right_padding";
+                                       align: 0.5 0.0;
+                               }
+                       }
+                       part {
+                               name: "bottom_padding";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1.relative: 1.0 1.0;
+                                       rel1.to_x: "left_padding";
+                                       rel1.to_y: "txt_mesg";
+                                       rel2.relative: 1.0 1.0;
+                                       align: 0.0 0.0;
+                                       color: 0 0 0 255;
+                               }
+                       }
+
+               }
+
+       }
+}
diff --git a/data/images/A01-1_icon_factoryreset.png b/data/images/A01-1_icon_factoryreset.png
new file mode 100644 (file)
index 0000000..9274d6b
Binary files /dev/null and b/data/images/A01-1_icon_factoryreset.png differ
diff --git a/data/images/A01-1_progress_bg.png b/data/images/A01-1_progress_bg.png
new file mode 100644 (file)
index 0000000..d247212
Binary files /dev/null and b/data/images/A01-1_progress_bg.png differ
diff --git a/data/images/A01-1_progress_bg_dim.png b/data/images/A01-1_progress_bg_dim.png
new file mode 100644 (file)
index 0000000..f1b1ab2
Binary files /dev/null and b/data/images/A01-1_progress_bg_dim.png differ
diff --git a/data/images/A01-1_progress_pending_01.png b/data/images/A01-1_progress_pending_01.png
new file mode 100644 (file)
index 0000000..b1f5189
Binary files /dev/null and b/data/images/A01-1_progress_pending_01.png differ
diff --git a/data/images/A01-1_progress_pending_01_dim.png b/data/images/A01-1_progress_pending_01_dim.png
new file mode 100644 (file)
index 0000000..664c638
Binary files /dev/null and b/data/images/A01-1_progress_pending_01_dim.png differ
diff --git a/data/images/A01-1_progress_pending_02.png b/data/images/A01-1_progress_pending_02.png
new file mode 100644 (file)
index 0000000..186fdc8
Binary files /dev/null and b/data/images/A01-1_progress_pending_02.png differ
diff --git a/data/images/A01-1_progress_pending_02_dim.png b/data/images/A01-1_progress_pending_02_dim.png
new file mode 100644 (file)
index 0000000..c86c590
Binary files /dev/null and b/data/images/A01-1_progress_pending_02_dim.png differ
diff --git a/factory-reset.manifest b/factory-reset.manifest
new file mode 100644 (file)
index 0000000..50e0dcd
--- /dev/null
@@ -0,0 +1,21 @@
+<manifest>
+       <define>
+               <domain name="factory-reset"/>
+       </define>
+
+       <assign>
+               <filesystem path="/opt/etc/dump.d/module.d/dump-frlog.sh" label="_" exec_label="none" />
+               <filesystem path="/usr/share/dbus-1/services/org.tizen.factory-reset.service" label="_" exec_label="none" />
+               <dbus name="org.tizen.factoryreset" own="factory-reset" bus="system">
+                       <node name="/org/tizen/factoryreset">
+                               <interface name="org.tizen.factoryreset.start">
+                                       <annotation name="com.tizen.smack" value="factory-reset" />
+                               </interface>
+                       </node>
+               </dbus>
+       </assign>
+
+       <request>
+               <domain name="factory-reset"/>
+       </request>
+</manifest>
diff --git a/factory-reset.rule b/factory-reset.rule
new file mode 100644 (file)
index 0000000..df4604a
--- /dev/null
@@ -0,0 +1,5 @@
+factory-reset telephony_framework::api_manager r
+factory-reset telephony_framework::api_modem x
+factory-reset telephony_framework::api_private rwx
+factory-reset security-server::api-privilege-by-pid w
+factory-reset e17::notification rw
diff --git a/packaging/factory-reset-launch.service b/packaging/factory-reset-launch.service
new file mode 100644 (file)
index 0000000..664a931
--- /dev/null
@@ -0,0 +1,7 @@
+[Unit]
+Description=launching factory reset by dbus
+
+[Service]
+Type=dbus
+BusName=org.tizen.factoryreset
+ExecStart=/usr/bin/factory-reset
diff --git a/packaging/factory-reset.service b/packaging/factory-reset.service
new file mode 100644 (file)
index 0000000..7c4d371
--- /dev/null
@@ -0,0 +1,12 @@
+[Unit]
+Description=factory reset on booting
+Before=tizen-boot.target
+
+ConditionPathExists=|/opt/.factoryreset
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/factory-reset
+
+[Install]
+WantedBy=multi-user.target
diff --git a/packaging/factory-reset.spec b/packaging/factory-reset.spec
new file mode 100755 (executable)
index 0000000..44979f1
--- /dev/null
@@ -0,0 +1,110 @@
+Name:       factory-reset
+Summary:    factory-reset scripts and uitls
+Version:    0.19.6
+Release:    2
+Group:      Applications/Core Applications
+License:    po/ms.po:3
+Source0:    %{name}-%{version}.tar.gz
+Source1:    factory-reset.service
+Source2:    factory-reset-launch.service
+Source3:    org.tizen.factory-reset.service
+ExclusiveArch: %{arm}
+BuildRequires: cmake
+BuildRequires: gettext-tools
+BuildRequires: edje-bin
+BuildRequires: embryo-bin
+BuildRequires: pkgconfig(appcore-efl)
+BuildRequires:  pkgconfig(elementary)
+#BuildRequires: pkgconfig(ecore-x)
+#BuildRequires: pkgconfig(utilX)
+BuildRequires: pkgconfig(evas)
+BuildRequires: pkgconfig(edje)
+BuildRequires: pkgconfig(libsmack)
+BuildRequires: pkgconfig(dbus-1)
+BuildRequires: pkgconfig(dbus-glib-1)
+
+Requires: /bin/tar
+Requires: unzip >= 6.0
+Requires: /bin/ps
+Requires: /bin/grep
+Requires: /bin/sleep
+Requires: /bin/mount
+Requires: /bin/umount
+Requires: /usr/bin/md5sum
+Requires: /usr/bin/expr
+Requires: /usr/bin/tr
+Requires: /usr/bin/awk
+
+%description
+Factory-reset is for returning the phone to the initial state. This makes the
+data of the phone to the default state and (if required) writes default
+preconfiguration
+It would be not only called by testers after many kind of verification tests
+but it also be called by Manufacture Steps for all products.
+
+%prep
+%setup -q
+
+%build
+%if 0%{?sec_product_feature_telephony_disable}
+export CFLAGS+=" -DTELEPHONY_DISABLE"
+%endif
+
+%if 0%{?sec_product_feature_csc_disable}
+export CFLAGS+=" -DCSC_DISABLE"
+%endif
+
+%if 0%{?sec_build_binary_debug_enable}
+export CFLAGS+=" -DDEBUG_BINARY"
+%endif
+
+%if 0%{?sec_product_feature_security_mdfpp_enable}
+export CFLAGS+=" -DTIZEN_CC"
+%endif
+
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+-DDISPLAY_RESOLUTION=%{sec_product_feature_display_resolution}
+
+make %{?jobs:-j%jobs}
+
+
+%install
+rm -rf %{buildroot}
+%make_install
+
+mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/
+install -m 0644 %SOURCE1 %{buildroot}%{_libdir}/systemd/system/factory-reset.service
+install -m 0644 %SOURCE2 %{buildroot}%{_libdir}/systemd/system/factory-reset-launch.service
+ln -s ../factory-reset.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/factory-reset.service
+mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
+#install -m 0644 %SOURCE3 %{buildroot}%{_datadir}/dbus-1/services/org.tizen.factory-reset.service
+install -m 0644 %SOURCE3 %{buildroot}%{_datadir}/dbus-1/system-services/org.tizen.factory-reset.service
+
+%post
+
+%postun
+
+
+%files
+%{_libdir}/systemd/system/factory-reset.service
+%{_libdir}/systemd/system/factory-reset-launch.service
+%{_libdir}/systemd/system/multi-user.target.wants/factory-reset.service
+%license LICENSE
+/etc/smack/accesses2.d/%{name}.rule
+%attr(700,root,root) %{_bindir}/*.sh
+%attr(755,root,root) %{_bindir}/rstsmack
+%attr(700,root,root) %{_bindir}/factory-reset-util
+%attr(744,root,root) %{_bindir}/factory-reset
+%{_datadir}/edje/factory-reset-util.edj
+%{_datadir}/locale/*/*/*.mo
+#%{_datadir}/dbus-1/services/org.tizen.factory-reset.service
+%{_datadir}/dbus-1/system-services/org.tizen.factory-reset.service
+%manifest factory-reset.manifest
+%attr(110,root,root) /opt/etc/dump.d/module.d/dump-frlog.sh
+
+%if 0%{?sec_product_feature_security_mdfpp_enable}
+%attr(700,root,root) %{_bindir}/resetCCMode
+%endif
+
+
+
diff --git a/packaging/org.tizen.factory-reset.service b/packaging/org.tizen.factory-reset.service
new file mode 100644 (file)
index 0000000..7feaa92
--- /dev/null
@@ -0,0 +1,5 @@
+[D-BUS Service]
+Name=org.tizen.factoryreset
+Exec=/bin/false
+SystemdService=factory-reset-launch.service
+User=root
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
new file mode 100644 (file)
index 0000000..016c26b
--- /dev/null
@@ -0,0 +1,23 @@
+# for i18n
+
+SET(POFILES ar as az bg bn bn_BD ca cs da de el_GR en_PH en en_US es_ES es_US et eu fa fi fr_CA fr ga gl gu he hi hr hu hy id is it_IT ja_JP ka kk km kn ko_KR ky_KG lo lt lv mk ml mn_MN mr ms my nb ne nl or pa pl pt_BR pt_PT ro ru_RU si sk sl sq sr sv ta te tg_TJ th tk_TM tl tr_TR uk ur uz vi zh_CN zh_HK zh_TW)
+SET(MSGFMT "/usr/bin/msgfmt")
+
+FOREACH(pofile ${POFILES})
+       SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile}.po)
+       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 share/locale/${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/POTFILES.in b/po/POTFILES.in
new file mode 100644 (file)
index 0000000..fd2736b
--- /dev/null
@@ -0,0 +1,2 @@
+# List of source files containing translatable strings.
+factory-reset-util.c
diff --git a/po/ar.po b/po/ar.po
new file mode 100644 (file)
index 0000000..54ce9cd
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "جار تنفيذ إعادة ضبط بيانات المصنع‬. الرجاء الانتظار..."
diff --git a/po/as.po b/po/as.po
new file mode 100644 (file)
index 0000000..2b0e7d6
--- /dev/null
+++ b/po/as.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ফেক্টৰী ডাটা পুনঃছেট সম্পন্ন কৰি আছে। অনুগ্ৰহ কৰি অপেক্ষা কৰক..."
diff --git a/po/az.po b/po/az.po
new file mode 100644 (file)
index 0000000..4c5c1fb
--- /dev/null
+++ b/po/az.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Zavod məlumatlarının bərpası aparılır. Lütfən gözləyin..."
diff --git a/po/bg.po b/po/bg.po
new file mode 100644 (file)
index 0000000..b85f33a
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Извършва се нулиране с фабричните данни. Моля, изчакайте..."
diff --git a/po/bn.po b/po/bn.po
new file mode 100644 (file)
index 0000000..78fe170
--- /dev/null
+++ b/po/bn.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ফ্যাক্টরি তথ্য পুনরায় সেট করা হচ্ছে৷ দয়া করে অপেক্ষা করুন..."
diff --git a/po/bn_BD.po b/po/bn_BD.po
new file mode 100644 (file)
index 0000000..7fc6ab0
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ফ্যাক্টরি তথ্য পুনঃনির্ধারণ করা হচ্ছে৷ অনুগ্রহপূর্বক অপেক্ষা করুন..."
diff --git a/po/ca.po b/po/ca.po
new file mode 100644 (file)
index 0000000..a69a8a1
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "S'estan restablint les dades de fàbrica. Esperi..."
diff --git a/po/cs.po b/po/cs.po
new file mode 100644 (file)
index 0000000..f974df7
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Obnovování výchozích nastavení.<br>Počkejte prosím..."
diff --git a/po/da.po b/po/da.po
new file mode 100644 (file)
index 0000000..48973b0
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Udfører nulstilling til fabriksstandard. Vent ..."
diff --git a/po/de.po b/po/de.po
new file mode 100644 (file)
index 0000000..f4b8674
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Auf Werkseinstellungen zurücksetzen. Bitte warten..."
diff --git a/po/el_GR.po b/po/el_GR.po
new file mode 100644 (file)
index 0000000..7c23d94
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Γίνεται επαναφορά των εργοστασιακών δεδομένων. Περιμένετε..."
diff --git a/po/en.po b/po/en.po
new file mode 100644 (file)
index 0000000..dd91ae4
--- /dev/null
+++ b/po/en.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Performing factory data reset.<br>Please wait..."
diff --git a/po/en_PH.po b/po/en_PH.po
new file mode 100644 (file)
index 0000000..dd91ae4
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Performing factory data reset.<br>Please wait..."
diff --git a/po/en_US.po b/po/en_US.po
new file mode 100644 (file)
index 0000000..dd91ae4
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Performing factory data reset.<br>Please wait..."
diff --git a/po/es_ES.po b/po/es_ES.po
new file mode 100644 (file)
index 0000000..5b148e9
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Restableciendo datos de fábrica.<br>Espere..."
diff --git a/po/es_US.po b/po/es_US.po
new file mode 100644 (file)
index 0000000..741c0c9
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Realizando restablecimiento de datos de fabrica. Espere..."
diff --git a/po/et.po b/po/et.po
new file mode 100644 (file)
index 0000000..0d3163d
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Tehaseandmete lähtestamine.<br>Palun oodake..."
diff --git a/po/eu.po b/po/eu.po
new file mode 100644 (file)
index 0000000..0053ba0
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Fabrikako datu berrezarpena egiten. Itxaron mesedez..."
diff --git a/po/fa.po b/po/fa.po
new file mode 100644 (file)
index 0000000..16a9501
--- /dev/null
+++ b/po/fa.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "در حال بازنشانی داده های کارخانه. لطفاً صبر کنید..."
diff --git a/po/factory-reset.pot b/po/factory-reset.pot
new file mode 100644 (file)
index 0000000..175a98c
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr ""
diff --git a/po/fi.po b/po/fi.po
new file mode 100644 (file)
index 0000000..6460ca6
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Alkuperäisiä tietoja palautetaan. Odota..."
diff --git a/po/fr.po b/po/fr.po
new file mode 100644 (file)
index 0000000..0252a95
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Réinitialisation des données par défaut. Veuillez patienter..."
diff --git a/po/fr_CA.po b/po/fr_CA.po
new file mode 100644 (file)
index 0000000..0252a95
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Réinitialisation des données par défaut. Veuillez patienter..."
diff --git a/po/ga.po b/po/ga.po
new file mode 100644 (file)
index 0000000..898c3bb
--- /dev/null
+++ b/po/ga.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Athshocrú sonraí monarchan á dhéanamh. Fan go fóill..."
diff --git a/po/gl.po b/po/gl.po
new file mode 100644 (file)
index 0000000..d36ba7a
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Realizando o restablecemento dos datos de fábrica. Agarda..."
diff --git a/po/gu.po b/po/gu.po
new file mode 100644 (file)
index 0000000..6fc67db
--- /dev/null
+++ b/po/gu.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ફેકટરી ડેટાને ફરી ગોઠવી રહ્યું છે. કૃપયા પ્રતીક્ષા કરો..."
diff --git a/po/he.po b/po/he.po
new file mode 100644 (file)
index 0000000..7c8c320
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "מבצע איפוס לנתוני היצרן. נא המתן..."
diff --git a/po/hi.po b/po/hi.po
new file mode 100644 (file)
index 0000000..4583fce
--- /dev/null
+++ b/po/hi.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "फैक्टरी डाटा रीसेट निष्पादित कर रहा है। कृपया प्रतीक्षा करें..."
diff --git a/po/hr.po b/po/hr.po
new file mode 100644 (file)
index 0000000..43d1892
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Vraćanje tvorničkih postavki.<br>Pričekajte..."
diff --git a/po/hu.po b/po/hu.po
new file mode 100644 (file)
index 0000000..aa006df
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Gyári adatok visszaállítása.<br>Kis türelmet..."
diff --git a/po/hy.po b/po/hy.po
new file mode 100644 (file)
index 0000000..6658f81
--- /dev/null
+++ b/po/hy.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Կատարվում է գործարանային տվյալների հետադարձում: Խնդրում ենք սպասել..."
diff --git a/po/id.po b/po/id.po
new file mode 100644 (file)
index 0000000..0602bb1
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Melakukan reset data pabrik. Harap tunggu..."
diff --git a/po/is.po b/po/is.po
new file mode 100644 (file)
index 0000000..bab526e
--- /dev/null
+++ b/po/is.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Framkvæmi gagnafrumstillingu.<br>Augnablik..."
diff --git a/po/it_IT.po b/po/it_IT.po
new file mode 100644 (file)
index 0000000..910bc98
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Esecuzione del ripristino dati di fabbrica in corso. Attendere..."
diff --git a/po/ja_JP.po b/po/ja_JP.po
new file mode 100644 (file)
index 0000000..ddd096a
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "工場出荷状態に初期化中です。<br>しばらくお待ちください。"
diff --git a/po/ka.po b/po/ka.po
new file mode 100644 (file)
index 0000000..2dff77c
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "სრულდება ქარხნული მონაცემების დაბრუნება. გთხოვთ, დაელოდოთ..."
diff --git a/po/kk.po b/po/kk.po
new file mode 100644 (file)
index 0000000..937f977
--- /dev/null
+++ b/po/kk.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Зауыттық деректер қалпына келтірілуде. Күте тұрыңыз..."
diff --git a/po/km.po b/po/km.po
new file mode 100644 (file)
index 0000000..cc13c9b
--- /dev/null
+++ b/po/km.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "កំពុង​ធ្វើ​ការកំណត់​ទិន្នន័យ​ពី​រោងចក្រ​ឡើង​វិញ។ សូម​រង់ចាំ..."
diff --git a/po/kn.po b/po/kn.po
new file mode 100644 (file)
index 0000000..86854e9
--- /dev/null
+++ b/po/kn.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ಫ್ಯಾಕ್ಟರಿ ದತ್ತಾಂಶ ಮರುನಿಯೋಜನೆ ನಡೆಸುತ್ತಿದೆ. ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ..."
diff --git a/po/ko_KR.po b/po/ko_KR.po
new file mode 100644 (file)
index 0000000..5cc742f
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "[디바이스 전체 초기화] 실행 중입니다.<br>잠시 기다리세요..."
diff --git a/po/ky_KG.po b/po/ky_KG.po
new file mode 100644 (file)
index 0000000..dd91ae4
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Performing factory data reset.<br>Please wait..."
diff --git a/po/lo.po b/po/lo.po
new file mode 100644 (file)
index 0000000..3c4f007
--- /dev/null
+++ b/po/lo.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ດໍາເນີນການຕັ້ງຄ່າຂໍ້ມູນໂຮງງານໃໝ່. ກະລຸນາ ລໍຖ້າ..."
diff --git a/po/lt.po b/po/lt.po
new file mode 100644 (file)
index 0000000..1024f1b
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Gamykliniai duomenys nustatomi iš naujo. Palaukite..."
diff --git a/po/lv.po b/po/lv.po
new file mode 100644 (file)
index 0000000..4d85217
--- /dev/null
+++ b/po/lv.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Veic sākotnējo datu atiestati.<br>Lūdzu, uzgaidiet..."
diff --git a/po/mk.po b/po/mk.po
new file mode 100644 (file)
index 0000000..c5efd4f
--- /dev/null
+++ b/po/mk.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Се врши фабричко ресетирање на податоците. Почекајте..."
diff --git a/po/ml.po b/po/ml.po
new file mode 100644 (file)
index 0000000..a860909
--- /dev/null
+++ b/po/ml.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ഫാക്ടറി ഡാറ്റാ പുനസജ്ജീകരണം നിര്‍വഹിക്കുക. ദയവായി കാത്തിരിക്കുക..."
diff --git a/po/mn_MN.po b/po/mn_MN.po
new file mode 100755 (executable)
index 0000000..9a3eaa2
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-05-13 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Үйлдвэрийн өгөгдөл дахин тохируулж байна. Хүлээнэ үү..."
diff --git a/po/mr.po b/po/mr.po
new file mode 100644 (file)
index 0000000..45790d8
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "फॅक्टरी डेटा पुन्हा मांडणी करत आहे. कृपया प्रतीक्षा करा..."
diff --git a/po/ms.po b/po/ms.po
new file mode 100644 (file)
index 0000000..7b9e26a
--- /dev/null
+++ b/po/ms.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Menjalankan tetap semula data kilang. Sila tunggu..."
diff --git a/po/my.po b/po/my.po
new file mode 100644 (file)
index 0000000..4a26ff2
--- /dev/null
+++ b/po/my.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "စက္ရံု ေဒတာ ျပန္ဆင္ျခင္း ေဆာင္ရြက္ျခင္း။ ေက်းဇူးျပဳ၍ ေစာင့္ပါ..."
diff --git a/po/nb.po b/po/nb.po
new file mode 100644 (file)
index 0000000..088e51f
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Tilbakestilling til fabrikkstandard pågår. Vent litt..."
diff --git a/po/ne.po b/po/ne.po
new file mode 100644 (file)
index 0000000..cd77a57
--- /dev/null
+++ b/po/ne.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "फ्याक्टोरी डाटा रिसेट कार्य हुँदैछ। कृपया पर्खनुहोस्..."
diff --git a/po/nl.po b/po/nl.po
new file mode 100644 (file)
index 0000000..6e0d111
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Fabrieksinstellingen worden gereset. Even geduld..."
diff --git a/po/or.po b/po/or.po
new file mode 100644 (file)
index 0000000..1201656
--- /dev/null
+++ b/po/or.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ଫେକ୍ଟୋରୀ ଡାଟା ରିସେଟ୍ ସମ୍ପାଦନ କରୁଛି। ଦୟାକରି ଅପେକ୍ଷା କରନ୍ତୁ..."
diff --git a/po/pa.po b/po/pa.po
new file mode 100644 (file)
index 0000000..364de3d
--- /dev/null
+++ b/po/pa.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ਫੈਕਟਰੀ ਡੈਟਾ ਰੀਸੈੱਟ ਹੋ ਰਿਹਾ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਉਡੀਕ ਕਰੋ..."
diff --git a/po/pl.po b/po/pl.po
new file mode 100644 (file)
index 0000000..99a1478
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Przywracanie ustawień fabrycznych. Czekaj..."
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644 (file)
index 0000000..86a5269
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Realizando redefinição de dados de fábrica. Aguarde..."
diff --git a/po/pt_PT.po b/po/pt_PT.po
new file mode 100644 (file)
index 0000000..a33ee62
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "A executar reposição de dados de fábrica. Aguarde por favor..."
diff --git a/po/ro.po b/po/ro.po
new file mode 100644 (file)
index 0000000..7bf256c
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Se execută resetarea la datele din fabrică. Aşteptaţi..."
diff --git a/po/ru_RU.po b/po/ru_RU.po
new file mode 100644 (file)
index 0000000..c6291a8
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Выполнение сброса данных. Подождите..."
diff --git a/po/si.po b/po/si.po
new file mode 100755 (executable)
index 0000000..9cb307d
--- /dev/null
+++ b/po/si.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "කර්මාන්ත දත්ත නැවත සැකසීම සිදු කරමින් පවතී. කරුණාකර රැඳී සිටින්න..."
diff --git a/po/sk.po b/po/sk.po
new file mode 100644 (file)
index 0000000..7b8e1db
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Obnovuje sa nastavenie údajov od výrobcu. Počkajte, prosím..."
diff --git a/po/sl.po b/po/sl.po
new file mode 100644 (file)
index 0000000..d697b29
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Ponastavljanje na tovarniške podatke. Počakajte ..."
diff --git a/po/sq.po b/po/sq.po
new file mode 100644 (file)
index 0000000..571c096
--- /dev/null
+++ b/po/sq.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Duke kryer ricilësimin e të dhënave të fabrikës. Prit pak..."
diff --git a/po/sr.po b/po/sr.po
new file mode 100644 (file)
index 0000000..f715896
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Obavlja se fabričko resetovanje. Sačekaj..."
diff --git a/po/sv.po b/po/sv.po
new file mode 100644 (file)
index 0000000..4b0553f
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Genomför återställning till fabriksdata. Vänta..."
diff --git a/po/ta.po b/po/ta.po
new file mode 100644 (file)
index 0000000..5c2d57c
--- /dev/null
+++ b/po/ta.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ஃபேக்டரி தரவு ரீசெட் செய்கிறது. தயவுசெய்து காத்திருக்கவும்..."
diff --git a/po/te.po b/po/te.po
new file mode 100644 (file)
index 0000000..3217e56
--- /dev/null
+++ b/po/te.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "ఫ్యాక్టరీ డేటా రీసెట్‌ని అమలు చేస్తోంది. దయచేసి వేచి ఉండండి..."
diff --git a/po/tg_TJ.po b/po/tg_TJ.po
new file mode 100644 (file)
index 0000000..7d0d467
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Иҷрокунии танзими дубораи иттилооти аслӣ. Интизор шавед..."
diff --git a/po/th.po b/po/th.po
new file mode 100644 (file)
index 0000000..2f8cbad
--- /dev/null
+++ b/po/th.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "กำลังดำเนินการรีเซ็ทข้อมูลจากโรงงาน โปรดรอ..."
diff --git a/po/tk_TM.po b/po/tk_TM.po
new file mode 100644 (file)
index 0000000..acefe07
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Asyl sazlamalara nol edilýär. Garaşyň..."
diff --git a/po/tl.po b/po/tl.po
new file mode 100755 (executable)
index 0000000..993369f
--- /dev/null
+++ b/po/tl.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Nagsasagawa ng pag-reset ng factory data. Mangyaring maghintay..."
diff --git a/po/tr_TR.po b/po/tr_TR.po
new file mode 100644 (file)
index 0000000..cebd95e
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Fabrika veri sıfırlaması yapılıyor. Lütfen bekleyin..."
diff --git a/po/uk.po b/po/uk.po
new file mode 100644 (file)
index 0000000..e618c9e
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Скидання даних до заводських значень. Зачекайте..."
diff --git a/po/update-po.sh b/po/update-po.sh
new file mode 100755 (executable)
index 0000000..42c1f25
--- /dev/null
@@ -0,0 +1,81 @@
+#!/bin/sh
+#
+# Copyright (c) 2000 - 2012 Samsung Electronics Co., Ltd All Rights Reserved
+#
+# This file is part of the native-installer
+# Written by Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>,
+# Jaeho Lee <jaeho81.lee@samsung.com>, Shobhit Srivastava <shobhit.s@samsung.com>
+#
+# PROPRIETARY/CONFIDENTIAL
+#
+# This software is the confidential and proprietary information of
+# SAMSUNG ELECTRONICS (Confidential Information).
+# You shall not disclose such Confidential Information and shall
+# use it only in accordance with the terms of the license agreement
+# you entered into with SAMSUNG ELECTRONICS.  SAMSUNG make no
+# representations or warranties about the suitability
+# of the software, either express or implied, including but not
+# limited to the implied warranties of merchantability, fitness for a particular purpose, or non-
+# infringement. SAMSUNG shall not be liable for any damages suffered by licensee as
+# a result of using, modifying or distributing this software or its derivatives.
+#
+
+
+PACKAGE=factory-reset
+SRCROOT=../src
+POTFILES=POTFILES.in
+
+#ALL_LINGUAS="ar az bg ca cs da de_DE el_GR en_PH en en_US es_ES es_MX et eu fi fr_CA fr_FR ga gl hi hr hu hy is it_IT ja_JP ka kk ko_KR lt lv mk nb nl_NL pl pt_BR pt_PT ro ru_RU sk sl sr sv tr_TR uk uz zh_CN zh_HK zh_SG zh_TW"
+ALL_LINGUAS="as bn fa fil gu he id khmer kn lo ml mr ms my ne or pa sinhala sq ta te th ur vi"
+
+XGETTEXT=/usr/bin/xgettext
+MSGMERGE=/usr/bin/msgmerge
+
+echo -n "Make ${PACKAGE}.pot  "
+if [ ! -e $POTFILES ] ; then
+       echo "$POTFILES not found"
+       exit 1
+fi
+
+$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
+               --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES
+if [ $? -ne 0 ]; then
+       echo "xgettext error"
+       exit 1
+fi
+
+if [ ! -f ${PACKAGE}.po ]; then
+       echo "No such file: ${PACKAGE}.po"
+       exit 1
+fi
+
+rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot
+echo "done"
+
+for LANG in $ALL_LINGUAS; do
+       echo "$LANG : "
+
+       if [ ! -e $LANG.po ] ; then
+               sed 's/CHARSET/UTF-8/g' ${PACKAGE}.pot > ${LANG}.po
+               echo "${LANG}.po created"
+       else
+               if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
+                       if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
+                               rm -f ${LANG}.new.po
+                       else
+                               if mv -f ${LANG}.new.po ${LANG}.po; then
+                                       echo ""
+                               else
+                                       echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
+                                       rm -f ${LANG}.new.po
+                                       exit 1
+                               fi
+                       fi
+               else
+                       echo "msgmerge for $LANG failed!"
+                       rm -f ${LANG}.new.po
+               fi
+       fi
+       echo ""
+done
+
diff --git a/po/ur.po b/po/ur.po
new file mode 100644 (file)
index 0000000..e13f2e2
--- /dev/null
+++ b/po/ur.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "فیکٹری کوائف پھرسیٹ انجام دے رہا ہے۔ برائے مہربانی انتظار کریں..."
diff --git a/po/uz.po b/po/uz.po
new file mode 100644 (file)
index 0000000..2ecbf29
--- /dev/null
+++ b/po/uz.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Ishlab chiqaruvchi parametrlariga o‘tkazish. Iltimos, kuting..."
diff --git a/po/vi.po b/po/vi.po
new file mode 100644 (file)
index 0000000..cd8da17
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-10 11:16+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:41
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "Đang thực hiện khôi phục cài đặt gốc. Vui lòng chờ..."
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644 (file)
index 0000000..1c01cbf
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "正在进行出厂数据重置。请稍候…"
diff --git a/po/zh_HK.po b/po/zh_HK.po
new file mode 100644 (file)
index 0000000..67b2afb
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "正在執行重設為原廠設定。請稍候..."
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644 (file)
index 0000000..2817b46
--- /dev/null
@@ -0,0 +1,22 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2013-02-20 16:47+0900\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: factory-reset-util.c:34
+msgid "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING"
+msgstr "正在執行原廠資料重設。請稍候..."
diff --git a/script/build-backup-data.sh b/script/build-backup-data.sh
new file mode 100755 (executable)
index 0000000..bb8d58e
--- /dev/null
@@ -0,0 +1,97 @@
+#!/bin/bash
+#
+# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd.
+#
+# Contact: MyoungJune Park <mj2004.park@samsung.com>
+#   Created by Wonil Choi <wonil22.choi@samsung.com>
+#
+# 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.
+#
+
+
+
+## build backup data for factory reset
+
+
+[ $INSTALL_ROOT ] || INSTALL_ROOT="/"
+rdir=$INSTALL_ROOT/usr/system/RestoreDir
+optdir=$INSTALL_ROOT/opt
+CURDIR=`pwd`
+BACKUPLIST=`ls -1 $optdir`
+EXCLUDE_OPTION=
+# For removable preload app
+RESTORE_EXCEPTION_LIST=
+if [ -e $INSTALL_ROOT/usr/packages/restore_exception.list ]; then
+       xlist=$INSTALL_ROOT/usr/packages/restore_exception.list
+       RESTORE_EXCEPTION_LIST=`sed -e "s#^\/##g" $xlist`
+fi
+
+create_archive() {
+       echo "Create_Archive --------------------------------------------"
+       mkdir -p $rdir
+
+       BACKUP_FULLPATH=""
+       for i in $BACKUPLIST; do
+           BACKUP_FULLPATH="$BACKUP_FULLPATH opt/$i"
+       done
+
+       # create tar archives
+       echo "create archives... $BACKUP_FULLPATH"
+       cd $INSTALL_ROOT
+       bash -c "$BACKUPCMD $BACKUP_FULLPATH $EXCLUDE_OPTION"
+
+       # checksum
+       echo "calculate checksum..."
+       xpath="! \( -path \"opt/var/tmp/*\" \)"
+       for i in $RESTORE_EXCEPTION_LIST; do
+               xpath="$xpath ! \( -path \"$i/*\" \)"
+       done
+
+       for i in $BACKUP_FULLPATH; do
+               bash -c "find $i $xpath -type f -exec md5sum {} \; >> $rdir/checksum.md5"
+               bash -c "find $i $xpath -exec /usr/bin/chsmack {} \; >> $rdir/smack_label.txt"
+       done
+
+       chmod go-rwx $rdir/* $rdir $rdir/..
+}
+
+case "$1" in
+tar)
+#SCM use opt/var/tmp for temporal files, the files are removed before the binary creation
+       EXCLUDE_OPTION="--exclude=opt/var/tmp/*"
+       for i in $RESTORE_EXCEPTION_LIST; do
+               EXCLUDE_OPTION="$EXCLUDE_OPTION --exclude=$i"
+       done
+       BACKUPCMD="tar czf $rdir/opt.tar.gz"
+       create_archive
+       ;;
+""|zip)
+#SCM use opt/var/tmp for temporal files, the files are removed before the binary creation
+       EXCLUDE_OPTION="-x "opt/var/tmp/*""
+       for i in $RESTORE_EXCEPTION_LIST; do
+               EXCLUDE_OPTION="$EXCLUDE_OPTION \"$i/*\""
+       done
+       BACKUPCMD="zip -yrX- $rdir/opt.zip"
+       create_archive
+       ;;
+*)
+       echo "Usage: $0 {tar|zip}"
+       echo "zip is used by default"
+       cd $CURDIR
+       exit 2
+       ;;
+esac
+
+cd $CURDIR
+## end - building backup data
+
diff --git a/script/dump-frlog.sh b/script/dump-frlog.sh
new file mode 100644 (file)
index 0000000..b3e495d
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+#--------------------------------------
+#    Factory-reset
+#--------------------------------------
+FACTORY_RESET_DEBUG=$1/factory-reset
+/bin/mkdir -p  ${FACTORY_RESET_DEBUG}
+/bin/tar -cvf ${FACTORY_RESET_DEBUG}/factory-reset-log.tar /opt/.factoryreset*
+
diff --git a/script/factoryreset-verify-result.sh b/script/factoryreset-verify-result.sh
new file mode 100755 (executable)
index 0000000..d482158
--- /dev/null
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd.
+#
+# Contact: MyoungJune Park <mj2004.park@samsung.com>
+#   Created by Wonil Choi <wonil22.choi@samsung.com>
+#
+# 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.
+#
+
+
+
+
+logfile="/opt/var/log/.verify.log"
+frlog="/opt/.factoryreset.log"
+
+if [ -e $frlog ]; then
+       logfile="$frlog"
+fi
+
+/bin/grep "NG," ${logfile}
+if [ $? -ne 0 ];then
+        exit 0;
+else
+        exit 1;
+fi
diff --git a/script/factoryreset-verify.sh b/script/factoryreset-verify.sh
new file mode 100644 (file)
index 0000000..3302a21
--- /dev/null
@@ -0,0 +1,101 @@
+#!/bin/sh
+#
+# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd.
+#
+# Contact: MyoungJune Park <mj2004.park@samsung.com>
+#   Created by Wonil Choi <wonil22.choi@samsung.com>
+#
+# 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.
+#
+
+logfile="/tmp/.verify_fail.log"
+logchecksum="/tmp/verify_checksum.log"
+
+CURRENTPATH=`/bin/pwd`
+ROOTDIR=/
+
+OPT="opt/"
+rdir=usr/system/RestoreDir/
+
+cd ${ROOTDIR}
+
+check_verify () {
+# check checksums with target data(restored)
+       cd $ROOTDIR; /usr/bin/md5sum -c ${ROOTDIR}${rdir}checksum.md5  > $logchecksum
+
+       if [ $? -ne 0 ];then
+               echo "reset verify failed"
+               # RESERVED STRING for verification result
+               echo "FACTORYRESET VERIFICATION : FAIL"
+               /bin/grep FAIL $logchecksum
+               /bin/grep FAIL $logchecksum > $logfile
+               FACTORY_RESULT="NG,"
+# CALLS
+               CALLS_DB=`/bin/grep "phone-misc.db:" $logfile`
+#              CALLS_APP=`/bin/grep "org.tizen.phone" $logfile`
+# contact db also has call logs
+               CONTACT_DB=`/bin/grep "contacts-svc.db:" $logfile`
+               if [[ "z$CALLS_DB" != "z" || "z$CALLS_APP" != "z" ||
+                               "z$CONTACT_DB" != "z" ]]; then
+                       FACTORY_RESULT="${FACTORY_RESULT}CALLS/"
+               fi
+# SMEMO
+               SMEMO_DB=`/bin/grep "smemo.db:" $logfile`
+#              SMEMO_APP=`/bin/grep "org.tizen.smemo" $logfile`
+               if [[ "z$SMEMO_DB" != "z" || "z$SMEMO_APP" != "z" ]]; then
+                       FACTORY_RESULT="${FACTORY_RESULT}SMEMO/"
+               fi
+# MEMO
+               MEMO_DB=`/bin/grep "\.memo.db:" $logfile`
+#              MEMO_APP=`/bin/grep "org.tizen.memo" $logfile`
+               if [[ "z$MEMO_DB" != "z" || "z$MEMO_APP" != "z" ]]; then
+                       FACTORY_RESULT="${FACTORY_RESULT}MEMO/"
+               fi
+# SMS/MMS
+               MSG_DB=`/bin/grep "msg_service.db:" $logfile`
+#              MSG_APP=`/bin/grep "org.tizen.message" $logfile`
+#              MSG_SVC=`/bin/grep "msg-service" $logfile`
+               if [[ "z$MSG_DB" != "z" || "z$MSG_APP" != "z" ||
+                               "z$MSG_SVC" != "z" ]]; then
+                       FACTORY_RESULT="${FACTORY_RESULT}SMS/MMS/"
+               fi
+# ALARM
+               ALARM_DB=`/bin/grep "alarm.db:" $logfile`
+#              ALARM_APP=`/bin/grep "org.tizen.clock" $logfile`
+               ALARMMGR_DB=`/bin/grep "alarmmgr.db:" $logfile`
+               if [[ "z$ALARM_DB" != "z" || "z$ALARM_APP" != "z" ||
+                               "z$ALARMMGR_DB" != "z" ]]; then
+                       FACTORY_RESULT="${FACTORY_RESULT}ALARM/"
+               fi
+# CONTACT
+#              CONTACT_APP=`/bin/grep "org.tizen.contacts" $logfile`
+#              CONTACT_SVC=`/bin/grep "contacts-svc" $logfile`
+               if [[ "z$CONTACT_DB" != "z" || "z$CONTACT_APP" != "z" ||
+                               "z$CONTACT_SVC" != "z" ]]; then
+                       FACTORY_RESULT="${FACTORY_RESULT}CONTACT/"
+               fi
+
+## Report final results
+               if [ "$FACTORY_RESULT" != "NG," ]; then
+                       echo $FACTORY_RESULT
+               fi
+       else
+               echo "factory reset verify success"
+               echo "FACTORYRESET VERIFICATION : OK"
+       fi
+
+       /bin/rm -f $logfile
+       /bin/rm -f $logchecksum
+}
+
+check_verify
diff --git a/script/run-factory-reset.sh b/script/run-factory-reset.sh
new file mode 100755 (executable)
index 0000000..c2d1f54
--- /dev/null
@@ -0,0 +1,299 @@
+#!/bin/sh
+#
+# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd.
+#
+# Contact: MyoungJune Park <mj2004.park@samsung.com>
+#   Created by Wonil Choi <wonil22.choi@samsung.com>
+#
+# 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.
+#
+
+logfile="/opt/.factoryreset.log"
+logfile1="/opt/.factoryreset.log.1"
+logchecksum="/tmp/factory_reset_checksum.log"
+
+CURRENTPATH=`/bin/pwd`
+ROOTDIR=/
+USRDATADIR=/opt/usr
+
+OPT="opt/"
+rdir=/usr/system/RestoreDir/
+FLAG_FTRRST_CP=
+FLAG_WITHOUT_CP=
+
+for arg in $@
+do
+       case "$arg" in
+               "--ftrrstcp")
+                       FLAG_FTRRST_CP="yes"
+                       ;;
+               "--withoutcp")
+                       FLAG_WITHOUT_CP="yes"
+                       ;;
+       esac
+done
+
+cd ${ROOTDIR}
+
+kill_normal_daemons () {
+       LIST=`/bin/ls /proc/`
+       for i in $LIST
+       do
+               if [[ `/usr/bin/expr match "$i" '[0-9]*'` != 0 && -f /proc/${i}/cmdline ]]; then
+                       cmd=`/bin/cat /proc/${i}/cmdline | /usr/bin/tr '\000' ' ' | /usr/bin/awk '{print $1}'`
+                       if [ `/usr/bin/expr match "$cmd" '[\/a-zA-Z\-]*'` != 0 ]; then
+                               pname=`/bin/echo $cmd | /usr/bin/awk '{print $1}' | /usr/bin/awk -F '/' '{print $NF'}`
+                               if [[ $pname != "factory-reset" &&
+                                        $pname != "rc.shutdown" &&
+                                        $pname != "run-factory-reset.sh" &&
+                                        $pname != "enlightenment" &&
+                                        $pname != "factory-reset-util" &&
+                                        $pname != "dbus-daemon" &&
+                                        $pname != "init" &&
+                                        $pname != "-sh" &&
+                                        $pname != "sh" &&
+                                        $pname != "agetty" &&
+                                        $pname != "Xorg" &&
+                                        $pname != "initnormal" &&
+                                        $pname != "system-recovery" &&
+                                        $pname != "systemd-logind" &&
+                                        $pname != "systemd-journald" &&
+                                        $pname != "systemd-udevd" &&
+                                        $pname != "mpdecision" &&
+                                        $pname != "thermal-engine" &&
+                                        $pname != "rmt_storage" &&
+                                        $pname != "systemd" ]]
+                               then
+                                       echo $pname: kill $1 it.
+                                       /usr/bin/killall $1 $pname
+                               else
+                                       echo $pname: ignore killing.
+                               fi
+                       fi
+               fi
+       done
+}
+
+kill_before_reset () {
+## disable systemd-releaseagent
+       echo /bin/true > /sys/fs/cgroup/vip/release_agent
+       /bin/umount -lf /sys/fs/cgroup
+
+## kill processes
+       /usr/bin/killall lockscreen
+# avoid crash popup
+       /usr/bin/killall -STOP deviced
+# kill all apps first.
+       /usr/bin/killall launchpad_preloading_preinitializing_daemon
+
+       kill_normal_daemons
+# some apps revive scim. so kill again.
+       /usr/bin/killall -9 scim-launcher isf-panel-efl
+       echo "Check and kill again."
+       kill_normal_daemons -9
+}
+
+check_fail() {
+       cur_result=`/bin/grep " : FAIL" ${logfile}`
+       old_result=`/bin/grep " : FAIL" ${logfile1}`
+       if [[ "z$cur_result" != "z" && "z$old_result" != "z$cur_result" ]]; then
+               # reboot and retry
+               /bin/sync
+               /sbin/reboot
+       fi
+}
+
+# mount and umount partitions
+fs_ready() {
+# data in microsd should be preserved.
+       /bin/umount -lf ${OPT}/storage/sdcard
+       #for encryption. If encrypted, it is mounted one more time as encryptfs.
+       /bin/umount -lf ${OPT}/storage/sdcard
+# modem binary images should be preserved.
+       /bin/umount -lf ${OPT}/modem
+# phone usr partition should be reset
+       /bin/mkdir -p $USRDATADIR
+       /bin/mount $USRDATADIR
+       mret=`/bin/grep "$USRDATADIR " /proc/mounts | /usr/bin/awk '{print $1}'`
+       device=`/bin/grep "$USRDATADIR" /etc/fstab | /usr/bin/awk '{print $1}'`
+       device=`/usr/bin/readlink -f $device`
+       if [[ "z$mret" != "z" && "$mret" != "$device" ]]; then
+               echo "$mret != $device" >> $logfile
+               echo "$USRDATADIR may be encrypted : FAIL" >> $logfile
+               check_fail
+       fi
+       if [[ "z$mret" = "z" && "z$device" != "z" ]]; then
+               # mount failed. format and remount
+               echo "$USRDATADIR mount failed. format and retry to mount again" >> $logfile
+               fstype=`/bin/grep "$USRDATADIR " /etc/fstab | /usr/bin/awk '{print $3}'`
+               /sbin/mkfs.$fstype $device -F
+               /bin/mount -t $fstype $device $USRDATADIR
+       fi
+       mret=`/bin/grep "$USRDATADIR " /proc/mounts | /usr/bin/awk '{print $2}'`
+       if [ "z$mret" = "z" ]; then
+               echo "$USRDATADIR MOUNT : FAIL" >> $logfile
+               # reboot and retry
+               /bin/sync
+               /sbin/reboot
+       fi
+       check_fail
+}
+
+disable_keys() {
+       key_dir=`/bin/ls -1d /sys/devices/gpio_keys*`
+       if [ "z$key_dir" != "z" ]; then
+               key_code=`/bin/cat $key_dir/keys`
+               echo $key_code > $key_dir/disabled_keys
+       fi
+       # If cannot disabled keys by sysfs, kill apps about key operations
+       # systemctl stop starter
+       # /usr/bin/killall volume
+       # /usr/bin/killall cluster-home
+}
+
+if [ -r ${rdir}opt.tar.gz ]; then
+       RSTCMD="/bin/tar xvzf ${rdir}opt.tar.gz -C /"
+elif [ -r ${rdir}opt.zip ]; then
+       RSTCMD="/usr/bin/unzip -n -X ${rdir}opt.zip"
+else
+       exit 1
+fi
+
+## display ui
+cnt=0
+while [[ ! -e /tmp/.wm_ready && $cnt -le 10 ]]
+do
+       echo "waiting window manager $cnt" >> $logfile
+       cnt=$(($cnt+1))
+       /bin/sleep 1
+done
+
+if [ -e /tmp/.wm_ready ]; then
+       /usr/bin/factory-reset-util --displayui &
+       disable_keys
+fi
+
+## start
+echo "Factory Resetting..."
+echo "*******************" >> $logfile
+echo "Start Factory Reset" >> $logfile
+/bin/date >> $logfile
+
+## stop lcd on-off and turn lcd on
+ss_ready=`/bin/ps -ef | /bin/grep -e "deviced\|system_server" | /bin/grep -v grep`
+if [ "z$ss_ready" != "z" ]; then
+       /usr/bin/dbus-send --system --type=method_call --print-reply --reply-timeout=10000 \
+               --dest=org.tizen.system.deviced /Org/Tizen/System/DeviceD/Display \
+               org.tizen.system.deviced.display.stop
+fi
+
+/bin/sync
+if [ "z$FLAG_WITHOUT_CP" == "zyes" ]; then
+       echo "whithout cp" >> $logfile
+else
+## shutdown modem
+       cp_ok=`/bin/ps -ef | /bin/grep telephony-daemon | /bin/grep -v grep`
+       if [[ "z$cp_ok" != "z" && "z$FLAG_FTRRST_CP" == "zyes" ]]; then
+               /usr/bin/factory-reset-util --ftrrstcp
+               echo "factory reset cp" >> $logfile
+       elif [ "z$cp_ok" != "z" ]; then
+               # cp service reset is default value.
+               /usr/bin/factory-reset-util --svcrstcp
+               echo "cp shutdown" >> $logfile
+       else
+               echo "There is no telephony-daemon" >> $logfile
+       fi
+fi
+
+# reset audio - If not, some targets make noise when rebooting.
+#/usr/bin/sound_server --soundreset
+
+##kill_before_reset
+
+fs_ready
+echo "file system ready for factory reset" >> $logfile
+
+# For "Find my mobile" feature, it should work after factory reset.
+# So backup its data.
+#if [ -r /usr/share/oma-dm-cfg/factory_reset/dm_backup.sh ]; then
+#      echo "backup oma dm data"
+#      /usr/share/oma-dm-cfg/factory_reset/dm_backup.sh
+#fi
+
+## Restore
+echo "Delete & Restore System Files..." >> $logfile
+
+#remove all files
+rmlist=`/bin/ls -1 ${OPT}`
+for i in $rmlist
+do
+       # except /opt/system. because there are csc configurations and they are
+       # updated after binary downloaded. And they should be preserved.
+       if [ "$i" != "system" ]; then
+               /bin/rm -rf ${OPT}$i
+       fi
+done
+
+# For Tizen CC (Mobile Device Fundamentals Protection Profile Common Criteria)
+if [ -r /usr/bin/resetCCMode ]; then
+       echo "MDFPP enabled" >> $logfile
+       /usr/bin/resetCCMode >> $logfile
+fi
+
+/sbin/fstrim -v $USRDATADIR >> $logfile
+
+# Delete finished. Restore starts here.
+cd /
+$RSTCMD
+echo "$RSTCMD return $?" >> $logfile
+
+mret=`/bin/grep "$USRDATADIR " /proc/mounts | /bin/grep rw | /usr/bin/awk '{print $2}'`
+if [ "z$mret" = "z" ]; then
+       echo "$USRDATADIR is not RW MOUNTED, RESTORATION : FAIL" >> $logfile
+       /bin/rm -rf $USRDATADIR
+       check_fail
+fi
+
+#check_verify
+/usr/bin/factoryreset-verify.sh >> ${logfile}
+check_fail
+
+/bin/mkdir -p /opt/var/log/
+/bin/touch /opt/var/log/Xorg.0.log
+
+/usr/bin/rstsmack ${rdir}smack_label.txt >> $logfile
+
+# Removable preload tpk apps will be installed by package manager
+if [ -e $INSTALL_ROOT/usr/packages/restore_exception.list ]; then
+       pkgcmd -f
+fi
+
+cd ${CURRENTPATH}
+/bin/date >> $logfile
+
+## Factory Reset Count
+cnt_file="/opt/system/factory-reset-cnt"
+if [ -r $cnt_file ]; then
+       reset_cnt=`/bin/cat $cnt_file`
+       reset_cnt=$(($reset_cnt+1))
+       echo $reset_cnt > $cnt_file
+else
+       echo 1 > $cnt_file
+       /usr/bin/chsmack -a "*" $cnt_file
+       /bin/chmod 644 $cnt_file
+fi
+
+/bin/sync
+
+echo "Finish FactoryReset..."
+
diff --git a/src/ccerror.h b/src/ccerror.h
new file mode 100755 (executable)
index 0000000..e9d0d6c
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef CC_ERROR_H
+#define CC_ERROR_H
+
+#define CC_ERROR_BASE 500
+#define CC_ERROR_FILE_BASE 100
+#define CC_ERROR_FUNCTION_BASE 20
+#define CC_ERROR_NONE  0
+
+#define CC_ERROR_UTIL_GETCCMODE CC_ERROR_BASE //500
+#define CC_ERROR_UTIL_RESETSBFCCM   CC_ERROR_UTIL_GETCCMODE+CC_ERROR_FUNCTION_BASE
+#define CC_ERROR_ZEROISE CC_ERROR_UTIL_GETCCMODE+CC_ERROR_FILE_BASE
+#define CC_ERROR_VERIFY 100 //100
+
+#endif
diff --git a/src/factory-reset-util.c b/src/factory-reset-util.c
new file mode 100755 (executable)
index 0000000..508ebe2
--- /dev/null
@@ -0,0 +1,382 @@
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ *   Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * 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.
+ *
+ */
+
+#include <stdio.h>
+#include <getopt.h>
+
+#if 0
+#ifndef TELEPHONY_DISABLE
+#include <tapi_common.h>
+#include <TapiCommon.h>
+#include <ITapiModem.h>
+#include <ITapiCfg.h>
+#endif
+#endif
+
+//#include <Ecore_X.h>
+//#include <utilX.h>
+#include <appcore-efl.h>
+
+#include "factory-reset-util.h"
+
+#ifndef FACTORY_RESET_FONT_SIZE
+#define FACTORY_RESET_FONT_SIZE        34      /* default font size */
+#endif
+
+#define FACTORY_RESET_PROCESS_MSG dgettext("factory-reset",\
+               "IDS_ST_BODY_PERFORMING_FACTORY_DATA_RESET_PLEASE_WAIT_ING")
+
+static void win_del(void *data, Evas_Object *obj, void *event)
+{
+       elm_exit();
+}
+
+static void main_quit_cb(void *data, Evas_Object *obj,
+               const char *emission, const char *source)
+{
+       elm_exit();
+}
+
+static Evas_Object* create_win(const char *name)
+{
+       Evas_Object *eo;
+       //Ecore_X_Window xwin;
+       int w, h;
+
+       w = 200;
+       h = 400;
+
+       eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+       if (!eo)
+               return NULL;
+
+       elm_win_title_set(eo, name);
+       elm_win_borderless_set(eo, EINA_TRUE);
+       evas_object_smart_callback_add(eo, "delete,request", win_del, NULL);
+       //ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
+       evas_object_resize(eo, w, h);
+
+       /* For default color */
+       //ea_theme_changeable_ui_enabled_set(EINA_TRUE);
+
+#if 0
+       /* Get x-window */
+       xwin = elm_win_xwindow_get(eo);
+       if (xwin == 0) {
+               FR_LOGD("elm_win_xwindow_get() failed\n");
+               return eo;
+       }
+#endif
+
+       /* set notification type */
+       //ecore_x_netwm_window_type_set(xwin, ECORE_X_WINDOW_TYPE_NOTIFICATION);
+
+       /* set notification's priority */
+       //utilx_set_system_notification_level(ecore_x_display_get(), xwin, UTILX_NOTIFICATION_LEVEL_NORMAL);
+
+       return eo;
+}
+
+static Evas_Object* load_edj(Evas_Object *parent, const char *file,
+               const char *group)
+{
+       Evas_Object *eo;
+       int r;
+
+       eo = elm_layout_add(parent);
+       if (eo) {
+               r = elm_layout_file_set(eo, file, group);
+               if (!r) {
+                       evas_object_del(eo);
+                       return NULL;
+               }
+
+               evas_object_size_hint_weight_set(eo,
+                               EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       }
+
+       return eo;
+}
+
+#if 0
+static Evas_Object* _create_progressbar(Evas_Object* parent)
+{
+       Evas_Object *progressbar;
+       Evas_Object *layout = parent;
+
+       /* pending_list style */
+       progressbar = elm_progressbar_add(layout);
+       elm_object_style_set(progressbar, "pending");
+       elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+       evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_progressbar_pulse(progressbar, EINA_TRUE);
+       elm_object_part_content_set(layout,"pending_pbar", progressbar);
+       evas_object_show(progressbar);
+
+       return layout;
+}
+#endif
+
+static Evas_Object* _create_label(Evas_Object* parent)
+{
+       Evas_Object *label, *layout = parent;
+       char mesg[1024];
+
+       if (parent == NULL)
+               return NULL;
+
+       snprintf(mesg, sizeof(mesg),
+                       "<align=center><font color=#C7C7C7><font_size=%d>%s",
+                       FACTORY_RESET_FONT_SIZE, FACTORY_RESET_PROCESS_MSG);
+
+       label = elm_label_add(layout);
+       elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+       evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(layout, "txt_mesg", label);
+       elm_object_text_set(label, mesg);
+       evas_object_show(label);
+
+       return layout;
+}
+
+static int app_create(void *data)
+{
+       struct appdata *ad = data;
+       Evas_Object *win;
+       Evas_Object *ly;
+       int r;
+
+       /* create window */
+       win = create_win(PACKAGE);
+       if (win == NULL)
+               return -1;
+       ad->win = win;
+
+       elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_HIDE);
+       evas_object_show(win);
+
+       /* load edje */
+       ly = load_edj(win, EDJ_FILE, GRP_MAIN);
+       if (ly == NULL)
+               return -1;
+       elm_win_resize_object_add(win, ly);
+       edje_object_signal_callback_add(elm_layout_edje_get(ly),
+                       "EXIT", "*", main_quit_cb, NULL);
+       ad->ly_main = ly;
+
+       /* init internationalization */
+       r = appcore_set_i18n(PACKAGE, LOCALEDIR);
+       if (r)
+               return -1;
+
+       //_create_progressbar(ly);
+       _create_label(ly);
+
+       evas_object_show(ly);
+       evas_object_show(win);
+
+       return 0;
+}
+
+static int app_terminate(void *data)
+{
+       struct appdata *ad = data;
+
+       if (ad->ly_main)
+               evas_object_del(ad->ly_main);
+
+       if (ad->win)
+               evas_object_del(ad->win);
+
+       return 0;
+}
+
+static int app_pause(void *data)
+{
+       return 0;
+}
+
+static int app_resume(void *data)
+{
+       return 0;
+}
+
+static int app_reset(bundle *b, void *data)
+{
+       struct appdata *ad = data;
+
+       if (ad->win)
+               elm_win_activate(ad->win);
+
+       return 0;
+}
+
+#if 0
+#ifndef TELEPHONY_DISABLE
+#define CP_OFF_TIMEOUT         15
+static Ecore_Timer *timer_id;
+
+static void cp_shutdown_exit(TapiHandle *handle, const char *noti_id,
+               void *data, void *user_data)
+{
+       tel_deinit(handle);
+       ecore_main_loop_quit();
+}
+
+static void tapi_response(TapiHandle *handle, int result,
+               void *data, void *user_data)
+{
+       if (result != TAPI_API_SUCCESS) {
+               tel_deinit(handle);
+               ecore_main_loop_quit();
+       }
+}
+
+static Eina_Bool timeout_exit(void *data)
+{
+       perror("no notification from telephony!!");
+       ecore_main_loop_quit();
+       return EINA_TRUE;
+}
+
+static int cp_shutdown(void)
+{
+       int ret = 0;
+       TapiHandle *tapi_handle = 0;
+
+       tapi_handle = tel_init(0);
+
+       if (tapi_handle == NULL)
+               return -1;
+
+       FR_LOGD("CP shutdown\n");
+
+       ret = tel_register_noti_event(tapi_handle, TAPI_NOTI_MODEM_POWER,
+                       cp_shutdown_exit, NULL);
+       if (ret != TAPI_API_SUCCESS)
+               goto out;
+
+       ret = tel_process_power_command(tapi_handle, TAPI_PHONE_POWER_OFF,
+                       tapi_response, NULL);
+       if (ret != TAPI_API_SUCCESS)
+               goto out;
+
+       timer_id = ecore_timer_add(CP_OFF_TIMEOUT, timeout_exit, NULL);
+       if (timer_id == NULL)
+               ret = -1;
+out:
+       if (ret < 0) {
+               tel_deinit(tapi_handle);
+               return -1;
+       }
+       return 0;
+}
+
+/* reset modem configs */
+static int cp_resetcfg(int reset_config)
+{
+       int ret = 0;
+
+       ret = tel_sec_init();
+       if (ret != TAPI_SEC_API_SUCCESS)
+               return -1;
+       /*
+        * Full reset: Initialize all configuration data.
+        * Factory reset (AT+FACTORST=0,0): except IMEI(or ESN, MEID), RF
+        *   calibration date, MAC address.
+        * Service reset (Settings -> Back up and reset -> Factory data reset):
+        *   except IMEI(or ESN, MEID), RF calibration date, MAC address, Life
+        *   time.
+        * Custom reset: except IMEI(or ESN, MEID), RF calibration date, MAC
+        *   address, Life time, connection settings, WAP settings.
+        */
+       /* we use the Service reset currently. (except verizon) */
+       ret = tel_set_cfg_default_configuration(reset_config);
+       FR_LOGD("request cp reset with the flag value: %d\n", reset_config);
+       tel_sec_deinit();
+       return ret;
+}
+#else /* TELEPHONY_DISABLE */
+static int cp_shutdown(void) { return -1;} /* in order to avoid main loop */
+static int cp_resetcfg(int reset_config) { return 0;}
+#endif /* TELEPHONY_DISABLE */
+
+#endif
+
+
+int main(int argc, char *argv[])
+{
+       struct appdata ad;
+       struct appcore_ops ops = {
+               .create = app_create,
+               .terminate = app_terminate,
+               .pause = app_pause,
+               .resume = app_resume,
+               .reset = app_reset,
+       };
+       int opt;
+       int index = -1;
+       struct option options[] = {
+               {"displayui", 0, 0, 0},
+               {"svcrstcp", 0, 0, 0}, /* modem service reset */
+               {"ftrrstcp", 0, 0, 0}, /* modem factory reset */
+               {"", 0, 0, 0},
+               {"", 0, 0, 0},
+               {0, 0, 0, 0}
+       };
+
+
+       opt = getopt_long(argc, argv, "", options, &index);
+       if(opt == -1)
+               return 0;
+
+       switch(index) {
+       case 0 :
+               memset(&ad, 0x0, sizeof(struct appdata));
+               ops.data = &ad;
+               return appcore_efl_main(PACKAGE, &argc, &argv, &ops);
+       case 1 :
+               ecore_init();
+               //cp_resetcfg(TAPI_CFG_DEFAULT_SERVICE);
+               //if ( cp_shutdown() == 0) ecore_main_loop_begin();
+               ecore_shutdown();
+               break;
+       case 2 :
+               ecore_init();
+               //cp_resetcfg(TAPI_CFG_DEFAULT_FACTORY);
+               //if ( cp_shutdown() == 0) ecore_main_loop_begin();
+               ecore_shutdown();
+               break;
+               break;
+       case 3 :
+
+               break;
+       case 4 :
+
+               break;
+       default :
+               ;
+       }
+
+       return 0;
+}
+
diff --git a/src/factory-reset-util.h b/src/factory-reset-util.h
new file mode 100644 (file)
index 0000000..3f60557
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ *   Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * 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.
+ *
+ */
+
+#include <Elementary.h>
+
+#if !defined(PACKAGE)
+#  define PACKAGE "factory-reset-util"
+#endif
+#undef PACKAGE
+#define PACKAGE "factory-reset-util"
+#if !defined(LOCALEDIR)
+#  define LOCALEDIR "/usr/share/locale"
+#endif
+
+#if !defined(EDJDIR)
+#  define EDJDIR "/usr/share/edje"
+#endif
+
+#define EDJ_FILE "/usr/share/edje/factory-reset-util.edj"
+#define GRP_MAIN "main"
+
+struct appdata
+{
+        Evas_Object *win;
+        Evas_Object *ly_main;
+
+        /* add more variables here */
+};
+
+#ifdef DEBUG
+#  define FR_LOGD(fmt, arg...) printf(fmt, ##arg)
+#else
+#  define FR_LOGD(fmt, arg...)
+#endif
+
diff --git a/src/factory-reset.c b/src/factory-reset.c
new file mode 100644 (file)
index 0000000..a0de792
--- /dev/null
@@ -0,0 +1,341 @@
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ *   Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * 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.
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <linux/reboot.h>
+#include <linux/limits.h>
+#include <sys/reboot.h>
+#include <sys/wait.h>
+#include <sys/types.h>
+#include <time.h>
+#include <getopt.h>
+#include <dbus/dbus.h>
+#include <glib.h>
+#include <dbus/dbus-glib-lowlevel.h>
+
+#define RESET_FLAG_FILE "/opt/.factoryreset"
+static const char RESET_BACKUP_FILE[2][40] = {
+       "/usr/system/RestoreDir/opt.tar.gz",
+       "/usr/system/RestoreDir/opt.zip"
+};
+
+static const char *RUN_SCRIPT_FILE = "/usr/bin/run-factory-reset.sh";
+static const char *LOG_FILE = "/opt/.factoryreset.log";
+static const char *LOG_OLD = "/opt/.factoryreset.log.1";
+
+static char *reset_flag;
+
+void usage()
+{
+       printf("Options: \n");
+       printf("  -b, --dbus      Start with dbus signal message\n");
+       printf("\n");
+
+       exit(0);
+}
+
+//extern int   csc_svc_config_set_pre_config_for_factory_reset( void );
+/*==================================================================================
+* CSC API Code (12/10/11 applied)
+  - Include header : #include "csc-dispatch.h"
+  - API : int   csc_svc_config_set_pre_config_for_factory_reset( void );
+  - Return value : 1 (Success), 0 (Failure, 미리 저장해놓은 거래선 코드가 없을 경우 발생)
+====================================================================================*/
+int __system(const char *argv[])
+{
+       int status;
+       pid_t cpid;
+
+       cpid = fork();
+
+       if (cpid == -1) {
+               perror("fork");
+               return -1;
+       }
+
+       if (cpid == 0) {
+               execvp(argv[0], (char *const *)argv);
+               _exit(-1);
+       } else {
+               if (waitpid(cpid, &status, 0) == -1) {
+                       perror("waitpid failed");
+                       return -1;
+               }
+               if (WIFSIGNALED(status)) {
+                       perror("exit by signal");
+                       return -1;
+               }
+               if (!WIFEXITED(status)) {
+                       perror("exit abnormally");
+                       return -1;
+               }
+               if (WIFEXITED(status) && WEXITSTATUS(status)) {
+                       perror("child return error");
+                       return -1;
+               }
+       }
+       return 0;
+}
+
+
+#define RESET_DBUS_SERVICE     "org.tizen.factoryreset"
+#define RESET_DBUS_INTERFACE   RESET_DBUS_SERVICE".start"
+
+static const char granted_caller[6][16] = {
+       "setting",
+       "cscmgr",
+       "wms",
+       "bt", /* when the host device is changed */
+       "omadmagent",
+       "testmode"
+};
+
+static const char list_reset_flags[2][16] = {
+       "ftrrstcp",
+       "withoutcp"
+};
+
+
+static GMainLoop* loop;
+static DBusConnection *bus_conn = NULL;
+static const char *dbus_obj_path = "/org/tizen/factoryreset";
+
+static void unregistered_func (DBusConnection *connection, void *user_data)
+{
+       perror("factory-reset dbus unregistered\n");
+}
+
+static DBusHandlerResult message_func (DBusConnection *connection,
+               DBusMessage    *message,
+               void           *user_data)
+{
+       /* store the name of factory reset caller. */
+       char caller_name[NAME_MAX];
+       FILE *fp = NULL;
+       int i = 0;
+
+       if (dbus_message_get_type(message) != DBUS_MESSAGE_TYPE_SIGNAL) {
+               perror("Not a dbus-signal\n");
+               return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+       }
+
+       if (strncmp(dbus_message_get_interface(message), RESET_DBUS_INTERFACE,
+                               strlen(RESET_DBUS_INTERFACE)) != 0) {
+               printf("Not correct interface: \"%s\"\n",
+                               dbus_message_get_interface (message));
+               return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+       }
+
+       strncpy(caller_name, dbus_message_get_member(message),
+                       sizeof(caller_name));
+       caller_name[NAME_MAX - 1] = '\0';
+
+       while (strncmp(granted_caller[i], caller_name,
+                       strlen(granted_caller[i]))) {
+               if ((++i) >= sizeof(granted_caller) / sizeof(granted_caller[0])) {
+                       printf("Not a granted caller, %s\n", caller_name);
+                       /* XXX Warning: Comparing granted caller list cannot
+                        * grant good caller or not. Security is and should be
+                        * protected by the SMACK rule. This code is only for
+                        * preventing that a new unknown caller use factory
+                        * reset without confirmation of the factory reset
+                        * developer.
+                        */
+                       return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+               }
+       }
+       fp = fopen(LOG_FILE, "a");
+       if (fp != NULL) {
+               fprintf(fp, "Requested by %s, %s\n", caller_name,
+                               dbus_message_get_sender(message));
+               fclose(fp);
+       }
+
+       /* member name of dbus signal message may contains reset flags */
+       for (i = 0; i < sizeof(list_reset_flags) / sizeof(list_reset_flags[0]);
+                       i++) {
+               if (strstr(caller_name, list_reset_flags[i])) {
+                       snprintf(caller_name, NAME_MAX, "--%s",
+                                       list_reset_flags[i]);
+                       reset_flag = strdup(caller_name);
+                       break;
+               }
+       }
+
+       g_main_loop_quit(loop);
+       return DBUS_HANDLER_RESULT_HANDLED;
+}
+
+
+static DBusHandlerResult filter_func (DBusConnection  *connection,
+               DBusMessage *message, void *user_data)
+{
+       if (dbus_message_is_signal (message, DBUS_INTERFACE_LOCAL,
+                               "Disconnected")) {
+               /* Exit cleanly. */
+               printf("Disconnected");
+       }
+       return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+}
+
+static DBusObjectPathVTable dbus_vtable = {
+       unregistered_func,
+       message_func,
+       NULL,
+};
+
+static int process_dbus(void)
+{
+       int ret;
+       DBusError error;
+
+       loop = g_main_loop_new (NULL, FALSE);
+
+       dbus_error_init (&error);
+       bus_conn = dbus_bus_get(DBUS_BUS_SYSTEM, &error);
+       if (!bus_conn) {
+               perror("failed to get dbus system bus");
+               dbus_error_free(&error);
+               return -1;
+       }
+       /* Add message filter to handle Disconnected. */
+       dbus_connection_add_filter(bus_conn, (DBusHandleMessageFunction) filter_func,
+                       NULL, NULL);
+
+       ret = dbus_bus_request_name(bus_conn, RESET_DBUS_SERVICE, 0, &error);
+
+       /* Should be ret == -1, if error is set */
+       if (ret == -1 && dbus_error_is_set(&error)) {
+               dbus_error_free (&error);
+               return -1;
+       }
+
+       if (!dbus_connection_register_object_path(bus_conn, dbus_obj_path,
+                               &dbus_vtable, NULL)) {
+               return -1;
+       }
+
+       dbus_connection_setup_with_g_main(bus_conn, NULL);
+       g_main_loop_run(loop);
+       return 0;
+}
+
+
+int main(int argc, char **argv)
+{
+       FILE *fp;
+       int ret, i = 0, c;
+       const char *reset_cmd[] = {RUN_SCRIPT_FILE, NULL, NULL};
+       time_t t = time(NULL);
+       struct tm tm2 = *localtime(&t);
+
+       static struct option long_options[] = {
+               {"dbus", no_argument, NULL, 'b'},
+               {0, 0, 0, 0}
+       };
+
+       ret = setuid(0);
+       if (ret < 0) {
+               perror("wrong permission");
+               return -1;
+       }
+
+       /* If there is no factory-reset backup file, don't try to reset. */
+       while (!(fp = fopen(RESET_BACKUP_FILE[i++], "r"))) {
+               if (i >= sizeof(RESET_BACKUP_FILE) /
+                               sizeof(RESET_BACKUP_FILE[0])) {
+                       perror("backup file is not exist");
+                       return -1;
+               }
+       }
+       if (fp != NULL) fclose(fp);
+
+       if (rename(LOG_FILE, LOG_OLD) < 0)
+               perror("can't rename the old log file");
+
+       while (1) {
+
+               int option_index = -1;
+               c = getopt_long(argc, argv, "b", long_options, &option_index);
+               if (c == -1)
+                       break;
+
+               switch (c) {
+               case 'b':
+
+                       if (process_dbus() < 0) {
+                               perror("dbus has some errors.");
+                               return -1;
+                       }
+                       break;
+
+               default:
+                       usage();
+                       break;
+               }
+       }
+
+       if (optind < argc)
+               usage();
+
+#if 0
+       fp = fopen(RESET_FLAG_FILE, "w");
+       if (fp == NULL) {
+               perror("reset flg file open error");
+               return -1;
+       }
+       fclose(fp);
+#endif
+
+       // Factory Reset Run
+       reset_cmd[1] = reset_flag;
+       __system(reset_cmd);
+
+       // open log file (add local time)
+       fp = fopen(LOG_FILE, "a");
+       if (fp == NULL) {
+               perror("reset log file open error");
+               return -2;
+       }
+
+       // write finish log file
+       fprintf(fp, "End Factory Reset\n%d-%02d-%02d %02d:%02d:%02d\n",
+                       tm2.tm_year + 1900, tm2.tm_mon + 1, tm2.tm_mday,
+                       tm2.tm_hour, tm2.tm_min, tm2.tm_sec);
+       fclose(fp);
+
+       // remove reset flag file, sync and reboot
+#if 0
+       unlink(RESET_FLAG_FILE);
+#endif
+       sync();
+
+#ifdef DEBUG_BINARY
+       reboot(LINUX_REBOOT_CMD_RESTART);
+#else
+       const char *reboot_cmd[] = {"/usr/sbin/reboot", "debug0x4f4c", NULL};
+       __system(reboot_cmd);
+#endif
+
+       return 0;
+}
diff --git a/src/resetCCMode.c b/src/resetCCMode.c
new file mode 100755 (executable)
index 0000000..2d3e8fe
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ *   Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * 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.
+ *
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <fcntl.h>
+#include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <errno.h>
+
+#include "ccerror.h"
+
+#define PARAM_CC_ENC_RAW_SIZE  64
+#define PARAM_CC_FLAG_OFFSET   0x800
+
+static const char dev_params[]  = {
+       "/dev/disk/by-partlabel/param"
+};
+
+int resetSBFCCM(void)
+{
+       int ret, fd;
+       uint8_t eraw[PARAM_CC_ENC_RAW_SIZE];
+
+       memset(eraw, 0, PARAM_CC_ENC_RAW_SIZE);
+       if ((fd = open(dev_params, O_WRONLY)) == -1) {
+               ret = -CC_ERROR_UTIL_RESETSBFCCM;
+               goto open_fail;
+       }
+
+       if (lseek(fd, -(PARAM_CC_FLAG_OFFSET), SEEK_END) == -1) {
+               ret = -(CC_ERROR_UTIL_RESETSBFCCM + 2);
+               goto out;
+       }
+
+       if (write(fd, eraw, PARAM_CC_ENC_RAW_SIZE) != PARAM_CC_ENC_RAW_SIZE) {
+               ret = -(CC_ERROR_UTIL_RESETSBFCCM + 3);
+               goto out;
+       }
+
+       ret = CC_ERROR_NONE;
+out:
+       close(fd);
+open_fail:
+       return ret;
+}
+
+int main(void)
+{
+       int ret = resetSBFCCM();
+       printf("resetSBFCCM() returns %d\n", ret);
+       return ret;
+}
+
diff --git a/src/rstsmack.c b/src/rstsmack.c
new file mode 100644 (file)
index 0000000..38d18d5
--- /dev/null
@@ -0,0 +1,148 @@
+/*
+ * rstsmack - Restore smack attributes on files
+ *
+ * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd.
+ *
+ * Contact: MyoungJune Park <mj2004.park@samsung.com>
+ *   Created by Wonil Choi <wonil22.choi@samsung.com>
+ *
+ * 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.
+ *
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <linux/limits.h>
+#include <sys/smack.h>
+
+#ifdef DEBUG
+#  define LOGINFO(fmt, arg...) printf(fmt, ##arg)
+#else
+#  define LOGINFO(fmt, arg...)
+#endif
+
+void print_help(const char *cmd)
+{
+       printf("Usage: %s <INPUT FILE>\n", cmd);
+       printf("       INPUT FILE should be same format as generated by"
+                       " chsmack.\n\n");
+       printf("       Ex) # chsmack /usr/bin/* > /tmp/rstsmack_input.txt\n");
+}
+
+static inline int abandonqm(char *label)
+{
+       int ret = 0;
+       /* ignore last character which must be a quotation mark */
+       ret = (int) strlen(label);
+       ret--;
+       if (ret > SMACK_LABEL_LEN || ret <= 0)
+               return -1;
+       label[ret] = '\0';
+       return 0;
+}
+
+static void set_label(const char *pathname, char *label, int type)
+{
+       int ret = -1;
+
+       if (abandonqm(label) == 0) {
+               ret = smack_lsetlabel(pathname, label, type);
+               if (ret < 0)
+                       perror(pathname);
+       } else
+               fprintf(stderr, "The input file has wrong format, %s\n",
+                               pathname);
+}
+
+static int parse_and_set(const char *srcfile)
+{
+       /* We assume the text format of input file is same as chsmack output */
+       FILE *fp;
+       int ret = 0;
+       char linebuf[PATH_MAX + 5 * SMACK_LABEL_LEN], pathname[PATH_MAX];
+       char label[SMACK_LABEL_LEN + 1];
+       char *plabel; /* pointer of beginning smack label */
+       fp = fopen(srcfile, "r");
+       if (fp == NULL)
+               return -1;
+
+       while (fgets(linebuf, sizeof(linebuf), fp)) {
+               plabel = strstr(linebuf, " access=");
+               if (plabel && linebuf != plabel) {
+                       *plabel = '\0';
+                       strncpy(pathname, linebuf, sizeof(pathname));
+                       pathname[sizeof(pathname) - 1] = '\0';
+                       plabel++;
+               } else {
+                       linebuf[strlen(linebuf) - 1] = '\0';
+                       LOGINFO("no label, set label: %s, access=\"_\"(floor)\n", linebuf);
+                       strncpy(label, "_\"", SMACK_LABEL_LEN);
+                       set_label(linebuf, label, SMACK_LABEL_ACCESS);
+                       /* TODO: If file name contains " access=" then it would
+                        * not be processed */
+                       continue;
+               }
+
+               LOGINFO("set label: %s,", pathname);
+
+               ret = sscanf(plabel, "access=\"%s", label);
+               if (ret > 0) {
+                       LOGINFO(" access: \"%s", label);
+                       set_label(pathname, label,  SMACK_LABEL_ACCESS);
+                       plabel = plabel + sizeof(" access=\"") + strlen(label);
+               }
+
+               ret = sscanf(plabel, "execute=\"%s", label);
+               if (ret > 0) {
+                       LOGINFO(", exec: \"%s", label);
+                       set_label(pathname, label, SMACK_LABEL_EXEC);
+                       plabel = plabel + sizeof(" execute=\"") + strlen(label);
+               }
+
+               ret = sscanf(plabel, "mmap=\"%s", label);
+               if (ret > 0) {
+                       LOGINFO(", mmap: \"%s", label);
+                       set_label(pathname, label, SMACK_LABEL_MMAP);
+                       plabel = plabel + sizeof(" mmap=\"") + strlen(label);
+               }
+
+               ret = sscanf(plabel, "transmute=\"%s", label);
+               if (ret > 0) {
+                       LOGINFO(", transmute: \"%s", label);
+                       strncpy(label, "1\"", SMACK_LABEL_LEN);
+                       set_label(pathname, label, SMACK_LABEL_TRANSMUTE);
+               }
+               LOGINFO("\n");
+
+       }
+       fclose(fp);
+       return 0;
+}
+
+int main(int argc, char *argv[])
+{
+       if (argc < 2) {
+               print_help(argv[0]);
+               return -1;
+       }
+       if (parse_and_set(argv[1]) < 0) {
+               print_help(argv[0]);
+               return -1;
+       }
+       return 0;
+}