From 98d02ddb1a4b4bf4b0879fb189707543d06bc6bf Mon Sep 17 00:00:00 2001 From: MyoungJune Park Date: Mon, 27 Mar 2017 13:37:59 +0900 Subject: init code Change-Id: Ie6cb5cdbcabca325d23d3a230027d40f67c09644 Signed-off-by: MyoungJune Park --- CMakeLists.txt | 105 +++++++ LICENSE | 204 ++++++++++++++ data/factory-reset-util-small-display.edc | 193 +++++++++++++ data/factory-reset-util.edc | 175 ++++++++++++ data/images/A01-1_icon_factoryreset.png | Bin 0 -> 24413 bytes data/images/A01-1_progress_bg.png | Bin 0 -> 2654 bytes data/images/A01-1_progress_bg_dim.png | Bin 0 -> 2557 bytes data/images/A01-1_progress_pending_01.png | Bin 0 -> 2164 bytes data/images/A01-1_progress_pending_01_dim.png | Bin 0 -> 2117 bytes data/images/A01-1_progress_pending_02.png | Bin 0 -> 2113 bytes data/images/A01-1_progress_pending_02_dim.png | Bin 0 -> 2074 bytes factory-reset.manifest | 21 ++ factory-reset.rule | 5 + packaging/factory-reset-launch.service | 7 + packaging/factory-reset.service | 12 + packaging/factory-reset.spec | 110 ++++++++ packaging/org.tizen.factory-reset.service | 5 + po/CMakeLists.txt | 23 ++ po/POTFILES.in | 2 + po/ar.po | 22 ++ po/as.po | 22 ++ po/az.po | 22 ++ po/bg.po | 22 ++ po/bn.po | 22 ++ po/bn_BD.po | 22 ++ po/ca.po | 22 ++ po/cs.po | 22 ++ po/da.po | 22 ++ po/de.po | 22 ++ po/el_GR.po | 22 ++ po/en.po | 22 ++ po/en_PH.po | 22 ++ po/en_US.po | 22 ++ po/es_ES.po | 22 ++ po/es_US.po | 22 ++ po/et.po | 22 ++ po/eu.po | 22 ++ po/fa.po | 22 ++ po/factory-reset.pot | 22 ++ po/fi.po | 22 ++ po/fr.po | 22 ++ po/fr_CA.po | 22 ++ po/ga.po | 22 ++ po/gl.po | 22 ++ po/gu.po | 22 ++ po/he.po | 22 ++ po/hi.po | 22 ++ po/hr.po | 22 ++ po/hu.po | 22 ++ po/hy.po | 22 ++ po/id.po | 22 ++ po/is.po | 22 ++ po/it_IT.po | 22 ++ po/ja_JP.po | 22 ++ po/ka.po | 22 ++ po/kk.po | 22 ++ po/km.po | 22 ++ po/kn.po | 22 ++ po/ko_KR.po | 22 ++ po/ky_KG.po | 22 ++ po/lo.po | 22 ++ po/lt.po | 22 ++ po/lv.po | 22 ++ po/mk.po | 22 ++ po/ml.po | 22 ++ po/mn_MN.po | 22 ++ po/mr.po | 22 ++ po/ms.po | 22 ++ po/my.po | 22 ++ po/nb.po | 22 ++ po/ne.po | 22 ++ po/nl.po | 22 ++ po/or.po | 22 ++ po/pa.po | 22 ++ po/pl.po | 22 ++ po/pt_BR.po | 22 ++ po/pt_PT.po | 22 ++ po/ro.po | 22 ++ po/ru_RU.po | 22 ++ po/si.po | 22 ++ po/sk.po | 22 ++ po/sl.po | 22 ++ po/sq.po | 22 ++ po/sr.po | 22 ++ po/sv.po | 22 ++ po/ta.po | 22 ++ po/te.po | 22 ++ po/tg_TJ.po | 22 ++ po/th.po | 22 ++ po/tk_TM.po | 22 ++ po/tl.po | 22 ++ po/tr_TR.po | 22 ++ po/uk.po | 22 ++ po/update-po.sh | 81 ++++++ po/ur.po | 22 ++ po/uz.po | 22 ++ po/vi.po | 22 ++ po/zh_CN.po | 22 ++ po/zh_HK.po | 22 ++ po/zh_TW.po | 22 ++ script/build-backup-data.sh | 97 +++++++ script/dump-frlog.sh | 9 + script/factoryreset-verify-result.sh | 36 +++ script/factoryreset-verify.sh | 101 +++++++ script/run-factory-reset.sh | 299 ++++++++++++++++++++ src/ccerror.h | 14 + src/factory-reset-util.c | 382 ++++++++++++++++++++++++++ src/factory-reset-util.h | 52 ++++ src/factory-reset.c | 341 +++++++++++++++++++++++ src/resetCCMode.c | 72 +++++ src/rstsmack.c | 148 ++++++++++ 111 files changed, 4254 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 LICENSE create mode 100755 data/factory-reset-util-small-display.edc create mode 100755 data/factory-reset-util.edc create mode 100644 data/images/A01-1_icon_factoryreset.png create mode 100644 data/images/A01-1_progress_bg.png create mode 100644 data/images/A01-1_progress_bg_dim.png create mode 100644 data/images/A01-1_progress_pending_01.png create mode 100644 data/images/A01-1_progress_pending_01_dim.png create mode 100644 data/images/A01-1_progress_pending_02.png create mode 100644 data/images/A01-1_progress_pending_02_dim.png create mode 100644 factory-reset.manifest create mode 100644 factory-reset.rule create mode 100644 packaging/factory-reset-launch.service create mode 100644 packaging/factory-reset.service create mode 100755 packaging/factory-reset.spec create mode 100644 packaging/org.tizen.factory-reset.service create mode 100644 po/CMakeLists.txt create mode 100644 po/POTFILES.in create mode 100644 po/ar.po create mode 100644 po/as.po create mode 100644 po/az.po create mode 100644 po/bg.po create mode 100644 po/bn.po create mode 100644 po/bn_BD.po create mode 100644 po/ca.po create mode 100644 po/cs.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/el_GR.po create mode 100644 po/en.po create mode 100644 po/en_PH.po create mode 100644 po/en_US.po create mode 100644 po/es_ES.po create mode 100644 po/es_US.po create mode 100644 po/et.po create mode 100644 po/eu.po create mode 100644 po/fa.po create mode 100644 po/factory-reset.pot create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/fr_CA.po create mode 100644 po/ga.po create mode 100644 po/gl.po create mode 100644 po/gu.po create mode 100644 po/he.po create mode 100644 po/hi.po create mode 100644 po/hr.po create mode 100644 po/hu.po create mode 100644 po/hy.po create mode 100644 po/id.po create mode 100644 po/is.po create mode 100644 po/it_IT.po create mode 100644 po/ja_JP.po create mode 100644 po/ka.po create mode 100644 po/kk.po create mode 100644 po/km.po create mode 100644 po/kn.po create mode 100644 po/ko_KR.po create mode 100644 po/ky_KG.po create mode 100644 po/lo.po create mode 100644 po/lt.po create mode 100644 po/lv.po create mode 100644 po/mk.po create mode 100644 po/ml.po create mode 100755 po/mn_MN.po create mode 100644 po/mr.po create mode 100644 po/ms.po create mode 100644 po/my.po create mode 100644 po/nb.po create mode 100644 po/ne.po create mode 100644 po/nl.po create mode 100644 po/or.po create mode 100644 po/pa.po create mode 100644 po/pl.po create mode 100644 po/pt_BR.po create mode 100644 po/pt_PT.po create mode 100644 po/ro.po create mode 100644 po/ru_RU.po create mode 100755 po/si.po create mode 100644 po/sk.po create mode 100644 po/sl.po create mode 100644 po/sq.po create mode 100644 po/sr.po create mode 100644 po/sv.po create mode 100644 po/ta.po create mode 100644 po/te.po create mode 100644 po/tg_TJ.po create mode 100644 po/th.po create mode 100644 po/tk_TM.po create mode 100755 po/tl.po create mode 100644 po/tr_TR.po create mode 100644 po/uk.po create mode 100755 po/update-po.sh create mode 100644 po/ur.po create mode 100644 po/uz.po create mode 100644 po/vi.po create mode 100644 po/zh_CN.po create mode 100644 po/zh_HK.po create mode 100644 po/zh_TW.po create mode 100755 script/build-backup-data.sh create mode 100644 script/dump-frlog.sh create mode 100755 script/factoryreset-verify-result.sh create mode 100644 script/factoryreset-verify.sh create mode 100755 script/run-factory-reset.sh create mode 100755 src/ccerror.h create mode 100755 src/factory-reset-util.c create mode 100644 src/factory-reset-util.h create mode 100644 src/factory-reset.c create mode 100755 src/resetCCMode.c create mode 100644 src/rstsmack.c diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..ec56ef4 --- /dev/null +++ b/CMakeLists.txt @@ -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 index 0000000..3b1668e --- /dev/null +++ b/LICENSE @@ -0,0 +1,204 @@ +Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. All rights reserved. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. + diff --git a/data/factory-reset-util-small-display.edc b/data/factory-reset-util-small-display.edc new file mode 100755 index 0000000..9145d2b --- /dev/null +++ b/data/factory-reset-util-small-display.edc @@ -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 index 0000000..3c0158f --- /dev/null +++ b/data/factory-reset-util.edc @@ -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 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 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 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 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 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 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 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 index 0000000..50e0dcd --- /dev/null +++ b/factory-reset.manifest @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/factory-reset.rule b/factory-reset.rule new file mode 100644 index 0000000..df4604a --- /dev/null +++ b/factory-reset.rule @@ -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 index 0000000..664a931 --- /dev/null +++ b/packaging/factory-reset-launch.service @@ -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 index 0000000..7c4d371 --- /dev/null +++ b/packaging/factory-reset.service @@ -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 index 0000000..44979f1 --- /dev/null +++ b/packaging/factory-reset.spec @@ -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 index 0000000..7feaa92 --- /dev/null +++ b/packaging/org.tizen.factory-reset.service @@ -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 index 0000000..016c26b --- /dev/null +++ b/po/CMakeLists.txt @@ -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 index 0000000..fd2736b --- /dev/null +++ b/po/POTFILES.in @@ -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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..7fc6ab0 --- /dev/null +++ b/po/bn_BD.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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í.
Počkejte prosím..." diff --git a/po/da.po b/po/da.po new file mode 100644 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..7c23d94 --- /dev/null +++ b/po/el_GR.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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.
Please wait..." diff --git a/po/en_PH.po b/po/en_PH.po new file mode 100644 index 0000000..dd91ae4 --- /dev/null +++ b/po/en_PH.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 , 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 \n" +"Language-Team: LANGUAGE \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.
Please wait..." diff --git a/po/en_US.po b/po/en_US.po new file mode 100644 index 0000000..dd91ae4 --- /dev/null +++ b/po/en_US.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 , 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 \n" +"Language-Team: LANGUAGE \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.
Please wait..." diff --git a/po/es_ES.po b/po/es_ES.po new file mode 100644 index 0000000..5b148e9 --- /dev/null +++ b/po/es_ES.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 , 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 \n" +"Language-Team: LANGUAGE \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.
Espere..." diff --git a/po/es_US.po b/po/es_US.po new file mode 100644 index 0000000..741c0c9 --- /dev/null +++ b/po/es_US.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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.
Palun oodake..." diff --git a/po/eu.po b/po/eu.po new file mode 100644 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..175a98c --- /dev/null +++ b/po/factory-reset.pot @@ -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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..0252a95 --- /dev/null +++ b/po/fr_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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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.
Pričekajte..." diff --git a/po/hu.po b/po/hu.po new file mode 100644 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 , 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 \n" +"Language-Team: LANGUAGE \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.
Kis türelmet..." diff --git a/po/hy.po b/po/hy.po new file mode 100644 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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.
Augnablik..." diff --git a/po/it_IT.po b/po/it_IT.po new file mode 100644 index 0000000..910bc98 --- /dev/null +++ b/po/it_IT.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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..ddd096a --- /dev/null +++ b/po/ja_JP.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 , 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 \n" +"Language-Team: LANGUAGE \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/ka.po b/po/ka.po new file mode 100644 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..5cc742f --- /dev/null +++ b/po/ko_KR.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 , 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 \n" +"Language-Team: LANGUAGE \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/ky_KG.po b/po/ky_KG.po new file mode 100644 index 0000000..dd91ae4 --- /dev/null +++ b/po/ky_KG.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 , 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 \n" +"Language-Team: LANGUAGE \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.
Please wait..." diff --git a/po/lo.po b/po/lo.po new file mode 100644 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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.
Lūdzu, uzgaidiet..." diff --git a/po/mk.po b/po/mk.po new file mode 100644 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..9a3eaa2 --- /dev/null +++ b/po/mn_MN.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..86a5269 --- /dev/null +++ b/po/pt_BR.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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..a33ee62 --- /dev/null +++ b/po/pt_PT.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..c6291a8 --- /dev/null +++ b/po/ru_RU.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..7d0d467 --- /dev/null +++ b/po/tg_TJ.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..acefe07 --- /dev/null +++ b/po/tk_TM.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..cebd95e --- /dev/null +++ b/po/tr_TR.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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..42c1f25 --- /dev/null +++ b/po/update-po.sh @@ -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 , Sewook Park , +# Jaeho Lee , Shobhit Srivastava +# +# 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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..1c01cbf --- /dev/null +++ b/po/zh_CN.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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..67b2afb --- /dev/null +++ b/po/zh_HK.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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..2817b46 --- /dev/null +++ b/po/zh_TW.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 , 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 \n" +"Language-Team: LANGUAGE \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 index 0000000..bb8d58e --- /dev/null +++ b/script/build-backup-data.sh @@ -0,0 +1,97 @@ +#!/bin/bash +# +# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd. +# +# Contact: MyoungJune Park +# Created by Wonil Choi +# +# 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 index 0000000..b3e495d --- /dev/null +++ b/script/dump-frlog.sh @@ -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 index 0000000..d482158 --- /dev/null +++ b/script/factoryreset-verify-result.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd. +# +# Contact: MyoungJune Park +# Created by Wonil Choi +# +# 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 index 0000000..3302a21 --- /dev/null +++ b/script/factoryreset-verify.sh @@ -0,0 +1,101 @@ +#!/bin/sh +# +# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd. +# +# Contact: MyoungJune Park +# Created by Wonil Choi +# +# 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 index 0000000..c2d1f54 --- /dev/null +++ b/script/run-factory-reset.sh @@ -0,0 +1,299 @@ +#!/bin/sh +# +# Copyright (c) 20014- 2017 Samsung Electronics Co., Ltd. +# +# Contact: MyoungJune Park +# Created by Wonil Choi +# +# 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 index 0000000..e9d0d6c --- /dev/null +++ b/src/ccerror.h @@ -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 index 0000000..508ebe2 --- /dev/null +++ b/src/factory-reset-util.c @@ -0,0 +1,382 @@ +/* + * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. + * + * Contact: MyoungJune Park + * Created by Wonil Choi + * + * 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 +#include + +#if 0 +#ifndef TELEPHONY_DISABLE +#include +#include +#include +#include +#endif +#endif + +//#include +//#include +#include + +#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), + "%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 index 0000000..3f60557 --- /dev/null +++ b/src/factory-reset-util.h @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. + * + * Contact: MyoungJune Park + * Created by Wonil Choi + * + * 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 + +#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 index 0000000..a0de792 --- /dev/null +++ b/src/factory-reset.c @@ -0,0 +1,341 @@ +/* + * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. + * + * Contact: MyoungJune Park + * Created by Wonil Choi + * + * 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#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 index 0000000..2d3e8fe --- /dev/null +++ b/src/resetCCMode.c @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. + * + * Contact: MyoungJune Park + * Created by Wonil Choi + * + * 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 +#include +#include +#include +#include +#include +#include + +#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 index 0000000..38d18d5 --- /dev/null +++ b/src/rstsmack.c @@ -0,0 +1,148 @@ +/* + * rstsmack - Restore smack attributes on files + * + * Copyright (c) 2000 - 2017 Samsung Electronics Co., Ltd. + * + * Contact: MyoungJune Park + * Created by Wonil Choi + * + * 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 +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef DEBUG +# define LOGINFO(fmt, arg...) printf(fmt, ##arg) +#else +# define LOGINFO(fmt, arg...) +#endif + +void print_help(const char *cmd) +{ + printf("Usage: %s \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; +} -- cgit v1.2.3