From: Michal Pawluk Date: Fri, 21 Aug 2015 11:02:08 +0000 (+0200) Subject: The source code moved from the SPIN with license changed to Flora 1.1 X-Git-Tag: accepted/tizen/mobile/20151103.025102~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F45%2F46545%2F2;p=apps%2Fnative%2Fhome%2Fhomescreen-efl.git The source code moved from the SPIN with license changed to Flora 1.1 Change-Id: I43426af13b3a77784385efd8f9105ac82200cb57 --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c952485 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.cproject +.exportMap +.project +.sdk_delta.info +.sign/ +.rds_delta +.tproject +Debug/ +crash-info/ +/Release diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..f3ed15b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,96 @@ +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT(homescreen-efl C) + +SET(MANIFESTDIR "/usr/share/packages") +SET(PACKAGE_NAME "org.tizen.${PROJECT_NAME}") +SET(PREFIX "/opt/usr/apps/${PACKAGE_NAME}") +SET(EXEC_PREFIX "${PREFIX}/bin") +SET(DATADIR "${PREFIX}/data") +SET(RESDIR "${PREFIX}/res") +SET(IMAGEDIR "${RESDIR}/images") +SET(EDJEDIR "${RESDIR}/edje") +SET(LOCALEDIR "${RESDIR}/locale") +SET(VERSION 0.1.0) +SET(CMAKE_VERBOSE_MAKEFILE 0) + +INCLUDE(FindPkgConfig) +pkg_check_modules(MENU_PKGS REQUIRED + appsvc + badge + capi-appfw-application + capi-system-info + capi-appfw-package-manager + capi-appfw-app-manager + capi-system-system-settings + dlog + elementary + shortcut + syspopup-caller + widget_viewer + widget_service + widget_viewer_evas + capi-appfw-preference +) + +ADD_DEFINITIONS("-DENABLE_BGIMAGE") +ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"") +ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE_NAME}\"") +ADD_DEFINITIONS("-DVERSION=\"${VERSION}\"") +ADD_DEFINITIONS("-DDATADIR=\"${DATADIR}\"") +ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"") +ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"") +ADD_DEFINITIONS("-DEDJEDIR=\"${EDJEDIR}\"") + +FOREACH (flag ${MENU_PKGS_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Wall -Werror -Winline -g -fno-builtin-malloc -fpie") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") + +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/inc) + +ADD_EXECUTABLE(${PROJECT_NAME} + src/homescreen-efl.c + src/all_apps.c + src/app_mgr.c + src/app_item.c + src/data_model.c + src/tree.c + + src/app_grid.c + src/layout.c + src/page_scroller.c + src/util.c + src/app_icon.c + src/key.c + src/option_menu.c + src/mouse.c + src/folder_panel.c + src/popup.c + src/dynamic_index.c + src/livebox_all_pages.c + src/db/db.c + + src/livebox/livebox_panel.c + src/livebox/livebox_animator.c + src/livebox/grid_item_resize.c + src/livebox/livebox_utils.c + src/livebox/grid_reposition.c + src/livebox/livebox_widget.c +) + +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} -lm) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${MENU_PKGS_LDFLAGS}) + +# Install +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${EXEC_PREFIX}) + +ADD_SUBDIRECTORY(res) + +CONFIGURE_FILE(${PACKAGE_NAME}.xml ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml) +INSTALL(FILES ${CMAKE_BINARY_DIR}/org.tizen.homescreen-efl.xml DESTINATION ${MANIFESTDIR}) +INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PACKAGE_NAME}.efl DESTINATION /etc/smack/accesses.d) +INSTALL(DIRECTORY DESTINATION ${PREFIX}/data) + +# End of a file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3f4bbb5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,205 @@ +Flora License + +Version 1.1, April, 2013 + +http://floralicense.org/license/ + +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. + +"Tizen Certified Platform" shall mean a software platform that complies +with the standards set forth in the Tizen Compliance Specification +and passes the Tizen Compliance Tests as defined from time to time +by the Tizen Technical Steering Group and certified by the Tizen +Association or its designated agent. + +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 +solely as incorporated into a Tizen Certified Platform, 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 solely +as incorporated into a Tizen Certified Platform 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 pursuant to the copyright license +above, in any medium, with or without modifications, and in Source or +Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + 3. 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 + 4. 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 + and your own copyright statement or terms and conditions do not conflict + the conditions stated in the License including section 3. + +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 Flora License to your work + +To apply the Flora 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 Flora License, Version 1.1 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://floralicense.org/license/ + + 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. \ No newline at end of file diff --git a/inc/all_apps.h b/inc/all_apps.h new file mode 100644 index 0000000..5c96691 --- /dev/null +++ b/inc/all_apps.h @@ -0,0 +1,85 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef ALL_APPS_H_ +#define ALL_APPS_H_ + +#include +#include "app_grid.h" +#include "data_model.h" + +/** + * @brief Creates all apps panel + * @param parent elm_layout widget with proper swallow part + * @return pointer to Evas_Object + */ +Evas_Object *all_apps_create(Evas_Object *parent, void *data); + +/** + * @brief Shows all_apps panel + */ +void all_apps_show(void); + +/** + * @brief [Hides all apps panel + */ +void all_apps_hide(void); + +/** + * @brief [brief description] + * @details [long description] + */ +void all_apps_del(void); + +/** + * @brief Sets view mode of all apps view + */ +void all_apps_set_view_mode(homescreen_view_t view); + +/** + * @brief Function blocks srolling of the all_apps panel. + * @details It is used during items reposition. + * + * @param is_blocked bool value, true if should be blocked + */ +void all_apps_set_scrolling_blocked_state(bool is_blocked); + +/** + * @brief detaches app icon from grid: + */ +void all_apps_detach_from_grid(Elm_Object_Item *grid_item); + +/** + * @brief attaches app icon to grid number grid_num: + */ +Elm_Object_Item *all_apps_attach_to_grid(Evas_Object *icon, int grid_num); + +/** + * @brief appends new page to the page scroller + */ +bool all_apps_append_page(Tree_node_t *page_item); + +/** + * @brief appends new page to the page scroller + */ +void all_apps_remove_empty_pages(void); + +/** + * @brief it simply updates all pages dynamic index display + */ +void all_apps_update_dynamic_index_count(void); + +#endif /* ALL_APPS_H_ */ diff --git a/inc/app_grid.h b/inc/app_grid.h new file mode 100644 index 0000000..0de34ce --- /dev/null +++ b/inc/app_grid.h @@ -0,0 +1,98 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef APP_GRID_H_ +#define APP_GRID_H_ + +#include +#include "homescreen-efl.h" +#include "tree.h" + +typedef enum { + APP_GRID_TYPE_ALL_APPS = 0, + APP_GRID_TYPE_FOLDER +} app_grid_type_t; +/** + * @brief Function creates app_grid wgt + * @details This is a kind of wrapper for a gengrid widget but handle drag and + * drop events between different gengrids created by this function. Reposition + * mechanism found active gengrid behind mouse pointer. Reposition is gengeric. + * If you want to modify it you should set some callbacks in function + * app_grid_custom_dnd_handlers_set. + * + * @param parent Pointer to eveas_object. Smart parent widget for app grid. + * Basically you can add it into win. + * @param data Pointer to Eina_List object with content will be inserted in + * applicaiton list. + * @param item_width int describes width of an item in grid. + * @param item_height ind describes height of an item in grid + * @return pointer to created app_grid + */ +extern Evas_Object *app_grid_create(Evas_Object *parent, Tree_node_t *data, + Evas_Coord gengrid_width, Evas_Coord gengrid_height, + app_grid_type_t type); + +/** + * @brief Append an imte inot app_grid + * @param app_grid Pointer to elm_gengrid widget + * @param icon_to_append pointer to appended item + * + * @return Elm_Object_Item if no errors, otherwise NULL + */ +extern Elm_Object_Item *app_grid_append_item(Evas_Object *app_grid, + Evas_Object *icon_to_append); + +/** + * @brief Function inserts an item into specific position. If idx is inproper + * function tries to insert item at the end of the grid. + * + * @param app_grid Pointer to app_grid + * @param item Pointer to item evas_object + * @param idx index where item should be inserted + * + * @return Elm_Object_Item if no errors, otherwise NULL + */ +extern Elm_Object_Item *app_grid_insert_item_relative(Evas_Object *app_grid, + Evas_Object *item, Elm_Object_Item *rel_it); + +/** + * @brief Function change state of app grids in homescreen + * + * @param app_grid Pointer to elm_layout widget + * @param view type of view mode + */ +extern void app_grid_set_view_mode(Evas_Object *app_grid, + homescreen_view_t view); + +/** + * @brief Function unpack item from the app_grid + * + * @param item pointer to stored data model + */ +extern void app_grid_unpack_item(Elm_Object_Item *item); + +/** + * @brief Function pack object to box + */ +extern Evas_Object *app_grid_item_pack(Evas_Object *p, Evas_Object *c); + +/** + * @brief Function get icon and data from app_grid item + */ +extern Eina_Bool app_grid_get_item_content(Elm_Object_Item *item, + Evas_Object **icon, Tree_node_t **data); + +#endif /* APP_GRID_H_ */ diff --git a/inc/app_icon.h b/inc/app_icon.h new file mode 100644 index 0000000..a0d027e --- /dev/null +++ b/inc/app_icon.h @@ -0,0 +1,161 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef APP_ICON_H_ +#define APP_ICON_H_ + +#include +#include + +#include "homescreen-efl.h" +#include "app_item.h" +#include "tree.h" + +typedef struct { + char *app_name; + char *app_appid; +} app_icon_popup_info_t; + +typedef enum { + APP_ICON_TYPE_APP = 0, + APP_ICON_TYPE_FOLDER, + APP_ICON_TYPE_MINIATURE, +} app_icon_type_t; + +typedef enum { + FOLDER_ICON_FRAME_POSSIBLE = 0, + FOLDER_ICON_FRAME_IMPOSSIBLE, + FOLDER_ICON_FRAME_NONE, +} folder_icon_frame_type_t; + +/** + * @brief Sets ignore click flag. + * + * @param ignore if it is true click event on icon will not be processed. + */ +extern void app_icon_set_click_ignore(bool ignore); + +/** + * @brief Remove icon object + * @details Function removes elm_layout widget responsible for application + * shortcut view. It deletes also elm_image widget (application shortuc image) + * with is a child of icon_layout. + * + * @param icon_layout Evas_Object pointer to item witch will be deleted. + */ +extern void app_icon_destroy(Evas_Object *icon_layout); + +/** + * @brief Sets badge number and shows it on application icon. + * + * @param app_icon_layout application icon layout. + * @param int number with will be displayed in badge layout. + */ +extern void app_icon_show_badge(Evas_Object *app_icon_layout, + const unsigned int number); + +/** + * @brief Hides badge icon on application. + * @details [long description] + * @param application icon layout pointer. + */ +extern void app_icon_hide_badge(Evas_Object *app_icon_layout); + +/** + * @brief Sets icon label visible + * @param app_icon_layout pointer to icon layout. + */ +extern void app_icon_show_label(Evas_Object *app_icon_layout); + +/** + * @brief Sets icon label invisible. + * @param app_icon_layout pointer to icon layout. + */ +extern void app_icon_hide_label(Evas_Object *app_icon_layout); + +/** + * @brief Function chage state of icon regarind to passed view type + * + * @param icon Pointer to icon object which should be changed. + * @param view view type + * @param in_folder value indicating whether given item is in folder + * + * @return true if success + */ +bool app_icon_set_view_mode(Evas_Object *icon, homescreen_view_t view, + bool in_folder); + +/** + * @brief Creates icon using app_item_t structure + * + * @param parent Parent widget pointer + * @param item pointer to app_item_t structure + * + * @return Pointer to created icon or NULL. + */ +Evas_Object *app_icon_create(Tree_node_t *tree_data, app_icon_type_t type); + +/** + * @brief Updates miniatures in folder icon + * + * @param folder_icon_layout folder icon layout to update + * @param folder_miniatures list of miniatures shown in folder icon + * @param folder_app_tree applications on the first page of folder + */ +void app_icon_update_folder_icon(Tree_node_t *folder_node); + +/** + * @brief Highlights folder icon with specified frame type + * + * @param folder_icon_layout folder icon layout to highlight + * @param frame_type type of frame to use on folder icon + */ +void app_icon_highlight_folder_icon(Evas_Object *folder_icon_layout, + folder_icon_frame_type_t frame_type); + +/** + * @brief Sets icon's label + * + * @param icon_layout icon layout in which label is set + * @param label label to set + */ +void app_icon_set_label(Evas_Object *icon_layout, const char* label); + +/** + * @brief Sets icon layout's color + * + * @param icon_layout icon layout to set color + * @param r red component of given color + * @param g green component of given color + * @param b blue component of given color + * @param a alpha component of given color + */ +void app_icon_set_color(Evas_Object *icon_layout, int r, int g, int b, int a); + +/** + * @brief Sets icon's label color to black + * + * @param icon_layout icon layout in which label's color is changed + */ +void app_icon_set_label_black(Evas_Object *icon_layout); + +/** + * @brief Removes all data connected with icon_layout + * @param icon_layout Pointer to app_icon layout. + */ +void app_icon_remove(Evas_Object *icon_layout); + +#endif /* APP_ICON_H_ */ diff --git a/inc/app_item.h b/inc/app_item.h new file mode 100644 index 0000000..8a4d199 --- /dev/null +++ b/inc/app_item.h @@ -0,0 +1,96 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef APP_ITEM_H_ +#define APP_ITEM_H_ + +#include +#include + +typedef enum { + APP_ITEM_ROOT = 0, + APP_ITEM_HOME, + APP_ITEM_ALL_APPS_ROOT, + APP_ITEM_PAGE, + APP_ITEM_ICON, + APP_ITEM_FOLDER, + APP_ITEM_WIDGET +} app_item_type_t; + +typedef struct { + app_item_type_t type; + int unique_id; /*from db table; used for composing tree structure when + reading flattened db representation*/ + char *label; /*this is the name of the application + viewed in homescreen layout*/ + const char *icon; + const char *exec; /*app exec path - used for notifications*/ + const char *appid; + unsigned int badge_count; /*notification count viewed in icon badge*/ + void *data; /*pointer is used by folder to store the folder layout.*/ + bool removable; + bool is_checked; + Evas_Object *layout; + Elm_Object_Item *grid_item; + int col; + int row; + int col_span; + int row_span; + + char *content_info; +} app_item_t; + +/** + * @brief creates new app_item_t object + * @param type object type + * @param unique_id object id + * @param label label text + * @param icon path to icon + * @param exec app to exec on click + * @param appid application id + * @param data extra data + * @param is_removeable na the app be removed + * @param col object column (used only for widgets) + * @param row object row (used only for widgets) + * @param col_span object column span (used only for widgets) + * @param row_span object row span (used only for widgets) + * @return + */ +app_item_t *app_item_create(const app_item_type_t type, const int unique_id, + const char *label, const char *icon, const char *exec, + const char *appid, void *data, bool is_removeable, + int col, int row, int col_span, int row_span, + const char *content_info); + +/** + * @brief Function frees all data connected with the item + * @param item Pointer to application item. + */ +void app_item_free(app_item_t *item); + +/** + * @brief updates app_item_geometry + * @param app_item app_item to be updated + * @param x new pos + * @param y new pos + * @param w new width + * @param h new height + */ +void app_item_geometry_update(app_item_t *app_item, int x, int y, int w, int h); + +void app_item_update_content_info(app_item_t *app_item, const char *content_info); + +#endif /* APP_ITEM_H_ */ diff --git a/inc/app_mgr.h b/inc/app_mgr.h new file mode 100644 index 0000000..589f7f2 --- /dev/null +++ b/inc/app_mgr.h @@ -0,0 +1,88 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef APP_MGR_H_ +#define APP_MGR_H_ + +#include +#include "util.h" + +typedef struct { + char *label; + char *exec; + char *icon; + char *appid; + char *package; + bool removable; +} app_mgr_item_t; + +typedef void (*package_event_manager_event_callback_t)(const char *app_info, + int progress); + +/** + * @brief Initialize application manager + */ +extern void app_mgr_init(void); + +/** + * @brief Deinintialize application manager + */ +extern void app_mgr_deinit(void); + +/** + * @brief Gets the application list + */ +extern Eina_List *app_mgr_get_apps(void); + +/** + * @brief Destroys application list + */ +extern void app_mgr_free_apps(Eina_List *apps); + +/** + * @brief Uninstall an application from the platform + */ +extern Eina_Bool app_mgr_uninstall_app(const char *appid); + +/** + * @brief gets badge count + * @param app_id - application id + * @param count - badges count + * returns EINA_FALSE on failure + */ +extern Eina_Bool app_mgr_app_get_badge_count(const char *app_id, + unsigned int *count); + +/** +* @brief registers listener for badge status changes +* @param callback - callback function to call on badge change +*/ +extern void app_mgr_register_badge_callback(badge_change_cb callback); + +/** +* @brief uregisters listener for badge status changes +* @param callback - callback function previously registered +*/ +extern void app_mgr_unregister_badge_callback(badge_change_cb callback); + +/** + * @brief Returns application label + * @details Function is used only for update application label after language change. + * @param app_id Application id. + */ +char *app_mgr_get_app_label(const char *app_id); + +#endif /* APP_MGR_H_ */ diff --git a/inc/conf.h b/inc/conf.h new file mode 100644 index 0000000..36d2161 --- /dev/null +++ b/inc/conf.h @@ -0,0 +1,610 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef CONF_H_ +#define CONF_H_ + + +/* #define HOME_SCREEN_EFL_TEST_RUN 1 */ +/* #define HOME_SCREEN_DND_ENABLED 1 */ +/* #define HOME_SCREEN_BLUR_ENABLED 1 */ + +#define FRAMES_PER_SECOND 1.0/60.0 + +/*=================================SCREEN CONF================================*/ +#define INDICATOR_HEIGHT 52 +#define ROOT_WIN_H 1280 +#define ROOT_WIN_W 720 + +#define HD_WIDTH 720 +#define HD_HEIGHT 1280 +#define QHD_WIDTH 540 +#define QHD_HEIGHT 960 +#define WVGA_WIDTH 480 +#define WVGA_HEIGHT 800 + +#define HD_SCALE_FACTOR 1.2 +#define QHD_SCALE_FACTOR 0.85 +#define WVGA_SCALE_FACTOR 0.70 + +/*=================================DATA KEYS CONF=============================*/ +#define KEY_ICON_DATA "item_data" +#define KEY_REPOSITION_DATA "reposition_data" +#define KEY_APP_GRID_DATA "app_grid_data" +#define KEY_THUMB_DATA "thumb_data" + +#define KEY_IS_REPOSITIONABLE "is_repositionable" +#define KEY_INDEX "index_data" + +/*=================================DATABASE===================================*/ +#define DATABASE_FILE \ + "/opt/usr/apps/org.tizen.homescreen-efl/data/homescreen-efl.db" + +/*=================================RESOURCES==================================*/ +#define DEFAULT_BG \ + "opt/usr/apps/com.samsung.home-lite/res/images/default_bg.png" +#define EDJE_DIR "/opt/usr/apps/org.tizen.homescreen-efl/res/edje" +#define IMAGE_DIR "/opt/usr/apps/org.tizen.homescreen-efl/res/images" + +/******************************************************************************* +* +* +* SOURCE CONFIGS +* +* +*******************************************************************************/ + +/*================================ OPTION_MENU.C==============================*/ +#define OPTION_MENU_ADD_VIEWER "org.tizen.add-viewer" +#define OPTION_MENU_SETTINGS "org.tizen.wallpaper-ui-service" +#define CAPTION_MENU_CENTER_LABEL_TEXT_LEN_MAX 16 + +#define INDEX_HEIGHT 45 +#define BUTTONS_AREA 0.055 +/*================================ ALL_APPS.C=================================*/ +#define APP_ROWS 5 +#define APP_COLS 4 + +#define APPS_SHOW_HIDE_ANIMATION_TIME 0.35 +#define ALL_APPS_ANIMATION_DELTA_Y (0.2*(double)ROOT_WIN_H) +#define ALL_APPS_ANIMATION_HOME_DELTA_Y (0.8 * (double) ROOT_WIN_H) + +/*================================ APP_ICON.C=================================*/ +#define DEFAULT_APP_ICON \ + "/opt/usr/apps/org.tizen.homescreen-efl/res/images/default.png" + +#define BADGE_REL_X 0.85 +#define BADGE_REL_Y 0.00 + +#define SIGNAL_HIGHLIGHT_FOLDER "highlight_folder" +#define SIGNAL_UNHIGHLIGHT_FOLDER "unhighlight_folder" +#define SIGNAL_HIGHLIGHT_IMPOSSIBLE_FOLDER "highlight_impossible_folder" + +/*================================ APP_GRID.C=================================*/ +#define GRID_CONTENT "elm.swallow.icon" +#define EDIT_MODE_SCALE 0.9 +#define CHOOSE_MODE_SCALE 0.9 +#define CHANGE_PAGE_TIMER 0.3 +#define CHANGE_PAGE_LEFT_AREA 0.05 +#define CHANGE_PAGE_RIGHT_AREA 0.95 + +#define SIGNAL_APP_GRID_FULL "app_grid_full" +#define SIGNAL_APP_GRID_BG_HIDE "signal_app_grid_bg_hide" + +/*================================ DATA_MODEL.C===============================*/ +#define APPS_PAGE APP_ROWS*APP_COLS +#define FOLDER_APPS_PAGE 9 + +/*================================ LIVEBOX CONFIG ============================*/ +#define WIDGET_NR_OF_SIZE_LIST 13 +#define LIVEBOX_ON_CREATE_SIZE 4 +#define LIVEBOX_MIN_MOUSE_MOVE 100 + +#define TEST_PKG "/opt/usr/apps/org.tizen.homescreen-efl/res/images/livebox/" +#define TEST_PKG_ALARM TEST_PKG"preview_alarm.png" +#define TEST_PKG_DUAL_CLOCK TEST_PKG"preview_dual_clock.png" +#define TEST_PKG_MUSIC TEST_PKG"preview_music.png" +#define TEST_PKG_CALENDAR TEST_PKG"preview_calendar.png" +#define TEST_PKG_FMRADIO TEST_PKG"preview_FMradio.png" +#define TEST_PKG_SINGLE_CLOCK TEST_PKG"preview_singel_clock.png" +#define TEST_PKG_CONTACT_4_2 TEST_PKG"preview_contact_4x2.png" +#define TEST_PKG_GALERY TEST_PKG"preview_gallery.png" +#define TEST_PKG_WEATHER_4_2 TEST_PKG"preview_weather_4x2.png" +#define TEST_PKG_CONTACT_4_4 TEST_PKG"preview_contact_4x4.png" +#define TEST_PKG_INTERNET TEST_PKG"preview_internet_4x4.png" +#define TEST_PKG_WEATHER_4_4 TEST_PKG"preview_weather_4x4.png" + +#define EDJE_LIVEBOX_CONTAINER_FILENAME EDJE_DIR"/livebox_container.edj" +#define GROUP_LIVEBOX_CONTAINER "livebox_container" + +#define EDJE_LIVEBOX_LAYOUT_FILENAME EDJE_DIR"/livebox_layout.edj" +#define GROUP_LIVEBOX_LAYOUT "livebox" + +#define LIVEBOX_SCROLLER_MAX_PAGES 6 +#define LIVEBOX_GRID_ROWS 4 +#define LIVEBOX_GRID_COLUMNS 4 +#define LIVEBOX_GRID_ROWS_CELLS_MULTI 1 +#define LIVEBOX_TOTAL_ROWS (LIVEBOX_GRID_ROWS * LIVEBOX_GRID_ROWS_CELLS_MULTI) +#define LIVEBOX_TOTAL_COLUMNS \ + (LIVEBOX_GRID_COLUMNS * LIVEBOX_GRID_ROWS_CELLS_MULTI) + +#define LIVEBOX_RESIZE_POS_MULTI_ROWS (1.0 / LIVEBOX_TOTAL_ROWS) +#define LIVEBOX_RESIZE_POS_MULTI_COLS (1.0 / LIVEBOX_TOTAL_COLUMNS) +#define LIVEBOX_GRID_BG_PADDING 3 +#define LIVEBOX_MAX_BUTTON_NAME_LENGTH 15 +#define LIVEBOX_PAGE_HEIGHT_REL (1.0*ROOT_WIN_W/ROOT_WIN_H) +/*this should be smaller than scroller page*/ +#define LIVEBOX_SIZE_REL (1.0*ROOT_WIN_W/ROOT_WIN_H) +/*size of the area which causes page change during drag'n drop*/ +#define LIVEBOX_PAGE_CHANGE_RECT_SIZE 60 +#define LIVEBOX_PAGE_NO_CHANGE -1 +#define LIVEBOX_DRAGGED_ITEM_ALPHA 96 +#define LIVEBOX_LONGPRESS_TIME 1 +#define LIVEBOX_PAGE_CHANGE_PERIOD 0.75 +#define LIVEBOX_MAX_STATE_LEN 10 +#define LIVEBOX_HORIZONTAL_PADDING 10 +#define LIVEBOX_MAKE_SPACE_ANIM_TIME 0.33 +#define LIVEBOX_GRID_BG_ALPHA 40 + 51 +#define LIVEBOX_REPOSITION_ANIM_TIME 0.33 + +#define PART_LIVEBOX "livebox" +#define PART_RESIZE_BUTTON_DOWN "button.down" +#define PART_RESIZE_BUTTON_LEFT "button.left" +#define PART_RESIZE_BUTTON_UP "button.up" +#define PART_RESIZE_BUTTON_RIGHT "button.right" +#define PART_ADD_PAGE_BUTTON "add_page_button" +#define PART_PAGE_BG "bg" +#define PART_GRID_BG "grid_bg" +#define PART_GRID "grid" + +#define SIGNAL_CONTENT_SOURCE "content" +#define SIGNAL_LIVEBOX_SOURCE "livebox" +#define SIGNAL_LAYOUT_SOURCE "layout" +#define SIGNAL_REMOVE_SOURCE "remove_button" +#define SIGNAL_RESIZING "drag" +#define SIGNAL_RESIZE_END "drag,stop" +#define SIGNAL_RESIZE_SLIDER_DRAG_OK "drag,ok" +#define SIGNAL_RESIZE_SLIDER_DRAG_ERR "drag,outside" +#define SIGNAL_RESIZE_SLIDERS_SHOW "sliders,show" +#define SIGNAL_RESIZE_SLIDERS_HIDE "sliders,hide" +/*#define SIGNAL_REMOVE_BUTTON_CLICKED "remove_button,clicked" */ +#define SIGNAL_CLICKED "mouse,clicked,*" +#define SIGNAL_LIVEBOX_REMOVE_BUTTON_SHOW "remove_button,show" +#define SIGNAL_LIVEBOX_REMOVE_BUTTON_HIDE "remove_button,hide" +#define SIGNAL_REMOVE_BUTTON_INSTANT_HIDE "remove_button,hide,instant" +#define SIGNAL_LIVEBOX_REPOSITION_BG_SHOW "reposition_bg,show" +#define SIGNAL_LIVEBOX_REPOSITION_BG_HIDE "reposition_bg,hide" +#define SIGNAL_EMPTY_PAGE_SHOW "empty_page,show" +#define SIGNAL_EMPTY_PAGE_HIDE "empty_page,hide" +#define SIGNAL_EMPTY_PAGE_EDIT_START "empty_page,edit,start" +#define SIGNAL_EMPTY_PAGE_EDIT_STOP "empty_page,edit,stop" +#define SIGNAL_EDIT_START "edit,start" +#define SIGNAL_EDIT_STOP "edit,stop" +#define SIGNAL_ADD_SHOW "add,show" +#define SIGNAL_ADD_HIDE "add,hide" +#define SIGNAL_ADD_PAGE_CLICKED "add_page_button_clicked" +#define SIGNAL_SCROLLER_PAGE_COUNT_CHANGED "scroller,count,changed" +#define SIGNAL_MOUSE_DOWN "mouse,down,*" +#define SIGNAL_MOUSE_UP "mouse,up,*" +#define SIGNAL_SCROLLER_DRAG_START "scroll,drag,start" +#define SIGNAL_SCROLLER_SCROLL "scroll" +#define SIGNAL_GRID_SHADOW_SHOW "grid,show" +#define SIGNAL_GRID_SHADOW_HIDE "grid,hide" +#define CANNOT_ADD_PAGE_INFO "There is not enough space on the home screen." +#define CANNOT_ADD_WIDGET_INFO "Unsupported widget size." + +/*========================== ALL PAGES CONFIG ================================*/ +#define GENGRID_ITEM_CONTENT "elm.swallow.icon" + +#define IMAGE_ADD_PAGE_FILENAME \ + "/usr/apps/com.samsung.home-lite/res/images/edit_all_page_create.png" + +#define ALL_PAGES_X 0 +#define ALL_PAGES_Y 0 + +#define THUMB_W_REL (320.0/ROOT_WIN_W) +#define THUMB_H_REL (320.0/ROOT_WIN_H) + +#define ITEM_W_REL (336.0/ROOT_WIN_W) +#define ITEM_H_REL (397.0/ROOT_WIN_H) + +#define MAX_ITEMS 6 +#define ITEM_CREATE_TIME 0.5 +#define OFFSET 100 +/*========================== KEY CONFIG ======================================*/ + +#define KEY_HOME "XF86Phone" +#define KEY_MENU "XF86Send" +#define KEY_BACK "XF86Back" +#define KEY_RETURN "Return" + + +/*======================== FOLDER CONFIG =====================================*/ +#define FOLDER_MAX_ITEMS 9 +#define FOLDER_POPUP_Y_REL 0.1677 + +/*======================== POPUP CONFIG ================================*/ +#define POPUP_MAX_FOLDER_ITEMS_TEXT "There is not enough space in folder" + +/******************************************************************************* +* +* +* EDC FILE CONFIGURATIONS +* +* +*******************************************************************************/ +#define SIGNAL_SOURCE "layout" + +/*========================== HOME VIEW CONFIG ================================*/ +#define _HOME_WGT_MIN_Y 80 +#define _HOME_WGT_MAX_Y 1140 +#define _HOME_WGT_EDIT_MAX_Y 1034 + +#define _HOME_BTNS_Y_MIN 1188 +#define _HOME_BTNS_Y_MAX 1263 +#define _HOME_MENU_BTN_X_MIN 32 +#define _HOME_MENU_BTN_X_MAX 161 + +#define _HOME_HOME_BTN_X_MIN 559 +#define _HOME_HOME_BTN_X_MAX 688 +#define _HOME_CHOOSER_CAPTION_Y_MIN 0 +#define _HOME_CHOOSER_CAPTION_Y_MAX 80 + +#define _HOME_PG_INDEX_X_MIN 161 +#define _HOME_PG_INDEX_X_MAX 559 + +#define INDICE_NEXT_PAGE_X_MIN 0.99 +#define INDICE_NEXT_PAGE_X_MAX 1.00 +#define INDICE_PREV_PAGE_X_MIN 0.00 +#define INDICE_PREV_PAGE_X_MAX 0.01 + +#define _MAIN_CONTENT_Y_MIN 72 /*TODO: This value should be 42*/ +#define _MAIN_CONTENT_Y_MAX 862 +#define _APP_CONTENT_Y_MAX 1172 + +#define CONTENT_Y_MIN _MAIN_CONTENT_Y_MIN/ROOT_WIN_H; +#define CONTENT_Y_MAX _MAIN_CONTENT_Y_MAX/ROOT_WIN_H; +#define CONTENT_APP_Y_MAX _APP_CONTENT_Y_MAX/ROOT_WIN_H; + +#define HOME_WGT_MIN_Y _HOME_WGT_MIN_Y/ROOT_WIN_H +#define HOME_WGT_MAX_Y _HOME_WGT_MAX_Y/ROOT_WIN_H +#define HOME_WGT_EDIT_MAX_Y _HOME_WGT_EDIT_MAX_Y/ROOT_WIN_H + +#define HOME_BTNS_Y_MIN _HOME_BTNS_Y_MIN/ROOT_WIN_H +#define HOME_BTNS_Y_MAX _HOME_BTNS_Y_MAX/ROOT_WIN_H +#define HOME_MENU_BTN_X_MIN _HOME_MENU_BTN_X_MIN/ROOT_WIN_W +#define HOME_MENU_BTN_X_MAX _HOME_MENU_BTN_X_MAX/ROOT_WIN_W +#define HOME_HOME_BTN_X_MIN _HOME_HOME_BTN_X_MIN/ROOT_WIN_W +#define HOME_HOME_BTN_X_MAX _HOME_HOME_BTN_X_MAX/ROOT_WIN_W +#define HOME_CHOOSER_CAPTION_Y_MIN _HOME_CHOOSER_CAPTION_Y_MIN/ROOT_WIN_H +#define HOME_CHOOSER_CAPTION_Y_MAX _HOME_CHOOSER_CAPTION_Y_MAX/ROOT_WIN_H + +#define HOME_PG_INDEX_X_MIN _HOME_PG_INDEX_X_MIN/ROOT_WIN_W +#define HOME_PG_INDEX_X_MAX _HOME_PG_INDEX_X_MAX/ROOT_WIN_W + +#define SIGNAL_MENU_BTN_CLICKED "menu_clicked" +#define SIGNAL_HOME_BTN_CLICKED "home_clicked" +#define SIGNAL_CHOOSER_CAPTION_ACTIVATE "chooser,caption,activate" +#define SIGNAL_CHOOSER_CAPTION_DEACTIVATE "chooser,caption,deactivate" + +#define GROUP_HOME_LY "home_ly" +#define PART_CONTENT "content" +#define PART_INDEX "index" +#define PART_EDIT_BG "edit_bg" +#define PART_NEXT_PAGE_INDICE "next_page_indice" +#define PART_PREV_PAGE_INDICE "prev_page_indice" +#define PART_EVENT_BLOCKER "part_event_blocker" +#define PART_CHOOSER_CAPTION_RIGHT_LABEL "chooser_caption_right_label" +#define PART_CHOOSER_CAPTION_LEFT_LABEL "chooser_caption_left_label" +#define PART_CHOOSER_CAPTION_MIDDLE_LABEL "chooser_caption_middle_label" + +#define SIGNAL_EDIT_BG_ON "edit_bg_on" +#define SIGNAL_EDIT_BG_OFF "edit_bg_off" +#define SIGNAL_NEXT_PAGE_INDICE_SHOW "next_page_show" +#define SIGNAL_PREV_PAGE_INDICE_SHOW "prev_page_show" +#define SIGNAL_INDICE_HIDE "page_indice_hide" + +#define SIGNAL_BLOCK_EVENTS "block_home_events" +#define SIGNAL_UNBLOCK_EVENTS "unblock_home_events" + +/*this signals is used for change page on reposition action */ +#define SIGNAL_NEXT_PAGE_CHANGE "next_page_change" +#define SIGNAL_PREV_PAGE_CHANGE "prev_page_change" + +/*these signals change states of bottom buttons (menu and home/all apps) */ +#define SIGNAL_BOTTOM_BUTTONS_HOME_STATE_SET "menu_icon_home_state_set" +#define SIGNAL_BOTTOM_BUTTONS_ALL_APPS_STATE_SET "menu_icon_all_apps_state_set" +#define SIGNAL_BOTTOM_BUTTONS_ALL_APPS_EDIT_STATE_SET "menu_icon_edit_state_set" + +/*========================== LIVEBOX EDC CONFIG ==============================*/ +#define _LIVEBOX_X_MARGIN 6 +#define _LIVEBOX_X_MIN _LIVEBOX_X_MARGIN +#define _LIVEBOX_X_MAX (ROOT_WIN_W - _LIVEBOX_X_MARGIN) + +#define _LIVEBOX_EDIT_X_MARGIN 30 +#define _LIVEBOX_EDIT_Y_MARGIN 30 +#define _LIVEBOX_EDIT_X_MIN _LIVEBOX_EDIT_X_MARGIN +#define _LIVEBOX_EDIT_X_MAX (ROOT_WIN_W - _LIVEBOX_EDIT_X_MARGIN) +#define _LIVEBOX_EDIT_Y_MIN _LIVEBOX_EDIT_X_MARGIN +/*square area of screen width size is required */ +#define _LIVEBOX_EDIT_Y_MAX (ROOT_WIN_W - _LIVEBOX_EDIT_X_MARGIN) + +#define _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF 60 +#define _LIVEBOX_ADD_PAGE_BUTTON_X_MIN \ + (ROOT_WIN_W / 2 - _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF) +#define _LIVEBOX_ADD_PAGE_BUTTON_X_MAX \ + (ROOT_WIN_W / 2 + _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF) +#define _LIVEBOX_ADD_PAGE_BUTTON_Y_MIN \ + (ROOT_WIN_W / 2 - _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF) +#define _LIVEBOX_ADD_PAGE_BUTTON_Y_MAX \ + (ROOT_WIN_W / 2 + _LIVEBOX_ADD_PAGE_BUTTON_SIZE_HALF) + +#define LIVEBOX_REMOVE_BUTTON_SIZE 48 +#define LIVEBOX_SLIDER_BUTTON_SIZE 12 +#define LIVEBOX_SLIDER_FRAME_OFFSET_1 5 +#define LIVEBOX_SLIDER_FRAME_OFFSET_2 8 + +#define LIVEBOX_REMOVE_LB_BUTTON_SIZE 24 +#define LIVEBOX_REMOVE_LB_OFFSET_X 9 +#define LIVEBOX_REMOVE_LB_OFFSET_Y 8 + +#define LIVEBOX_REPOSITION_BG_BORDER 10 +#define LIVEBOX_REPOSITION_BG_COLOR 162 +#define LIVEBOX_REPOSITION_SHADOW_COLOR 96 + +#define LIVEBOX_X_MIN _LIVEBOX_X_MIN/ROOT_WIN_W +#define LIVEBOX_X_MAX _LIVEBOX_X_MAX/ROOT_WIN_W + +#define LIVEBOX_EDIT_X_MIN _LIVEBOX_EDIT_X_MIN/ROOT_WIN_W +#define LIVEBOX_EDIT_X_MAX _LIVEBOX_EDIT_X_MAX/ROOT_WIN_W +#define LIVEBOX_EDIT_Y_MIN _LIVEBOX_EDIT_Y_MIN/ROOT_WIN_W +#define LIVEBOX_EDIT_Y_MAX _LIVEBOX_EDIT_Y_MAX/ROOT_WIN_W + +#define LIVEBOX_ADD_PAGE_BUTTON_X_MIN _LIVEBOX_ADD_PAGE_BUTTON_X_MIN/ROOT_WIN_W +#define LIVEBOX_ADD_PAGE_BUTTON_X_MAX _LIVEBOX_ADD_PAGE_BUTTON_X_MAX/ROOT_WIN_W +#define LIVEBOX_ADD_PAGE_BUTTON_Y_MIN _LIVEBOX_ADD_PAGE_BUTTON_Y_MIN/ROOT_WIN_W +#define LIVEBOX_ADD_PAGE_BUTTON_Y_MAX _LIVEBOX_ADD_PAGE_BUTTON_Y_MAX/ROOT_WIN_W + +#define LIVEBOX_RESIZE_FRAME_REL_1 \ + (1.0 * LIVEBOX_SLIDER_FRAME_OFFSET_1 / LIVEBOX_SLIDER_BUTTON_SIZE) +#define LIVEBOX_RESIZE_FRAME_REL_2 \ + (1.0 * LIVEBOX_SLIDER_FRAME_OFFSET_2 / LIVEBOX_SLIDER_BUTTON_SIZE) + +/*========================== APP ICON CONFIG =================================*/ +#define FOLDER_ICON_MAX_MINIATURES 4 + +#define ICON_CONTAINER_W 132 +#define ICON_CONTAINER_H 159 + +#define ICON_BADGE_W 30 +#define ICON_BADGE_H 30 + +#define _ICON_Y_MIN 8 +#define _ICON_Y_MAX 96 +#define _ICON_X_MIN 22 +#define _ICON_X_MAX 110 + +#define _ICON_NAME_X_MIN 6 +#define _ICON_NAME_X_MAX 126 +#define _ICON_NAME_Y_MIN 101 +#define _ICON_NAME_Y_MAX 156 +#define _ICON_NAME_EDIT_Y_MAX 144 + +#define _ICON_UNINSTALL_BTN_X_MAX 60 +#define _ICON_UNINSTALL_BTN_Y_MAX 60 + +#define ICON_Y_MIN _ICON_Y_MIN/ICON_CONTAINER_H +#define ICON_Y_MAX _ICON_Y_MAX/ICON_CONTAINER_H +#define ICON_X_MIN _ICON_X_MIN/ICON_CONTAINER_W +#define ICON_X_MAX _ICON_X_MAX/ICON_CONTAINER_W + +#define ICON_NAME_X_MIN _ICON_NAME_X_MIN/ICON_CONTAINER_W +#define ICON_NAME_X_MAX _ICON_NAME_X_MAX/ICON_CONTAINER_W +#define ICON_NAME_Y_MIN _ICON_NAME_Y_MIN/ICON_CONTAINER_H +#define ICON_NAME_Y_MAX _ICON_NAME_Y_MAX/ICON_CONTAINER_H +#define ICON_NAME_EDIT_Y_MAX _ICON_NAME_EDIT_Y_MAX/ICON_CONTAINER_H + +#define ICON_UNINSTALL_BTN_X_MAX _ICON_UNINSTALL_BTN_X_MAX/ICON_CONTAINER_W +#define ICON_UNINSTALL_BTN_Y_MAX _ICON_UNINSTALL_BTN_Y_MAX/ICON_CONTAINER_H + +#define ICON_BADGE_CHECKBOX_REL1_X 0.6588 +#define ICON_BADGE_CHECKBOX_REL1_Y 0.0498 +#define ICON_BADGE_CHECKBOX_REL2_X 0.9412 +#define ICON_BADGE_CHECKBOX_REL2_Y 0.2886 + +#define GROUP_ICON_LY "app_icon_layout" +#define PART_ICON_CONTENT "icon_content" +#define PART_ICON_NAME "icon_name" + +#define SIGNAL_PRESS_SOURCE "icon_content_touch" + +#define SIGNAL_ICON_PRESS "icon,pressed" +#define SIGNAL_UNINSTALL_BUTTON_SHOW "uninstall_button,show" +#define SIGNAL_UNINSTALL_BUTTON_HIDE "uninstall_button,hide" +#define SIGNAL_UNINSTALL_BUTTON_CLICKED "uninstall_button,clicked" +#define SIGNAL_CHECKBOX_SHOW_UNCHECKED "checkbox,show,unchecked" +#define SIGNAL_CHECKBOX_SHOW_CHECKED "checkbox,show,checked" +#define SIGNAL_CHECKBOX_HIDE "checkbox,hide" +#define SIGNAL_CHECKBOX_CHECKED "checkbox,checked" +#define SIGNAL_CHECKBOX_UNCHECKED "checkbox,unchecked" +#define SIGNAL_CHECKBOX_BLOCK "checkbox,block" +#define SIGNAL_CHECKBOX_UNBLOCK "checkbox,unblock" +#define SIGNAL_LABEL_SHOW "label,show" +#define SIGNAL_LABEL_HIDE "label,hide" +#define SIGNAL_BADGE_SHOW "badge,show" +#define SIGNAL_BADGE_HIDE "badge,hide" +#define SIGNAL_BADGE_FOLDER_SHOW "folder,badge,show" +#define SIGNAL_BADGE_FOLDER_HIDE "folder,badge,hide" +#define SIGNAL_ICON_CLICKED "icon_clicked" +#define SIGNAL_EDIT_MODE_ON "edit_mode_on" +#define SIGNAL_EDIT_MODE_OFF "edit_mode_off" +#define SIGNAL_EDIT_MODE_BLACK_ON "edit_mode_black_on" +#define SIGNAL_EDIT_MODE_BLACK_OFF "edit_mode_black_off" +#define SIGNAL_CHOOSE_MODE_ON "choose_mode_on" +#define SIGNAL_CHOOSE_MODE_OFF "choose_mode_off" +#define SIGNAL_FRAME_POSSIBLE_SHOW "show_frame_possible" +#define SIGNAL_FRAME_IMPOSSIBLE_SHOW "show_frame_impossible" +#define SIGNAL_FRAME_HIDE "hide_frame" +#define SIGNAL_EMPTY_BG_SHOW "empty_bg" +#define SIGNAL_BLACK_TEXT "label,text,black" +#define PART_CAPTION_MENU_CENTER_LABEL_NAME "chooser_caption_middle_label" +#define PART_CAPTION_MENU_LEFT_LABEL "chooser_caption_left_label" +#define PART_CAPTION_MENU_RIGHT_LABEL "chooser_caption_right_label" + +/*========================== INDEX ELEMENT CONFIG ============================*/ +#define INDEX_MAX_PAGE_COUNT 7 +#define SIGNAL_SET_CURRENT "set_current" +#define SIGNAL_SET_DEFAULT "set_default" +#define INDICE_SIZE_SETTER "indice_size_setter" + +#define INDEX_IMAGE IMAGE_DIR"/core_page_indicator_horizontal.png" +#define INDEX_EDJE EDJE_DIR"/index_element.edj" +#define GROUP_INDEX_ELEMENT "index_element" +#define PART_INDEX_ELEMENT "element" + +#define INDEX_ELEMENT_CONTAINER_WIDTH 38.0 +#define INDEX_ELEMENT_CONTAINER_HEIGHT 38.0 + +#define INDEX_CURRENT_SIZE 0.03 +#define INDEX_NORMAL_SIZE 0.015 +#define INDEX_CURRENT_ALPHA 255 +#define INDEX_NORMAL_ALPHA 100 + +/*========================== APP_GRID.EDC CONFIG =============================*/ +#define GROUP_APP_GRID "app_grid_ly" +#define GROUP_APP_GRID_ITEM_CONTAINER "app_grid_item_container" + +#define PART_APP_GRID_BG "app_grid_bg" +#define PART_APP_GRID_EDIT_BG "app_grid_edit_bg" +#define PART_APP_GRID_CONTENT "app_grid_content" +#define PART_APP_GRID_ITEM "app_grid_item" + +#define PART_APP_GRID_SIZE_SETTER "size_setter" + +#define ANIMATION_RESIZE_TIME 0.2 + +/*========================== FOLDER.EDC CONFIG ===============================*/ +#define MINIATURE_COL_1_MIN 0.18 +#define MINIATURE_COL_1_MAX 0.48 +#define MINIATURE_COL_2_MIN 0.52 +#define MINIATURE_COL_2_MAX 0.82 +#define MINIATURE_ROW_1_MIN 0.18 +#define MINIATURE_ROW_1_MAX 0.48 +#define MINIATURE_ROW_2_MIN 0.52 +#define MINIATURE_ROW_2_MAX 0.82 +#define MINIATURE_CENTER_MIN 0.35 +#define MINIATURE_CENTER_MAX 0.65 + +#define FOLDER_HEIGHT 569 + +#define _NAME_Y_MIN 0 +#define _NAME_Y_MAX 62 + +#define _SEPARATOR_Y_MIN 62 +#define _SEPARATOR_Y_MAX 64 + +#define _CONTENT_Y_MIN 69 +#define _CONTENT_Y_MAX 569 + +#define _INDEX_Y_MIN 355 +#define _INDEX_Y_MAX 421 + +#define FOLDER_NAME_Y_MIN _NAME_Y_MIN/FOLDER_HEIGHT +#define FOLDER_NAME_Y_MAX _NAME_Y_MAX/FOLDER_HEIGHT + +#define FOLDER_SEPARATOR_Y_MIN _SEPARATOR_Y_MIN/FOLDER_HEIGHT +#define FOLDER_SEPARATOR_Y_MAX _SEPARATOR_Y_MAX/FOLDER_HEIGHT + +#define FOLDER_CONTENT_Y_MIN _CONTENT_Y_MIN/FOLDER_HEIGHT +#define FOLDER_CONTENT_Y_MAX _CONTENT_Y_MAX/FOLDER_HEIGHT + +#define INDEX_Y_MIN _INDEX_Y_MIN/FOLDER_3_R_IND_HEIGHT +#define INDEX_Y_MAX _INDEX_Y_MAX/FOLDER_3_R_IND_HEIGHT + +#define GROUP_FOLDER_ICON_LAYOUT "folder_icon_layout" +#define GROUP_FOLDER_ADD_ICON "folder_add_icon" +#define GROUP_FOLDER_WINDOW "folder_window" +#define GROUP_FOLDER_POPUP "folder_popup" +#define PART_FOLDER_NAME "folder_name_entry" +#define PART_FOLDER_CONTENT "folder_content" +#define PART_FOLDER_UNNAMED_TEXT "Unnamed folder" + +#define SIGNAL_CLEAR_BTN_SHOW "clear_btn_show" +#define SIGNAL_CLEAR_BTN_HIDE "clear_btn_hide" +#define SIGNAL_CLEAR_BTN_CLICKED "clear_btn_clicked" +#define SIGNAL_ENTRY_BLOCK_ON "folder_entry,block,on" +#define SIGNAL_ENTRY_BLOCK_OFF "folder_entry,block,off" + +#define SIGNAL_BG_CLICKED "bg_clicked" + +#define SIGNAL_FOLDER_PANEL_OPEN "folder_open" +#define SIGNAL_FOLDER_PANEL_CLOSE "folder_close" +#define SIGNAL_FOLDER_ANIM_DONE "anim_done" +#define SIGNAL_FOLDER_UNNAMED_TEXT_SHOW "unnamed_text_show" +#define SIGNAL_FOLDER_UNNAMED_TEXT_HIDE "unnamed_text_hide" + +#define FOLDER_1_ROW_H_REL 0.25875 +#define FOLDER_2_ROW_H_REL 0.42375 +#define FOLDER_3_ROW_H_REL 0.59125 + +#define FOLDER_ROW_W_REL 0.7 +#define FOLDER_POPUP_W_REL 0.9118 +#define FOLDER_POPUP_X_REL 0.0441 + +#define FOLDER_GRID_W_REL 0.9 +#define FOLDER_GRID_H_REL 0.5 +#define FOLDER_ITEM_MARGIN 0.04 + +#define FOLDER_LEFT_MARGIN 0.07 +#define FOLDER_RIGHT_MARGIN 0.93 + +#define FOLDER_WINDOW_W home_screen_get_root_width() +#define FOLDER_WINDOW_H home_screen_get_root_height() + +#define FOLDER_ROW_APPS 3 +#define FOLDER_COL_APPS 3 + +#define POPUP_SHIFT 15 +#define KEYPAD_SPACE 5 +#define DEFAULT_FOLDER_NAME "Unnamed folder" + +/*========================== ALL PAGES EDC ===================================*/ +#define GROUP_ALL_PAGES "page_edit_view" +#define GROUP_GRID_ITEM "grid_item" +#define GROUP_THUMB "thumb" + +#define PART_LAYOUT_CONTENT "content" +#define PART_GRID_ITEM_CONTENT "grid_item_content" +#define PART_THUMB_CONTENT "page_thumbnail" + +#define SIGNAL_BG_HIDE "bg_hide" +#define SIGNAL_BG_NORMAL "bg_normal" +#define SIGNAL_BG_REPOSITON "bg_reposition" +#define SIGNAL_REMOVE_BUTTON_CLICKED "remove_button_clicked" +#define SIGNAL_THUMBNAIL_CLICKED "thumbnail_clicked" +#define SIGNAL_ADD_ICON_SHOW "add_icon_show" +#define SIGNAL_REMOVE_BUTTON_SHOW "remove_button_show" +#define SIGNAL_REMOVE_BUTTON_HIDE "remove_button_hide" +#define SIGNAL_REMOVE_BUTTON_HIDE_INSTANT "remove_button_hide_instant" + +#define BADGE_REL1_X 0.060 +#define BADGE_REL1_Y 0.118 +#define BADGE_REL2_X 0.250 +#define BADGE_REL2_Y 0.284 + +#define ROW_SHIFT 0.45 +#define COL_SHIFT 0.32 +#endif /* CONF_H_ */ diff --git a/inc/data_model.h b/inc/data_model.h new file mode 100644 index 0000000..8b51916 --- /dev/null +++ b/inc/data_model.h @@ -0,0 +1,209 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef DATA_MODEL_H_ +#define DATA_MODEL_H_ + +#include +#include "app_mgr.h" +#include "tree.h" + +typedef enum { + REPOSITION_SIDE_TO_LEFT, + REPOSITION_SIDE_TO_RIGHT +} reposition_side_t; + +/** + * @brief gets data model of the application + */ +extern Tree_node_t *data_model_get_data(void); + +/** + * @brief gets data model for the all apps view. + */ +extern Tree_node_t *data_model_get_all_apps(void); + +/** + * @brief gets data model for the home view. + */ +extern Tree_node_t *data_model_get_home(void); + +/* + * @brief Get applications from app manager + */ +extern void data_model_load_app_mgr(void); + +/* + * @brief Get applications from database + */ +extern Eina_Bool data_model_load_db(void); + +/* + * @brief free entire memory allocated for model structure + * and nodes data + */ +extern void data_model_free(void); + +/** + * @brief Creates folder in the data model/ + */ +extern Tree_node_t *data_model_create_folder(app_item_t *node); + +/** + * @brief Appends an item into the folder. + */ +extern void data_model_append_node_to_folder(Tree_node_t *folder, + Tree_node_t *node); + +/** + * @brief Removes empty pages from the all apps view in the data model. + */ +extern void data_model_free_empty_pages(Tree_node_t *folder_or_some_other_root); + +/* + * @brief Delete folder and move apps to all apps + */ +extern void data_model_delete_folder(Tree_node_t *node); + +/** + * @brief Append an newly installed application to the data model. + */ +extern Tree_node_t *data_model_install_application( + app_mgr_item_t *app_mgr_item); + +/** + * @brief Uninstall an application + */ +extern void data_model_uninstall_application(Tree_node_t *node); + +/* + * @brief set checked state to all icons + */ +extern void data_model_check_all_apps(Tree_node_t *node, bool checked); + +/** + * @brief returns count of checked applications in the all apps edit mode view. + */ +extern int data_model_get_app_check_state(void); + +/** + * @brief change position of an application + */ +extern void data_model_reposition_item(Tree_node_t *node, + Tree_node_t *destinations_parent, Tree_node_t *destination, + reposition_side_t side, int page_limit); + +/** + * @brief set the view type of the data models items + */ +extern void data_model_set_view_mode(homescreen_view_t view); + +/** + * @brief iterates over the whole tree and applies func_cb over each node + * @param node - tree node, pass NULL if You want + * to start from the root of the model tree + * @param func_cb - function to call on each node + * @param data - data - to be passed to func_cb + * @details [long description] + */ +extern void data_model_iterate(Tree_node_t *node, tree_browse_cb_t func_cb, + void *data); + +/** + * @brief This one takes pages abstraction into account. + * Iterates through pages, and it's items. + * @param node - tree node, pass NULL if You want + * to start from the root of the model tree + * @param item_func - function to call on each item + * @param page_func - function to call on each page + * @param data - data - to be passed to func_cb + */ +extern void data_model_iterate_pages(Tree_node_t *node, + tree_browse_cb_t page_func, tree_browse_cb_t item_func, void *data); + +/** + * @brief sorts in place using sort_compare_function + */ +extern void data_model_sort(Eina_Compare_Cb sort_compare_function); + +/** + * @brief Creates new page + * @details Creates new page node, adds it to the tree structure and + * returns the created page + * @return new page node + */ +extern Tree_node_t *data_model_add_widget_page(void); + +/** + * @brief Creates new widget and adds it to @p page + * @param page Page the new widget will be added to + * @param widget_id Created widget + * @param col column to put widget in + * @param row row to put widget in + * @param col_span column span of widget + * @param row_span row span of widget + * @return New widget node + */ +extern Tree_node_t *data_model_add_widget(Tree_node_t *page, + const char *widget_id, int col, int row, int col_span, int row_span, + const char *content_info); + +/** + * @brief [brief description] + * @details [long description] + */ +extern void data_model_reposition_widget(Tree_node_t *page_node, + Tree_node_t *obj_node); + +/** + * @brief [brief description] + * @details [long description] + */ +extern void data_model_resize_widget(Tree_node_t *item_node, int col, int row, + int col_span, int row_span); + +extern void data_model_update_content_info(Tree_node_t *item_node, const char *content_info); + +/** + * @brief [brief description] + * @details [long description] + */ +extern void data_model_insert_after(Tree_node_t *prev_node, + Tree_node_t *item_node); + +/** + * @brief [brief description] + * @details [long description] + */ +extern void data_model_del_item(Tree_node_t *node); + +/** + * @brief [brief description] + * @details [long description] + */ +extern void data_model_update_item(Tree_node_t *node); + +/** + * @brief Unpin a repositioned node from the folder. + * + * @param folder_node Folder node pointer. + * @param node repositioned node pointer. + */ +extern void data_model_detach_from_folder(Tree_node_t *folder_node, + Tree_node_t *node); + + +#endif /* DATA_MODEL_H_ */ diff --git a/inc/db/db.h b/inc/db/db.h new file mode 100644 index 0000000..be9e17c --- /dev/null +++ b/inc/db/db.h @@ -0,0 +1,64 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef __DB_H__ +#define __DB_H__ + +#include "app_item.h" +#include "util.h" + +typedef struct +{ + int id; + app_item_type_t type; + char *appid; + + int first_id; + int next_id; + + int x; + int y; + int w; + int h; + + char *content_info; +} db_item_t; + +/** + * @brief Create database table + */ +extern bool db_create_tables(void); + +/** + * @brief Get the applications list from the database + * @param apps Eina_List pointer + */ +extern bool db_get_apps(Eina_List **apps); + +/** + * @brief Frees the application list + * @param apps Pointer to Eina_List. + */ +extern void db_free_apps(Eina_List *apps); + +/** + * @brief Updates the database + * @param updated item + * @param insert flag. + */ +extern bool db_update_apps(db_item_t item, bool insert); + +#endif /* __DB_H__ */ diff --git a/inc/dynamic_index.h b/inc/dynamic_index.h new file mode 100644 index 0000000..fdd47af --- /dev/null +++ b/inc/dynamic_index.h @@ -0,0 +1,56 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef DYNAMIC_INDEX_H_ +#define DYNAMIC_INDEX_H_ + +#include +#include + +#include "page_scroller.h" +#include "conf.h" + +typedef struct { + Evas_Object *scroller; + Evas_Object *box; + Evas_Object *indices[INDEX_MAX_PAGE_COUNT]; + int page_count; + int page_width; + int page_current; + int x_current; +} dynamic_index_t; + +/** + * @brief Creates new dynamic index object + * @param page_scroller Evas_Object pointer to elm_scroller widget + */ +dynamic_index_t *dynamic_index_new(Evas_Object *page_scroller); + +/** + * @brief Removes dynamic inxed object + * @param dynamic_index Pointer to dynamic_index_t type. + */ +void dynamic_index_del(dynamic_index_t *dynamic_index); + +/** + * @brief Clears content and set current index. + * @details [long description] + * + * @param dynamic_index [description] + */ +void dynamic_index_reload(dynamic_index_t *dynamic_index, int idx, int page_count); + +#endif /* DYNAMIC_INDEX_H_ */ diff --git a/inc/folder_panel.h b/inc/folder_panel.h new file mode 100644 index 0000000..8d7a3fc --- /dev/null +++ b/inc/folder_panel.h @@ -0,0 +1,133 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef __FOLDER_PANEL_H__ +#define __FOLDER_PANEL_H__ + +#include +#include "homescreen-efl.h" +#include "app_item.h" +#include "dynamic_index.h" +#include "tree.h" + +typedef struct { + Eina_List *miniatures; + Evas_Object *folder_scroller; +} folder_data_t; + +/** + * @brief Initializes folder module + */ +void folder_panel_init_module(void); + +/** + * @brief Frees all data initialized before. + */ +void folder_panel_deinit_module(void); + +/** + * @brief Creates folder panel. + * @param data folder parent in data model + * @return app_item_t pointer + */ +extern app_item_t *folder_panel_create(Tree_node_t *data); + +/** + * @brief Ignores folder click action if ignore is true. +*/ +extern void folder_panel_set_click_ignore_state(bool ignore); + +/** + * @brief Enables or disables folder entry editing. + * @param state the state to put folder entry in + */ +extern void folder_panel_enable_entry(bool state); + +/** + * @brief Attaches icon object to grid of currently opened folder. + * @param icon - app_item_t->layout + */ +extern Elm_Object_Item *folder_panel_attach_to_grid(Evas_Object *icon, + folder_data_t *folder_data); + +/** + * @brief Shows folder panel layout on screen + * @param folder pointer to app_item_t object + * @param keypad_show imf keyboard visibility flatg + * + * @return true if no errors. + */ +extern bool folder_panel_open_folder(app_item_t *folder, bool keypad_show); + +/** + * @brief Closes folder panel view. + */ +extern void folder_panel_close_folder(void); + +/** + * @brief Cancels appending new items into the folder by add icon press. + */ +extern void folder_panel_cancel_add_icon(void); + +/** + * @brief Returns folder visibility state + * @return true if folder is visible otherwise returns false + */ +extern bool folder_panel_is_folder_visible(void); + +/** + * @brief Shows checkboxes on the folder icon. + */ +extern bool folder_panel_set_content_checked(Tree_node_t *node); + +/** + * @brief Function returns pointer to data node of the opened folder + * @return Tree_Node_t pointer. + */ +extern Tree_node_t *folder_panel_get_opened_folder_node(void); + +/** + * @brief Function returns pointer to app_item of opened folder + */ +extern const app_item_t *folder_panel_get_opened_folder_item(void); + +/** + * @brief Return number of items inserted into the folder. + */ +extern int folder_panel_get_items_count(Tree_node_t *folder); + +/** + * @brief Removes empty folder after reposition. + */ +extern void folder_panel_remove_empty_folder(Tree_node_t *folder); + +/** + * @brief Return folder popup geometry + * + * @param x position + * @param y position + * @param w width + * @param h height + */ +extern void folder_panel_get_folder_geometry(int *x, int *y, int *w, int *h); + +/** + * @brief Function close entry input panel connected with folder name entry + * widget + */ +extern void folder_panel_hide_input_panel(void); + +#endif /* FOLDER_PANEL_H_ */ diff --git a/inc/homescreen-efl.h b/inc/homescreen-efl.h new file mode 100644 index 0000000..944d47c --- /dev/null +++ b/inc/homescreen-efl.h @@ -0,0 +1,147 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef __HOMESCREEN_EFL_H__ +#define __HOMESCREEN_EFL_H__ + +#include +#include + +#include +#include + +#include "conf.h" +#include "app_item.h" +#include "tree.h" + +#ifdef LOG_TAG +#undef LOG_TAG +#endif +#define LOG_TAG "HOMESCREEN_EFL" + +#if !defined(PACKAGE) +#define PACKAGE "org.tizen.homescreen-efl" +#endif + +typedef enum { + HOMESCREEN_VIEW_HOME = 0, + HOMESCREEN_VIEW_HOME_EDIT, + HOMESCREEN_VIEW_HOME_ALL_PAGES, + HOMESCREEN_VIEW_ALL_APPS, + HOMESCREEN_VIEW_ALL_APPS_EDIT, + HOMESCREEN_VIEW_ALL_APPS_CHOOSE, + HOMESCREEN_VIEW_UNKNOWN, +} homescreen_view_t; + +typedef enum { + INDICE_NEXT_PAGE_ON = 0, + INDICE_PREV_PAGE_ON, + INDICE_OFF, +} indice_type_t; + +/** + * @return returns screen width + */ +extern int home_screen_get_root_width(void); + +/** + * @return returns screen height + */ +extern int home_screen_get_root_height(void); + +/** + * @brief Returns homescreen window pointer. + * @return Evas_Object pointer to elm_win widget or NULL if falsse + */ +extern Evas_Object *home_screen_get_win(void); + +/** + * @brief Returns elm_win main layout. + * @details Function returns pointer to elm_layout widget with is a parent + * for other views used in home + * @return Evas_Object pointer to elm_layout widget + */ +extern Evas_Object *home_screen_get_layout(void); + +/** + * @brief Returns homescreen view type + * @details Possible types : + * + *HOMESCREEN_VIEW_HOME, + *HOMESCREEN_VIEW_HOME_EDIT, + *HOMESCREEN_VIEW_HOME_ALL_PAGES, + *HOMESCREEN_VIEW_ALL_APPS, + *HOMESCREEN_VIEW_ALL_APPS_EDIT, + *HOMESCREEN_VIEW_ALL_APPS_CREATE_FOLDER, + *HOMESCREEN_VIEW_UNKNOWN, + * + * @return homescreen_view_t value + */ +extern homescreen_view_t home_screen_get_view_type(void); + +/** + * @brief set homescreen view type + * @param view homescreen_view_t type + */ +extern void home_screen_set_view_type(homescreen_view_t view); + +/** + * @brief Function sets indice state + * @details During page switching left or right side of the screen should be + * highlighted. This function is repsponsible for this logic. + * + * @param indice type of performed action + */ +extern void home_screen_set_indice_state(indice_type_t indice); + +/** + * @brief Update the view after application uninstall + */ +extern void home_screen_mvc_item_uninstall_cb(Tree_node_t *item); + +/** + * @brief Update view after folder name change + */ +extern void home_screen_mvc_update_view(void); + +/** + * @brief Update view after move an item into the folder + */ +extern void home_screen_mvc_drag_item_to_folder_cb(Tree_node_t *dragged_item, + Tree_node_t *folder); + +/** + * @brief home branch test function + * @details Function for debug purpose only. Displays + * the data stored in home branch of the data model tree + */ +extern void home_screen_print_tree(void); + +/** + * @brief Function updates the view after drag an item from the folder. + */ +extern void home_screen_mvc_drag_item_from_folder_cb(void); + +/** + * @brief Multi resolution support function for texts in edje. + * + * @param layout Elm_Layout Pointer + */ +extern void home_screen_mvc_set_ly_scale(Evas_Object *layout); + + + +#endif /* __homescreen-efl_H__ */ diff --git a/inc/key.h b/inc/key.h new file mode 100644 index 0000000..ee4d38e --- /dev/null +++ b/inc/key.h @@ -0,0 +1,30 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef KEY_H_ +#define KEY_H_ + +/** + * @brief Registers the key module and all callbacks related to to hw keys. + */ +void key_register(void); + +/** + * @brief Unregisters all callbacks related to hw keys. + */ +void key_unregister(void); + +#endif /* KEY_H_ */ diff --git a/inc/layout.h b/inc/layout.h new file mode 100644 index 0000000..b09f5ed --- /dev/null +++ b/inc/layout.h @@ -0,0 +1,33 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef LAYOUT_H_ +#define LAYOUT_H_ + +#include +#include + +/** + * @brief Sets text in caption menu + * If a parameter is NULL, that parameter won't be set + */ +extern void layout_main_caption_set_menu_texts( + const char *label_text, + const char *left_text, + const char *right_text); + + +#endif /* LAYOUT_H_ */ diff --git a/inc/livebox/grid_item_resize.h b/inc/livebox/grid_item_resize.h new file mode 100644 index 0000000..9e84cb4 --- /dev/null +++ b/inc/livebox/grid_item_resize.h @@ -0,0 +1,52 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef GRID_ITEM_RESIZE_H_ +#define GRID_ITEM_RESIZE_H_ + +#include +#include +#include + +#include "../util.h" +#include "livebox_utils.h" +#include "../conf.h" + +/** + * @brief Adds callbacks to livebox_container + * @param livebox_scroller scroller with livebox_container + * @param livebox_container Layout created with file: livebox_container.edj, + * with grid as its main part + * @return true on success + */ +extern bool grid_item_init_resize_callbacks(Evas_Object *livebox_scroller, + Evas_Object *livebox_container); + +/** + * @brief Set the resize sliders on @p page based on @p livebox geometry + */ +extern void grid_item_set_resize_livebox_sliders(Evas_Object *livebox, + Evas_Object *page); + +/** + * @brief Set the visibility of resize frame + * @param page Page containing the frame + * @param visible Visibility of the frame + */ +extern void grid_item_set_resize_sliders_visibility(Evas_Object *page, + bool visible); + +#endif /* GRID_ITEM_RESIZE_H_ */ diff --git a/inc/livebox/grid_reposition.h b/inc/livebox/grid_reposition.h new file mode 100644 index 0000000..b090d06 --- /dev/null +++ b/inc/livebox/grid_reposition.h @@ -0,0 +1,79 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef GRID_REPOSITION_H_ +#define GRID_REPOSITION_H_ + +#include + +/** + * @brief Returns the grid that the repositioned object will be packed to + * @return origination elm_grid or NULL on error + */ +extern Evas_Object *grid_reposition_get_current_grid(void); + +/** + * @brief Returns the currently repositioned object + * @return origination elm_grid or NULL on error or if there is no + * repositioned object +*/ +extern Evas_Object *grid_reposition_get_repositioned_item(void); + +/** + * @brief Initialize the reposition process + * @details + * Function call order: + * @code + * grid_reposition_init() + * -> grid_reposition_start() -> grid_reposition_move() -> grid_reposition_end() + * @endcode + * + * grid_reposition_move() should be called on mouse move + * + * @param grid + * @param repositioned_item + */ +extern void grid_reposition_init(Evas_Object *grid, Evas_Object + *repositioned_item); + +/** + * @brief Start the reposition process + * @details Check the grid_reposition_init() function + * + */ +extern void grid_reposition_start(void); + +/** + * @brief Move the repositioned object + * @details Check the grid_reposition_init() function + * @param mouse_x + * @param mouse_y + */ +extern void grid_reposition_move(int mouse_x, int mouse_y); + +/** + * @brief End the reposition object + * @details Check the grid_reposition_init() function + */ +extern void grid_reposition_end(void); + +/** + * @brief Sets the grid that the repostioned object will be dropped to + * @param grid must be elm_grid + */ +extern void grid_reposition_set_current_grid(Evas_Object *grid); + +#endif /* GRID_REPOSITION_H_ */ diff --git a/inc/livebox/livebox_animator.h b/inc/livebox/livebox_animator.h new file mode 100644 index 0000000..c2a358a --- /dev/null +++ b/inc/livebox/livebox_animator.h @@ -0,0 +1,86 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef LIVEBOX_ANIMATOR_H_ +#define LIVEBOX_ANIMATOR_H_ + +struct _Anim_Data; + +typedef void (*Anim_Grid_End)(struct _Anim_Data **ad); + +typedef struct _Anim_Data { + double anim_time; + Evas_Object *obj; + Ecore_Pos_Map map; + double map_var_1; + double map_var_2; + Eina_Rectangle *geometry_start; + Eina_Rectangle *geometry_end; + Anim_Grid_End on_end; + Ecore_Animator *animator; + bool anim_is_running; +} Anim_Data_t; + +/** + * @brief Delete an animator + * @param ad Animator to delete + */ +extern void livebox_animator_del_grid(Anim_Data_t **ad); + +/** + * @brief creates a grid animator and starts it + * @details Animator will be performed on grid item. It works by packing + * an item to grid's virtual resolution. + * Notice that the animated item has to be packed to a grid before the + * animation starts + * @param obj object to animate + * @param anim_time animation time + * @param map animator mapping method + * @param map_var_1 value used by map + * @param map_var_2 value used by map + * @param geometry_start animator start position + * @param geometry_end animator end position + * @param on_end callback called on end of animation + * @param ad_out created animator object + */ +extern void livebox_animator_play_grid_pack_set(Evas_Object *obj, + float anim_time, + Ecore_Pos_Map map, float map_var_1, float map_var_2, + Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end, + Anim_Grid_End on_end, + Anim_Data_t **ad_out); + +/** + * @brief creates a geometry animator and starts it + * @details object position and size will be animated + * @param obj object ot animate + * @param anim_time animation time + * @param map animator mapping method + * @param map_var_1 value used by map + * @param map_var_2 value used by map + * @param geometry_start animator start position + * @param geometry_end animator end position + * @param on_end callback called on end of animation + * @param ad_out created animator object + */ +extern void livebox_animator_play_geometry_set(Evas_Object *obj, + float anim_time, + Ecore_Pos_Map map, float map_var_1, float map_var_2, + Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end, + Anim_Grid_End on_end, + Anim_Data_t **ad_out); + +#endif /* LIVEBOX_ANIMATOR_H_ */ diff --git a/inc/livebox/livebox_panel.h b/inc/livebox/livebox_panel.h new file mode 100644 index 0000000..dd7a92a --- /dev/null +++ b/inc/livebox/livebox_panel.h @@ -0,0 +1,216 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef __LIVEBOX_PANEL_H__ +#define __LIVEBOX_PANEL_H__ + +#include +#include "tree.h" + +/** + * @brief creates main livebox view + * @details Creates the livebox scroller and adds pages with liveboxes to it + * @param parent Layout where the livebox panel will be added + * @return Created livebox view or NULL on error + */ +extern Evas_Object *livebox_panel_create(Evas_Object *parent); + +/** + * @brief [brief description] + * @details [long description] + */ +extern void livebox_panel_fill(void); + +/** + * + */ +void livebox_panel_update_dynamic_index(void); + + +/** + * @brief Creates dynamic index for livebox panel + */ +extern void livebox_panel_create_dynamic_index(void); + +/** + * @brief Sets livebox panel and its dynamic index to layout + * @note @p layout has to have "content" and "index" parts + * @param layout layout to add widgets to + */ +extern void livebox_panel_set_content(Evas_Object *layout); + +/** + * @brief Unsets livebox panel and its dynamic index from layout + * @note @p layout has to have "content" and "index" parts + * @param layout layout to remove widgets from + */ +extern void livebox_panel_unset_content(Evas_Object *layout); + +/** + * @brief Create empty livebox scroller + * @return The created scroller or null on error + */ +extern Evas_Object *livebox_panel_create_scroller(void); + +/** + * @brief destroys the livebox scroller and all of it pages + */ +extern void livebox_panel_destroy(void); + +/** + * Adds new livebox to @p page + * @param node widget representation in data structure + * @param page Page where livebox will be added + * @param livebox_pkgname livebo pkgname + * @param pos_x position in grid + * @param pos_y position in grid + * @param width width of livebox in grid + * @param height height of livebox in grid + */ +void livebox_panel_add_livebox(Tree_node_t *node, Evas_Object *page, + const char *livebox_pkgname, int pos_x, int pos_y, + int width, int height, + char *content_info); + +/** + * @brief Creates new livebox page + * @param node page representation in data structure + * @param livebox_scroller + * @return new empty page + */ +extern Evas_Object *livebox_panel_add_page(Tree_node_t *node, + Evas_Object *livebox_scroller); + +/** + * @brief adds an empty page (page layout is described in @p + * livebox_container.edc to the @p livebox_scroller + * @param livebox_scroller Scroller to which thepage is added + * @return TRUE on success FALSE otherwise + */ +extern bool livebox_panel_add_empty_page(Evas_Object *livebox_scroller); + +/** + * @brief Creates an empty page but doesn't add it to the scoller + * @param node page node in the data model + * @param livebox_scroller Scroller to which the page can be appended + * @return + */ +extern Evas_Object *livebox_panel_create_empty_page(Tree_node_t *node, + Evas_Object *livebox_scroller); + +/** + * @brief Changes the view mode of the livebox page + * @param turn_on True - edit mode on False - edit mode off + */ +extern void livebox_panel_set_edit_mode_layout(bool turn_on); + +/** + * @brief Changes the view mode of the livebox scroller + * @param close True - edit mode off False - edit mode on + */ +extern void livebox_panel_change_edit_mode_state(bool close); + +/** + * @brief Destroys given livebox page and all its content + * @param livebox_scroller_page page to destroy + */ +extern void livebox_panel_destroy_page(Evas_Object *livebox_scroller_page); + +/** + * @brief Function sets the reposition data + * @param x mouse position x + * @param y mouse position y + */ +extern void livebox_panel_move_mouse_cb(int x, int y); + +/** + * @brief sets the pages geometry based on scroller geometry that consits them + */ +extern void livebox_panel_refresh_content_size(void); + +/** + * @brief Returns list of all pages in livebox panel + * @return Eina_List pointer of all livebox pages + */ +extern Eina_List *livebox_panel_get_pages(void); + +/** + * @brief Gets the livebox dynamic index + * @return Pointer to dynamic index box + */ +extern Evas_Object *livebox_panel_get_index(void); + +/** + * @brief Gets the livebox panel elm_scroller widget + * @return Pointer to elm_scroller with livebox pages + */ +extern Evas_Object *livebox_panel_get(void); + +/** + * @brief Function return true if add page is visible. + */ +extern bool livebox_panel_check_if_add_page_is_visible(void); + +/** + * @brief hide and shows add page button + * @param visible true - show false -hide + */ +void livebox_panel_add_page_visible_state_set(bool visible); + +/** + * @brief Returns true if 'add_page' is the curently selected livebox page + */ +extern bool livebox_panel_is_add_page_selected(void); + +/** + * Gets the current livebox page + * @return Current scroller page + */ +extern Evas_Object *livebox_scroller_get_page(void); + +/** + * Returns the last page of the livebox_scroller + * @return last page or NULL on error + */ +Evas_Object *livebox_scroller_get_last_page(void); + +/** + * Check if a new widget page can be added. Shows a popup if not + * @return true if page can be added, false if not + */ +extern bool livebox_panel_can_add_page(void); + +/** + * Looks for empty space to put new widget to + * + * @param span_w widget size + * @param span_h widget height + * @param pos_x position to put new widget + * @param pos_y position to put new widget + * @return Index of page where new widget can be placed + */ +extern int livebox_panel_find_empty_space(int span_w, int span_h, + int *pos_x, int *pos_y); + +/** + */ +extern void livebox_panel_resumed(void); + +/** + */ +extern void livebox_panel_paused(void); + +#endif diff --git a/inc/livebox/livebox_utils.h b/inc/livebox/livebox_utils.h new file mode 100644 index 0000000..25eae56 --- /dev/null +++ b/inc/livebox/livebox_utils.h @@ -0,0 +1,259 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef UTILS_H_ +#define UTILS_H_ + +#include + +#include "../util.h" +#include "../conf.h" + +/** + * @brief Check interection between @p rect and list items bounding + * Eina_Rectangles + * @details Check interection between @p rect and list items bounding + * Eina_Rectangle. + * If current list item == @p obj the intersection check won't be performed. + * By standard the @p rect is the @p obj bounding rectangle. + * So this helps to avoid interesction check with obj itself + * @param rect rectangle + * @param obj filter object. Can be NULL + * @param list of objects + * @return TRUE if intersection was found ELSE otherwise + */ +extern bool livebox_utils_check_rect_list_grid_interesction( + Eina_Rectangle *rect, Evas_Object *obj, Eina_List *list); + +/** + * @brief Returns the list of liveboxes on grid + * @details Function returns liveboxes put on @p grid but but without the + * @a shadow object + * @param grid + * @return list of liveboxes. Has to be freed + */ +extern Eina_List *livebox_utils_get_liveboxes_on_gird(Evas_Object *grid); + +/** + * @brief Returns the list of liveboxes on page + * @details Page is a layout described by "livebox_container.edc" Which + * contains a elm_grid object. All objects in the grid are returned. + * @param obj livebox page + * @return list of liveboxes. Has to be freed + */ +extern Eina_List *livebox_utils_get_liveboxes_on_page_list(Evas_Object *obj); + + +/** + * @brief Returns the livebox container that contains the selected livebox + * @return Livebox container + */ +extern Evas_Object *livebox_utils_get_selected_livebox_layout(void); + +/** + * @brief Returns the that previously contained the selected livebox. + * Used when livebox in repositioned to different container + * @return Livebox container + */ +extern Evas_Object *livebox_utils_get_prev_livebox_layout(void); + +/** + * @brief Returns the selected livebox + * @return selected livebox + */ +extern Evas_Object *livebox_utils_selected_livebox_get(void); + +/** + * @brief Sets the selected livebox + * @note Use this when livebox is selected + * @param livebox Selected livebox + * @param layout livbox container holding the selected livebox + */ +extern void livebox_utils_set_selected_livebox(Evas_Object *livebox, + Evas_Object *layout); + +/** + * @brief Crate the shadow visible when a object is repositioned + * @param parent Shadow parent + */ +extern void livebox_utils_create_shadow(Evas_Object *parent); + +/** + * @brief Pack the shadow object to given container based on livebox position + * @note Used in reposition + * @param livebox item repositioned using drag&drop + * @param page container where the shadow will be packed + */ +extern void livebox_utils_set_shadow_pack(Evas_Object *livebox, + Evas_Object *page); + +/** + * @brief Shadow is repacked from one livebox_container to different one + * @details Shadow object is unpacked from its current grid and packed to grid + * in page_to livebox_container + * @param livebox livebox item repositioned using drag&drop + * @param page_to livebo_container where the shadow will be packed + */ +extern void livebox_utils_repack_shadow(Evas_Object *livebox, + Evas_Object *page_to); + +/** + * @brief Sets the visiblity of the shadow object + * @param visible TRUE shadow will be visible + */ +extern void livebox_utils_set_shadow_visibility(bool visible); + +/** + * @brief Creates the clipper for the shadow object + * @details The clipper is added to the @p livebox_container and is clipped + * by the shadow object. + * This way only the part of the clipper will be visible where the repositioned + * livebox can be dropped + * @param livebox_container Layout containing the clipper + */ +extern void livebox_utils_create_grid_shadow_clipper(Evas_Object* + livebox_container); + +/** + * @brief Returns position fitting given grid + * @details The input parameteters should be given in virtual coordinates of + * a grid. If the item coordinates don't fit the grid they will be modified + * properly. + * @code + * if(obj_x < 0) + * { + * *out_x = 0; + * } + * + * if obj_x + obj_w > grid_width + * { + * *out_x = grid_width - obj_w + * } + * @endcode + * + * @param[in] obj_x + * @param[in] obj_y + * @param[in] obj_w + * @param[in] obj_h + * @param[out] out_x + * @param[out] out_y + */ +extern void livebox_utils_normalize_grid_pos(int obj_x, int obj_y, int obj_w, + int obj_h, int *out_x, int *out_y); + +/** + * @brief Returns the grid put into the @p container widget + * @param container The container wodth grid + * @return Grid object or NULL on error + */ +extern Evas_Object *livebox_utils_get_livebox_container_grid(Evas_Object *container); + +/** + * @brief Returns the shadow object + * @return shadow object + */ +extern Evas_Object *livebox_utils_get_shadow(void); + +/** + * @brief unpacks the grid object from the grid its currently packed to + */ +extern void livebox_utils_shadow_unpack(void); + +/** + * @brief Transforms the @p livebox geometry to @p grid virtual coordinates + * @param[in] livebox object to read the geometry from + * @param[in] grid elm_grid which virtual coordinates will be used + * @param[out] out_x @p livebox transformed horizontal position + * @param[out] out_y @p livebox transformed vertical position + * @param[out] out_w @p livebox transformed width + * @param[out] out_h @p livebox transformed height + */ +extern void livebox_utils_convert_size_to_grid_coord(Evas_Object *livebox, + Evas_Object *grid, int *out_x, int *out_y, int *out_w, int *out_h); + +/** + * @brief Sets the packing of @p item_to_pack to the @p grid + * @details The @p livebox object is used to determine the position of @p + * item_to_pack in the @p grid. + * Note that the @p item_to_pack has to be packet in the gird allready + * @param livebox Position of this object will be used to determine the + * position of @p item_to_pack in the @p grid + * @param item_to_pack Object to be packed to the @p grid + * @param grid The grid object. Must be elm_grid + */ +extern void livebox_utils_set_grid_object_pack(Evas_Object *livebox, + Evas_Object *item_to_pack, Evas_Object *grid); + +/** + * @brief Repacks @p item_to_pack from @p grid_from to @p grid_to + * @details The @p livebox object is used to determine the position of @p + * item_to_pack in the @p grid_to. + * The item_to_pack will be unpacked from @p grid_from and @p packed to @p + * grid_to + * + * @param livebox ivebox Position of this object will be used to determine + * the position of @p item_to_pack in the @p grid_to + * @param item_to_pack Repacked item + * @param grid_from Source grid + * @param grid_to D Destination grid + */ +extern void livebox_utils_repack_grid_object(Evas_Object *livebox, + Evas_Object *item_to_pack, Evas_Object *grid_from, + Evas_Object *grid_to); + +/** + * @brief Transforms virtual @ grid virtual coordinates to screen coordinates + * @param grid elm_grid + * @param x Horizontal position in @p grid + * @param y Vertical position in @p grid + * @param w Width in @p grid + * @param h Height in @p grid + * @return Eina_Rectangle containing the postion transformed + * to screen coordinates + */ +extern Eina_Rectangle *livebox_utils_convert_virtual_grid_geo_to_screen( + Evas_Object *grid, int x, int y, int w, int h); + +/** + * @brief Returns the bounding rectangle of the @p obj object + * @details Bounding rectangle contains (x position, y position, width, height) + * of the @p obj + * @param obj to get the bounding rectangle from + * @return Bounding rectangle + */ +extern Eina_Rectangle *livebox_utils_get_widget_rectangle(Evas_Object *obj); + +/** + * @brief Returns the bounding rectangle of the @p obj object in grid virtual + * coordinates + * @details Bounding rectangle contains (x position, y position, width, height) + * of the @p obj. + * @p Obj has to be packed into a grid. + * @param obj to get the bounding rectangle from + * @return Bounding rectangle + */ +extern Eina_Rectangle *livebox_utils_get_grid_widget_rectangle( + Evas_Object *obj); + +/** + * @brief get the current cursor position + * @param mx position x + * @param my position y + */ +extern void livebox_utils_get_cursor_pos(int *mx, int *my); + + +#endif /* UTILS_H_ */ diff --git a/inc/livebox/livebox_widget.h b/inc/livebox/livebox_widget.h new file mode 100644 index 0000000..2c346a6 --- /dev/null +++ b/inc/livebox/livebox_widget.h @@ -0,0 +1,97 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef LIVEBOX_WIDGET_H_ +#define LIVEBOX_WIDGET_H_ + +#include +#include + +typedef struct { + char *pkg_id; + char *widget_id; + int is_prime; + int width; + int height; +} widget_info_t; + +/** + * @brief Initializes the widget module. + */ +extern void livebox_widget_init(void); + +/** + * @brief Frees all data initialized for widget module. + */ +extern void livebox_widget_fini(void); + +/** + * @brief Gets the widgets list from the widget service + * @return Eina_List pointer + */ +extern Eina_List *livebox_widget_get_list(void); + +/** + * @brief Cretes new widget and add it to the parent. + * + * @param pkg_name char pointer to package name of the widget + * @param parent pointer to parent Evas_Object + * @param content info + * + * @return pointer to created widget's Evas_Object + */ +extern Evas_Object *livebox_widget_add(const char *pkg_name, Evas_Object *parent, char *content_info); + +/** + * @brief Removes the widget and its data. + * + * @param Widget's Evas_Object pointer. + */ +extern void livebox_widget_del(Evas_Object *widget); + +/** + * @brief Gets the widget size. + * + * @param size type + * @param x - x size in pixels. + * @param y - y size in pixels. + */ +extern void livebox_widget_get_dimensions(int size, int *x, int *y); + +/** + * @brief Gets the available sizes of the widget + * @param widget Evas_Object pointer to the widget object. + * @param cnt number of available widget sizes + * @param size_list sizes list. + */ +extern void livebox_widget_get_size_available(Evas_Object *widget, int *cnt, int **size_list); + + +/** + * @brief Blocks the mouse_up event for given widget + * @param widget widget to block events for + */ +extern void livebox_widget_set_event_blocking(Evas_Object *widget); + +/** + */ +extern void livebox_widget_viewer_paused(void); + +/** + */ +extern void livebox_widget_viewer_resumed(void); + +#endif /* LIVEBOX_WIDGET_H_ */ diff --git a/inc/livebox_all_pages.h b/inc/livebox_all_pages.h new file mode 100644 index 0000000..c8fd5b6 --- /dev/null +++ b/inc/livebox_all_pages.h @@ -0,0 +1,57 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef LIVEBOX_ALL_PAGES_H_ +#define LIVEBOX_ALL_PAGES_H_ + +#include +#include + +/** + * @brief Shows all pages panel + * @return Pointer to all_pages layout + */ +extern Evas_Object *livebox_all_pages_show(void); + +/** + * @brief Hides all pages layout + * @param page_index if this value is bigger than 0 it closes the all pages view and sets page index as current home page + */ +extern void livebox_all_pages_hide(void); + +/** + * @brief Check if page at index is an add_page + * @param index page index + * @return true if given index indicates add page + */ +extern bool livebox_all_pages_is_add_icon_page(int index); + +/** + * @brief Function used for moves page thumb during reposition. + * @param x int value of x mouse position + * @param y int value of y mouse position + */ +extern void livebox_all_pages_move_item(int x, int y); + +/** + * @brief Set item to proper position + * + */ +extern void livebox_all_pages_up_item(void); + + + +#endif /* LIVEBOX_ALL_PAGES_H_ */ diff --git a/inc/mouse.h b/inc/mouse.h new file mode 100644 index 0000000..d792ce1 --- /dev/null +++ b/inc/mouse.h @@ -0,0 +1,36 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef MOUSE_H_ +#define MOUSE_H_ + +#include + +#include "util.h" + +/** + * @brief Registers all mouse related callbacks. + */ +extern void mouse_register(void); + +/** + * @brief Unregisters all mouse related callbacks. + */ +extern void mouse_unregister(void); + + + +#endif /* MOUSE_H_ */ diff --git a/inc/option_menu.h b/inc/option_menu.h new file mode 100644 index 0000000..2755ea9 --- /dev/null +++ b/inc/option_menu.h @@ -0,0 +1,45 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef OPTION_MENU_H_ +#define OPTION_MENU_H_ + + +#include + +/** + * @brief Shows option menu with proper entries. + * @return true on success. + */ +extern bool option_menu_show(void); + +/** + * @brief Hides option menu popup. + */ +extern void option_menu_hide(void); + +/** + * @brief Handle hardware button actions. + */ +extern void option_menu_change_state_on_hw_menu_key(void); + +/** + * @brief Updates caption menu at the top of the screen. + */ +extern void option_menu_update_on_item_selected(void); + + +#endif /* OPTION_MENU_H_ */ diff --git a/inc/page_scroller.h b/inc/page_scroller.h new file mode 100644 index 0000000..8a56298 --- /dev/null +++ b/inc/page_scroller.h @@ -0,0 +1,164 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef PAGE_SCROLLER_H_ +#define PAGE_SCROLLER_H_ + + +#include +#include +#include + +/** + * @brief Creates new elm_scroller widget and sets standart parameters used in + * homescreen application. + * @param page_width page width. + * @param page_height page height. + * + * @return Pointer to created elm_scroller widget/ + */ +extern Evas_Object *page_scroller_create(int page_width, int page_height); + +/** + * @brief Removes all data connected with the page scroller object. + * + * @param page_scroller Page scroller pointer. + */ +extern void page_scroller_destroy(Evas_Object *page_scroller); + +/** + * @brief Add new page to the page scroller + * + * @param page_scroller Page scroller Evas_Object pointer. + * @param page Page Evas_Object pointer. + * + * @return true if no errors. + */ +extern bool page_scroller_add_page(Evas_Object *page_scroller, + Evas_Object *page); + +/** + * @brief Removes the page from the page scroller. + * @param page_scroller Page scroller object pointer. + * @param page Page which will be removed. + */ +extern void page_scroller_remove_page(Evas_Object *page_scroller, + Evas_Object *page); + +/** + * @brief Gets the page from the given page scroller. + * @param page_scroller Pointer to elm_scroller widget. + * @param n page number. + * + * @return Page Evas_Object pointer. + */ +extern Evas_Object *page_scroller_get_page(Evas_Object *page_scroller, int n); + +/** + * @brief Gets all pages inserted in the page scroller list. + * @param page_scroller Pointer to page scroller Evas_Object + * @return List of all pages. + */ +extern Eina_List *page_scroller_get_all_pages(Evas_Object *page_scroller); + +/** + * @brief Blocks page scroller movement. + * + * @param page_scroller Pointer to page scroller widget. + * @return true if no errors. + */ +extern bool page_scroller_freeze(Evas_Object *page_scroller); + +/** + * @brief Unblocks page scroller movement. + * + * @param page_scroller Pointer to page scroller Evas_Object. + * @return true if no errors. + */ +extern bool page_scroller_unfreeze(Evas_Object *page_scroller); + +/** + * @brief Returns elm_scroller pointer from page scroller layout. + * + * @param page_scroller Page scroller Evas_Object pointer. + * @return elm_scroller pointer or NULL if errors occurred. + */ +extern Evas_Object *page_scroller_get_scroller(Evas_Object *page_scroller); + +/** + * @brief Unpack all pages from the page scroller widget. + * @param page_scroller Page scroller Evas_Object. + * @return List of all pages (Evas_Objects) + */ +extern Eina_List *page_scroller_unpack_pages(Evas_Object *page_scroller); + +/** + * @brief Pack all pages into the page scroller widget. + * + * @param page_scroller Pointer to page scroller widget. + * @param page_list List of pages to pack. + */ +extern void page_scroller_pack_pages(Evas_Object *page_scroller, + Eina_List *page_list); + +/** + * @brief Gets page thumbnail (proxy object) + * + * @param page Pointer to page scroller page. + * @param int width of miniature + * @param int height of miniature + * @return Page copy (miniature) or NULL if errors occurred. + */ +extern Evas_Object *page_scroller_get_page_thumbnail(Evas_Object *page, + unsigned int w, unsigned int h); + +/** + * @brief Gets the elm_box pointer from the Page_Scroller Evas_Object. + * + * @param page_scroller Pointer to Page Scroller Evas_Object + * @return elm_box pointer placed in the Page scroller widget. + */ +extern Evas_Object *page_scroller_obtain_box(Evas_Object *page_scroller); + +/** + * @brief Get total number of pages + * @param page_scroller Elm_scroller pointer + * @return pages count if ok, -1 if error + */ + +extern int page_scroller_get_page_count(Evas_Object *page_scroller); +/** + * @brief Get current page + * @return current page number or -1 if something went wrong + */ +extern int page_scroller_get_current_page(Evas_Object *page_scroller); + +/** + * @brief Set current page of the scroller + * @param page_scroller Pointer to elm_scroller + * @param idx index of page + * @return true if success + */ +extern bool page_scroller_set_current_page(Evas_Object *page_scroller, int idx); + +/** + * @brief Shows page without animation + * + * @param page_scroller elm_scroller_pointer + * @param idx page index + */ +void page_scroller_show_page(Evas_Object *page_scroller, int idx); +#endif /* PAGE_SCROLLER_H_ */ diff --git a/inc/popup.h b/inc/popup.h new file mode 100644 index 0000000..bb0c83d --- /dev/null +++ b/inc/popup.h @@ -0,0 +1,76 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef POPUP_H_ +#define POPUP_H_ + +#include + +#include "app_icon.h" + +typedef enum { + ORDER_MANUALLY = 0, + ORDER_ALPHABETICAL = 1 +} order_mode_t; + +typedef enum { + POPUP_TWO_BUTTONS, + POPUP_INFO, +} popup_type_t; + +typedef struct { + popup_type_t type; + char *popup_title_text; + char *popup_content_text; + char *popup_confirm_text; + char *popup_cancel_text; + Elm_Popup_Orient orientation; + double visible_time; +} popup_data_t; + +typedef void (*popup_confirm_cb)(void *data); +typedef void (*popup_cancel_cb)(void *data); + +/** + * @brief Allocates a structure for initialze popup widet + * @return Pointer to popup data. It must be freed manually. + */ +popup_data_t *popup_create_data(void); + +/** + * @brief Frees p_data structure memory and its members + * @return + */ +void popup_data_free(popup_data_t *p_data); + +/** + * @brief Function shows popup window on the screen + * @param data popup_data_t struct which is used for initialize popup with + * its content. + *popup_confirm_cb - function called when confirm button will be clicked. + * popup_cancel_cb - function called when cancel button will be clicked. + * cb_data - data used in callback functions. + */ +void popup_show(popup_data_t *data, popup_confirm_cb confirm_cb, + popup_cancel_cb cancel_cb, void *cb_data); + +/** + * @brief Hide popup and remove all data + * @returns EINA_TRUE if popup is visible otherwise EINA_FALSE + */ +Eina_Bool popup_destroy(void); + +#endif /* POPUP_H_ */ diff --git a/inc/tree.h b/inc/tree.h new file mode 100644 index 0000000..d39648b --- /dev/null +++ b/inc/tree.h @@ -0,0 +1,108 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef _TREE_H_ +#define _TREE_H_ + +#include +#include "app_item.h" + +#define TREE_NODE_FOREACH(parent, node) \ +for (node = parent->first; node != NULL; node = node->next) + +/* + * data - data bind to node + * parent - parent node + * next - next sibling + * prev - previous sibling + * first - first child + * last - last child + */ +typedef struct _tree_node { + app_item_t *data; + struct _tree_node *parent; + + unsigned int count; + struct _tree_node *next; + struct _tree_node *prev; + + struct _tree_node *first; + struct _tree_node *last; +} Tree_node_t; + + +/* + * @brief signature of callback function for tree_in_depth_browse() function + */ +typedef bool(*tree_browse_cb_t)(Tree_node_t*, Tree_node_t*, void*); + + +/* + * @brief Creates new tree node + * @details All node fields are initialized with \0 + */ +bool tree_node_new(Tree_node_t **node); + +/* + * @brief Detatch node + */ +bool tree_node_detatch(Tree_node_t *node); + +/* + * @brief Append child node to parent node + */ +bool tree_node_append(Tree_node_t *parent, Tree_node_t *node); + +/* + * @brief Append node to tree after relative node + */ +bool tree_node_append_relative(Tree_node_t *node, Tree_node_t *relative); + +/* + * @brief Prepend child node to parent node + */ +bool tree_node_prepend(Tree_node_t *parent, Tree_node_t *node); + +/* + * @brief Prepend node to tree before relative node + */ +bool tree_node_prepend_relative(Tree_node_t *node, Tree_node_t *relative); + +/* + * @brief Browse the tree in-depth + */ +bool tree_in_depth_browse(Tree_node_t *node, tree_browse_cb_t func_cb, + void *data); + +/* + * Updates a node with new values + */ +void tree_node_update(Tree_node_t *node); + +/* + * @brief frees memory of a single node in a safe manner. Returns count and + * pointers to children of the node. + * Updates nodes parent and siblings. Nodes children become + * detached from the tree. + * @param node[IN] - node to free + * @param first_child - nodes first child + * @param last_child - nodes last child + * @param child_count - nodes children count + */ +void tree_node_free(Tree_node_t *node, Tree_node_t **first_child, + Tree_node_t **last_child, int *child_count); + +#endif diff --git a/inc/util.h b/inc/util.h new file mode 100644 index 0000000..24c8f82 --- /dev/null +++ b/inc/util.h @@ -0,0 +1,75 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#ifndef __HOME_SCREEN_UTIL_H__ +#define __HOME_SCREEN_UTIL_H__ + +#include +#include +#include + +#define BUF_SIZE 64 + +/* Multi-language */ +#ifndef _ +#define _(str) gettext(str) +#endif + +/* Build */ +#define HAPI __attribute__((visibility("hidden"))) + +#define COUNT_OF(x) \ +((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x]))))) + + +/** + * @brief Creates elm_layout widget and load edje file to it. + * + * @param win Homescreen efl window pointer. + * @param edje_filename name of the edje file + * @param edje_group group name from the edje file + * @return elm_layout Evas_Object pointer. + */ +extern Evas_Object *util_create_edje_layout( + Evas_Object *win, const char* edje_filename, const char* edje_group); + +/*DBG callbacks set. Please use it if new objects are not visible .etc*/ +extern void tst_resize_cb(void *data, Evas *e, Evas_Object *obj, void *ei); +extern void tst_show_cb(void *data, Evas *e, Evas_Object *obj, void *ei); +extern void tst_hide_cb(void *data, Evas *e, Evas_Object *obj, void *ei); +extern void tst_move_cb(void *data, Evas *e, Evas_Object *obj, void *ei); +extern void tst_del_cb(void *data, Evas *e, Evas_Object *obj, void *ei); + + + +/** + * @brief Function returns Eina list of evas objects visible in gengrid + * + * @param gengrid Evas_Object pointer to elm_gengrid + * @return Eina_List pointer which Evas_Objects + */ +extern Eina_List *elm_gengrid_get_evas_objects_from_items(Evas_Object *gengrid); + +/** + * @brief Function returns pointer to elm_object_item placed in gengrid + * at specified position + * @param gengrid Pointer to elm_gengrid_widget; + * @param idx + * @return Pointer to elm_object_item + */ +Elm_Object_Item *elm_gengrid_get_item_at_index(Evas_Object *gengrid, int idx); + +#endif /* __HOME_SCREEN_UTIL_H__ */ diff --git a/org.tizen.homescreen-efl.efl b/org.tizen.homescreen-efl.efl new file mode 100644 index 0000000..4a189dd --- /dev/null +++ b/org.tizen.homescreen-efl.efl @@ -0,0 +1,23 @@ +org.tizen.homescreen-efl data-provider-master::db rwx--l ------ +org.tizen.homescreen-efl data-provider-master::share rwxat- ------ +org.tizen.homescreen-efl data-provider-master::data rwx--- ------ +org.tizen.homescreen-efl tizen::vconf::system rwxatl ------ +org.tizen.homescreen-efl syspopup::db r-----l ------ +org.tizen.homescreen-efl device::app_logging rw---- ------ +org.tizen.homescreen-efl rua::db rw---- ------ +org.tizen.homescreen-efl badge::db rw---- ------ +org.tizen.homescreen-efl e17 rwx--- ------ +org.tizen.homescreen-efl dlogutil r-x--- ------ +org.tizen.homescreen-efl data-provider-master::shortcut rw---- ------ +org.tizen.homescreen-efl data-provider-master::shortcut.shortcut -w---- ------ +org.tizen.homescreen-efl data-provider-master::shortcut.widget -w---- ------ +org.tizen.homescreen-efl data-provider-master::client rw---- ------ +org.tizen.homescreen-efl data-provider-master rw---- ------ +org.tizen.homescreen-efl shortcut-service::db r----l ------ +org.tizen.homescreen-efl org.tizen.setting::default-resources r-x--- ------ +org.tizen.homescreen-efl xorg rw---- ------ +org.tizen.homescreen-efl tizen::vconf::display r----l ------ +org.tizen.homescreen-efl data-provider-master::fd rw---- ------ +org.tizen.homescreen-efl org.tizen.contacts rwx--- ------ +org.tizen.homescreen-efl org.tizen.wallpaper-ui-service r----- ------ + diff --git a/org.tizen.homescreen-efl.manifest b/org.tizen.homescreen-efl.manifest new file mode 100644 index 0000000..81eb500 --- /dev/null +++ b/org.tizen.homescreen-efl.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/org.tizen.homescreen-efl.xml b/org.tizen.homescreen-efl.xml new file mode 100644 index 0000000..f0e9e37 --- /dev/null +++ b/org.tizen.homescreen-efl.xml @@ -0,0 +1,19 @@ + + + Michal Szczecinski + + Homescreen Application + + + + /usr/share/icons/default/small/org.tizen.menu-screen.png + + + http://tizen.org/privilege/shortcut + http://tizen.org/privilege/systemsettings + http://tizen.org/privilege/appmanager.launch + http://tizen.org/privilege/notification + http://tizen.org/privilege/packagemanager.admin + http://tizen.org/privilege/packagemanager.info + + diff --git a/packaging/org.tizen.homescreen-efl.spec b/packaging/org.tizen.homescreen-efl.spec new file mode 100644 index 0000000..064d807 --- /dev/null +++ b/packaging/org.tizen.homescreen-efl.spec @@ -0,0 +1,93 @@ +%define _optdir /opt + +%define _appdir /opt/usr/apps +%define _packagedir %{_appdir}/%{_package_name} + +Name: org.tizen.homescreen-efl +Summary: Homescreen +Version: 0.0.1 +Release: 0.1 +Group: TO_BE/FILLED_IN +License: Flora License +Source0: %{name}-%{version}.tar.gz + +%if "%{?tizen_profile_name}" == "wearable" +ExcludeArch: %{arm} %ix86 x86_64 +%endif + +%if "%{?tizen_profile_name}" == "tv" +ExcludeArch: %{arm} %ix86 x86_64 +%endif + +BuildRequires: pkgconfig(appsvc) +BuildRequires: pkgconfig(badge) +BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(capi-system-info) +BuildRequires: pkgconfig(capi-appfw-package-manager) +BuildRequires: pkgconfig(capi-appfw-app-manager) +BuildRequires: pkgconfig(dlog) +BuildRequires: pkgconfig(elementary) +BuildRequires: pkgconfig(shortcut) +BuildRequires: pkgconfig(syspopup-caller) +BuildRequires: pkgconfig(widget_viewer) +BuildRequires: pkgconfig(widget_service) +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(db-util) +BuildRequires: pkgconfig(notification) +BuildRequires: pkgconfig(capi-system-system-settings) +BuildRequires: cmake +BuildRequires: edje-tools +BuildRequires: gettext-tools +BuildRequires: coreutils +BuildRequires: pkgconfig(widget_service) +BuildRequires: pkgconfig(widget_viewer_evas) +BuildRequires: pkgconfig(shortcut) +BuildRequires: pkgconfig(capi-appfw-preference) + +%description +Tizen Homescreen + +%prep +%setup -q + +%build +%if 0%{?tizen_build_binary_release_type_eng} +export CFLAGS="${CFLAGS} -DTIZEN_ENGINEER_MODE" +export CXXFLAGS="${CXXFLAGS} -DTIZEN_ENGINEER_MODE" +export FFLAGS="${FFLAGS} -DTIZEN_ENGINEER_MODE" +%endif + +%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} +CFLAGS="${CFLAGS} -Wall" LDFLAGS="${LDFLAGS} -Wl,--hash-style=both -Wl,--as-needed -fpie" +make %{?jobs:-j%jobs} + +%install +%make_install +%define tizen_sign 1 +%define tizen_sign_base %{_packagedir} +%define tizen_sign_level platform +%define tizen_author_sign 1 +%define tizen_dist_sign 1 +mkdir -p %{buildroot}%{_datadir} +mkdir -p %{buildroot}/usr/share/license +cp LICENSE %{buildroot}/usr/share/license/homescreen-efl + +%post +killall -9 homescreen-efl +dlogutil -c +#/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform %{_packagedir} + +%files +%manifest %{name}.manifest +%defattr(-,root,root,-) + +%{_optdir}/usr/apps/%{name}/bin/homescreen-efl +%{_optdir}/usr/apps/%{name}/res/edje/*.edj +%{_optdir}/usr/apps/%{name}/res/images/*.png +%{_optdir}/usr/apps/%{name}/res/images/livebox/*.png +%{_optdir}/usr/apps/%{name}/res/locale/*/*/*.mo +%{_datadir}/packages/%{name}.xml +%{_sysconfdir}/smack/accesses.d/*.efl +%dir %{_optdir}/usr/apps/%{name}/data +%attr(777, root, root) %{_optdir}/usr/apps/%{name}/data +/usr/share/license/homescreen-efl \ No newline at end of file diff --git a/res/CMakeLists.txt b/res/CMakeLists.txt new file mode 100644 index 0000000..38e2e01 --- /dev/null +++ b/res/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_SUBDIRECTORY(edje) +ADD_SUBDIRECTORY(images) +ADD_SUBDIRECTORY(po) +# End of a file diff --git a/res/edje/CMakeLists.txt b/res/edje/CMakeLists.txt new file mode 100644 index 0000000..f96d6dd --- /dev/null +++ b/res/edje/CMakeLists.txt @@ -0,0 +1,71 @@ +ADD_CUSTOM_TARGET(home.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/home.edc home.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/home.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} home.edj) +INSTALL(FILES home.edj DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(icon.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/icon.edc icon.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/icon.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} icon.edj) +INSTALL(FILES icon.edj DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(folder.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/folder.edc folder.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/folder.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} folder.edj) +INSTALL(FILES folder.edj DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(folder_entry.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/folder_entry.edc folder_entry.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/folder_entry.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} folder_entry.edj) +INSTALL(FILES folder_entry.edj DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(index_element.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/index_element.edc index_element.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/index_element.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} index_element.edj) +INSTALL(FILES index_element.edj DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(app_grid.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/app_grid.edc app_grid.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/app_grid.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} app_grid.edj) +INSTALL(FILES app_grid.edj DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(livebox_container.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/livebox_container.edc livebox_container.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/livebox_container.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} livebox_container.edj) +INSTALL(FILES livebox_container.edj DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(livebox_layout.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/livebox_layout.edc livebox_layout.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/livebox_layout.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} livebox_layout.edj) +INSTALL(FILES livebox_layout.edj DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(page_edit.edj + COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../images ${EDJE_CFLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/page_edit.edc page_edit.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/page_edit.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} page_edit.edj) +INSTALL(FILES page_edit.edj DESTINATION ${EDJEDIR}) diff --git a/res/edje/app_grid.edc b/res/edje/app_grid.edc new file mode 100644 index 0000000..b349f2c --- /dev/null +++ b/res/edje/app_grid.edc @@ -0,0 +1,148 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "../../inc/conf.h" + +collections { + group { + name: GROUP_APP_GRID; + parts { + //We want to have animations and don't take care about gengrid size from code. + //Because of that we must to add a part into the layout which set the size of the elm_layout + //widget properly. + part { + name: PART_APP_GRID_SIZE_SETTER; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 1.0;} + } + } + part { + name: PART_APP_GRID_BG; + type: RECT; + description { + state: "default" 0.0; + rel1 {relative: 0.0 0.0; to: PART_APP_GRID_SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to: PART_APP_GRID_SIZE_SETTER;} + color: 0 0 0 45; + visible: 1; + } + description { + state: "hidden" 0.0; //Used in the folder + inherit: "default" 0.0; + visible: 0; + } + } + part { + name: PART_APP_GRID_EDIT_BG; + type: RECT; + description { + state: "default" 0.0; + rel1 {relative: 0.0 0.0; to: PART_APP_GRID_CONTENT;} + rel2 {relative: 1.0 1.0; to: PART_APP_GRID_CONTENT;} + color: 20 20 20 0; + visible: 1; + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + color: 20 20 20 40; + } + description { + state: "hidden" 0.0; //Used in the folder + inherit: "default" 0.0; + visible: 0; + } + } + part { + name: PART_APP_GRID_CONTENT; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0.5 0.5; + rel1 {relative: 0.0 CONTENT_Y_MIN; to: PART_APP_GRID_SIZE_SETTER;} + rel2 {relative: 1.0 CONTENT_APP_Y_MAX; to: PART_APP_GRID_SIZE_SETTER;} + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + rel1.relative: 0.05 CONTENT_Y_MIN; + rel2.relative: 0.95 0.9; + } + } + } + programs { + program { + name: "bg_edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: PART_APP_GRID_CONTENT; + target: PART_APP_GRID_EDIT_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "bg_edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: PART_APP_GRID_CONTENT; + target: PART_APP_GRID_EDIT_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "bg_choose_mode_off"; + signal: SIGNAL_CHOOSE_MODE_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: PART_APP_GRID_CONTENT; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "bg_choose_mode_on"; + signal: SIGNAL_CHOOSE_MODE_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: PART_APP_GRID_CONTENT; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "bg_hidden"; + signal: SIGNAL_APP_GRID_BG_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hidden" 0.0; + target: PART_APP_GRID_BG; + target: PART_APP_GRID_EDIT_BG; + } + } + } + group { + name: GROUP_APP_GRID_ITEM_CONTAINER; + parts { + part { + name: PART_APP_GRID_ITEM; + type: SWALLOW; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + } + } +} \ No newline at end of file diff --git a/res/edje/folder.edc b/res/edje/folder.edc new file mode 100644 index 0000000..02b1e46 --- /dev/null +++ b/res/edje/folder.edc @@ -0,0 +1,619 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "../../inc/conf.h" + +images { + image: "../images/folder_appicon_bg.png" COMP; + image: "../images/folder_appicon_bg_possible.png" COMP; + image: "../images/folder_appicon_bg_impossible.png" COMP; + image: "../images/folder_appicon_empty_bg.png" COMP; + image: "../images/folder_popup_bg.png" COMP; + image: "../images/btn_input_clear.png" COMP; + image: "../images/btn_add_nor.png" COMP; + image: "../images/btn_add_press.png" COMP; +} + +collections { + + group { + name: GROUP_FOLDER_ICON_LAYOUT; + parts { + part { + name: "folder_bg"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0;} + rel2{relative: 1.0 1.0;} + } + description + { + state: "manage_state" 0.0; + inherit: "default" 0.0; + } + } + + part { + name: "folder_icon_exterior"; + type: IMAGE; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "folder_bg";} + rel2{relative: 1.0 1.0; to: "folder_bg";} + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../images/folder_appicon_bg.png"; + } + } + description { + state: "frame_possible" 0.0; + inherit: "default" 0.0; + image { + normal: "../images/folder_appicon_bg_possible.png"; + } + } + description { + state: "frame_impossible" 0.0; + inherit: "default" 0.0; + image { + normal: "../images/folder_appicon_bg_impossible.png"; + } + } + } + + part + { + name: "folder_icon_interior"; + type: IMAGE; + mouse_events: 1; + scale: 1; + description + { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "folder_bg";} + rel2{relative: 1.0 1.0; to: "folder_bg";} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + image + { + normal: "../images/folder_appicon_empty_bg.png"; + } + } + description + { + state: "empty_folder" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + + part { + name: "miniature_0"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN; to: "folder_icon_exterior";} + rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX; to: "folder_icon_exterior";} + } + description { + state: "apps_1" 0.0; + inherit: "default" 0.0; + rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN;} + rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX;} + } + description { + state: "apps_2" 0.0; + inherit: "default" 0.0; + rel1{relative: MINIATURE_COL_1_MIN MINIATURE_CENTER_MIN;} + rel2{relative: MINIATURE_COL_1_MAX MINIATURE_CENTER_MAX;} + } + description { + state: "apps_4" 0.0; + inherit: "default" 0.0; + rel1{relative: MINIATURE_COL_1_MIN MINIATURE_ROW_1_MIN;} + rel2{relative: MINIATURE_COL_1_MAX MINIATURE_ROW_1_MAX;} + } + } + part { + name: "miniature_1"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN; to: "folder_icon_exterior";} + rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX; to: "folder_icon_exterior";} + } + description { + state: "apps_2" 0.0; + inherit: "default" 0.0; + rel1{relative: MINIATURE_COL_2_MIN MINIATURE_CENTER_MIN;} + rel2{relative: MINIATURE_COL_2_MAX MINIATURE_CENTER_MAX;} + } + description { + state: "apps_4" 0.0; + inherit: "default" 0.0; + rel1{relative: MINIATURE_COL_2_MIN MINIATURE_ROW_1_MIN;} + rel2{relative: MINIATURE_COL_2_MAX MINIATURE_ROW_1_MAX;} + } + } + part { + name: "miniature_2"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN; to: "folder_icon_exterior";} + rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX; to: "folder_icon_exterior";} + } + description { + state: "apps_4" 0.0; + inherit: "default" 0.0; + rel1{relative: MINIATURE_COL_1_MIN MINIATURE_ROW_2_MIN;} + rel2{relative: MINIATURE_COL_1_MAX MINIATURE_ROW_2_MAX;} + } + } + part { + name: "miniature_3"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: MINIATURE_CENTER_MIN MINIATURE_CENTER_MIN; to: "folder_icon_exterior";} + rel2{relative: MINIATURE_CENTER_MAX MINIATURE_CENTER_MAX; to: "folder_icon_exterior";} + } + description { + state: "apps_4" 0.0; + inherit: "default" 0.0; + rel1{relative: MINIATURE_COL_2_MIN MINIATURE_ROW_2_MIN;} + rel2{relative: MINIATURE_COL_2_MAX MINIATURE_ROW_2_MAX;} + } + } + } + + programs { + program { + name: "folder_clicked_program"; + signal :"mouse,clicked,1"; + source: "icon_content"; + action: SIGNAL_EMIT SIGNAL_FOLDER_CLICKED SIGNAL_SOURCE; + //after: program with change the icon shadow state to clicked! + } + program { + name: "set,miniatures,1"; + signal: "set,miniatures,1"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "folder_icon_interior"; + after: "content_update_1"; + } + program { + name: "content_update_1"; + action: STATE_SET "apps_1" 0.0; + target: "miniature_0"; + transition: DECELERATE 0.2; + } + + program { + name: "set,miniatures,2"; + signal: "set,miniatures,2"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "folder_icon_interior"; + after: "content_update_2"; + } + program { + name: "content_update_2"; + action: STATE_SET "apps_2" 0.0; + target: "miniature_0"; + target: "miniature_1"; + transition: DECELERATE 0.2; + } + + program { + name: "set,miniatures,4"; + signal: "set,miniatures,4"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "folder_icon_interior"; + after: "content_update_4"; + } + program { + name: "content_update_4"; + action: STATE_SET "apps_4" 0.0; + target: "miniature_0"; + target: "miniature_1"; + target: "miniature_2"; + target: "miniature_3"; + transition: DECELERATE 0.2; + } + program { + name: "show,bg,possible"; + signal: SIGNAL_FRAME_POSSIBLE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "frame_possible" 0.0; + target: "folder_icon_exterior"; + } + program { + name: "show,bg,impossible"; + signal: SIGNAL_FRAME_IMPOSSIBLE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "frame_impossible" 0.0; + target: "folder_icon_exterior"; + } + program { + name: "show,bg,default"; + signal: SIGNAL_FRAME_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "folder_icon_exterior"; + } + program { + name: "show,bg,empty"; + signal: SIGNAL_EMPTY_BG_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "empty_folder" 0.0; + target: "folder_icon_interior"; + } + program { + name: "hide,bg,empty"; + action: STATE_SET "default" 0.0; + target: "folder_icon_interior"; + } + } + } + + group { + name: GROUP_FOLDER_ADD_ICON; + parts { + part { + name: "bg"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0;} + rel2{relative: 1.0 1.0;} + } + description + { + state: "manage_state" 0.0; + inherit: "default" 0.0; + } + } + part + { + name: "add_icon"; + type: IMAGE; + scale: 1; + mouse_events: 1; + description + { + state: "default" 0.0; + rel1 {relative: 0.0 0.0; to: "bg";} + rel2 {relative: 1.0 1.0; to: "bg";} + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../images/btn_add_nor.png"; + } + } + description + { + state: "pressed" 0.0; + inherit: "default" 0.0; + image { + normal: "../images/btn_add_press.png"; + } + } + } + } + programs { + program { + name: "add_pressed"; + signal: "mouse,down,1"; + source: "add_icon"; + action: STATE_SET "pressed" 0.0; + target: "add_icon"; + transition: DECELERATE 0.2; + } + program { + name: "add_released"; + signal: "mouse,up,1"; + source: "add_icon"; + action: STATE_SET "default" 0.0; + target: "add_icon"; + transition: DECELERATE 0.2; + } + } + } + + group { + name: GROUP_FOLDER_WINDOW; + parts { + part { + name: "bg"; //this part should be rect because click on it should close the folder. + type: RECT; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + color: 0 0 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + } + programs { + program { + name: "background_clicked_cb"; + signal: "mouse,clicked,1"; + source: "bg"; + action: SIGNAL_EMIT "bg_clicked" SIGNAL_SOURCE; + } + } + } + + group + { + name: GROUP_FOLDER_POPUP; + parts + { + part + { + name: "folder_bg"; + type: IMAGE; + description + { + state: "default" 0.0; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 0.0;} + image { + normal: "../images/folder_popup_bg.png"; + border: 5 5 5 5; + } + } + description { + state: "done"; + inherit: "default" 0.0; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 1.0;} + } + } + part + { + name: "separator"; + type: RECT; + description + { + state: "default" 0.0; + rel1 {relative: FOLDER_LEFT_MARGIN FOLDER_SEPARATOR_Y_MIN; to: "folder_bg";} + rel2 {relative: FOLDER_RIGHT_MARGIN FOLDER_SEPARATOR_Y_MAX; to: "folder_bg";} + color: 0 0 255 150; + } + } + part + { + name: PART_FOLDER_NAME; //align y 0.0 + type: SWALLOW; + description + { + state: "default" 0.0; + rel1 {relative: 0.15 FOLDER_NAME_Y_MIN; to: "folder_bg";} + rel2 {relative: 0.85 FOLDER_NAME_Y_MAX; to: "folder_bg";} + color: 0 0 0 0; + visible: 0; + } + description { + state: "done" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: PART_FOLDER_UNNAMED_TEXT; + type: TEXT; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: PART_FOLDER_NAME;} + rel2 { relative: 1.0 1.0; to: PART_FOLDER_NAME;} + color: 0 0 0 255; + visible: 0; + text { + text: ""; + size: 26; + } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part + { + name: "folder_clear_text_btn"; + type: IMAGE; + description { + state: "default" 0.0; + rel1 {relative: 1.02 0.12; to: PART_FOLDER_NAME;} + rel2 {relative: 1.10 0.88; to: PART_FOLDER_NAME;} + aspect_preference: BOTH; + image + { + normal: "../images/btn_input_clear.png"; + } + visible: 0; + } + description + { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description + { + state: "dim" 0.0; + inherit: "visible"; + color: 20 20 20 255; + } + } + part + { + name: "folder_entry_block"; + type: RECT; + repeat_events: 0; + description + { + state: "default" 0.0; + rel1 {relative: 0.0 0.0; to: PART_FOLDER_NAME;} + rel2 {relative: 1.0 1.0; to: PART_FOLDER_NAME;} + color: 0 0 0 0; + visible: 0; + } + description + { + state: "block_on" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part + { + name: PART_FOLDER_CONTENT; //align y 1.0 + type: SWALLOW; + description + { + state: "default"; + rel1 {relative: FOLDER_LEFT_MARGIN FOLDER_CONTENT_Y_MIN; to: "folder_bg";} + rel2 {relative: FOLDER_RIGHT_MARGIN FOLDER_CONTENT_Y_MAX; to: "folder_bg";} + color: 0 0 0 0; + } + } + } + programs + { + //Clear button programs + program + { + name: "clear_button_show"; + signal: SIGNAL_CLEAR_BTN_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "visible" 0.0; + target: "folder_clear_text_btn"; + } + program + { + name: "clear_button_hide"; + signal: SIGNAL_CLEAR_BTN_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "folder_clear_text_btn"; + } + program + { + name: "folder_entry_block_on"; + signal: SIGNAL_ENTRY_BLOCK_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "block_on" 0.0; + target: "folder_entry_block"; + } + program + { + name: "folder_entry_block_off"; + signal: SIGNAL_ENTRY_BLOCK_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "folder_entry_block"; + } + program + { + name: "clear_btn_clicked"; + signal: "mouse,clicked,1"; + source: "folder_clear_text_btn"; + action: SIGNAL_EMIT SIGNAL_CLEAR_BTN_CLICKED SIGNAL_SOURCE; + } + program + { + name: "clear_btn_mouse_down"; + signal: "mouse,down,1"; + source: "folder_clear_text_btn"; + action: STATE_SET "dim" 0.0; + target: "folder_clear_text_btn"; + } + program + { + name: "clear_btn_mouse_up"; + signal: "mouse,up,1"; + source: "folder_clear_text_btn"; + action: STATE_SET "visible" 0.0; + target: "folder_clear_text_btn"; + } + //Animations + program { + name: "folder_open_animation"; + signal: SIGNAL_FOLDER_PANEL_OPEN; + source: SIGNAL_SOURCE; + action: STATE_SET "done" 0.0; + target: "folder_bg"; + after: "show_entry_program"; + transition: DECELERATE 0.3; + } + program { + name: "show_entry_program"; + action: STATE_SET "done" 0.0; + target: PART_FOLDER_NAME; + } + program { + name: "folder_close_animation_start"; + signal: SIGNAL_FOLDER_PANEL_CLOSE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: PART_FOLDER_NAME; + after: "folder_close_animation"; + } + program { + name: "folder_close_animation"; + action: STATE_SET "default" 0.0; + target: "folder_bg"; + after: "folder_close_animation_done"; + transition: DECELERATE 0.3; + } + program { + name: "folder_close_animation_done"; + action: SIGNAL_EMIT SIGNAL_FOLDER_ANIM_DONE SIGNAL_SOURCE; + } + program { + name: "unnamed_text_show"; + signal: SIGNAL_FOLDER_UNNAMED_TEXT_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "visible" 0.0; + target: PART_FOLDER_UNNAMED_TEXT; + } + program { + name: "unnamed_text_hide"; + signal: SIGNAL_FOLDER_UNNAMED_TEXT_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: PART_FOLDER_UNNAMED_TEXT; + } + } + } +} diff --git a/res/edje/folder_entry.edc b/res/edje/folder_entry.edc new file mode 100644 index 0000000..891bd0e --- /dev/null +++ b/res/edje/folder_entry.edc @@ -0,0 +1,376 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +collections { + base_scale: 1.8; + group { + name: "elm/entry/base-single/default"; + styles { + style { name: "entry_single_textblock_style"; + base: "font=Tizen:style=Regular color=#00000000 align=center font_size=26 style=shadow shadow_color=#000000bf wrap=word"; + } + style { name: "entry_single_textblock_disabled_style"; + base: "font=Tizen:style=Regular color=#00000000 align=center font_size=26 style=shadow shadow_color=#000000bf wrap=word"; + } + } + data { + item: context_menu_orientation "horizontal"; + } + parts { + part { + name: "entry.swallow.background"; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + rel1 { relative: 0 0; to: "elm.text"; } + rel2 { relative: 1 1; to: "elm.text"; } + } + } + } + parts { + part { + name: "elm.text"; + type: TEXTBLOCK; + mouse_events: 1; + scale: 1; + entry_mode: EDITABLE; + multiline: 0; + source: "elm/entry/selection/default"; + source2: "elm/entry/selection/block_handle"; + source3: "elm/entry/selection/block_handle_top"; + source4: "elm/entry/cursor/default"; + source5: "elm/entry/anchor/default"; + description { + state: "default" 0.0; + text { + style: "entry_single_textblock_style"; + min: 1 1; + max: 0 1; + } + } + description { + state: "disabled" 0.0; + inherit: "default" 0.0; + text { + style: "entry_single_textblock_disabled_style"; + } + } + } + } + programs { + program { + name: "focus"; + signal: "load"; + source: ""; + action: FOCUS_SET; + target: "elm.text"; + } + program { + name: "disable"; + signal: "elm,state,disabled"; + source: "elm"; + action: STATE_SET "disabled" 0.0; + target: "elm.text"; + } + program { + name: "enable"; + signal: "elm,state,enabled"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.text"; + } + } + } + group { + name: "elm/entry/cursor/default"; + parts { + part { + name: "clip2"; + type: RECT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + rel1.to: "clip"; + rel2.to: "clip"; + visible: 0; + } + description { + state: "focused" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "clip"; + type: RECT; + mouse_events: 0; + scale: 1; + clip_to: "clip2"; + description { + state: "default" 0.0; + rel1.offset: -10 0; + rel2.offset: 9 9; + } + description { + state: "hidden" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { + name: "base"; + mouse_events: 0; + scale: 1; + clip_to: "clip"; + description { + state: "default" 0.0; + min: 2 2; + align: 0.5 1.0; + color: 0 0 0 0; + } + } + part { + name: "glow"; + type: RECT; + mouse_events: 0; + scale: 1; + clip_to: "clip2"; + description { + state: "default" 0.0; + min: 4 0; + fixed: 1 0; + align: 0.5 0.5; + rel1 { + relative: 0.0 0.0; + offset: 0 2; + } + rel2 { + relative: 0.0 1.0; + offset: 0 -2; + } + color: 42 137 194 255; + } + description { + state: "hidden" 0.0; + inherit: "default" 0.0; + color: 0 0 0 0; + } + } + } + programs { + program { + name: "show"; + action: STATE_SET "hidden" 0.0; + in: 0.6 0.0; + target: "glow"; + after: "show4"; + } + program { + name: "show4"; + action: STATE_SET "default" 0.0; + in: 0.6 0.0; + target: "glow"; + after: "show"; + } + program { + name: "focused"; + signal: "elm,action,focus"; + source: "elm"; + action: STATE_SET "focused" 0.0; + target: "clip2"; + after: "show4"; + } + program { + name: "unfocused"; + signal: "elm,action,unfocus"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "clip2"; + after: "stop_glow"; + } + program { + name: "stop_glow"; + action: ACTION_STOP; + target: "show"; + target: "show4"; + } + } + } + group { name: "elm/entry/selection/default"; + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + color: 138 183 223 128; + } + } + } + } + group { + name: "elm/entry/selection/block_handle"; + data.item: "position" "BOTH"; + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.25; + min: 50 80; + color: 0 0 0 0; + } + } + part { + name: "handle"; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + align: 0.5 0.0; + min: 48 66; + rel1 { + relative: 0.0 0.0; + offset: 0 0; + } + rel2 { + relative: 0.0 0.0; + offset: 0 0; + } + image { + border: 0 0 0 0; + } + image.middle: SOLID; + fill.smooth: 0; + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "focused"; + signal: "elm,action,focus"; + source: "elm"; + action: STATE_SET "show" 0.0; + target: "handle"; + } + program { + name: "unfocused"; + signal: "elm,action,unfocus"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "handle"; + } + } + } + group { + name: "elm/entry/selection/block_handle_top"; + data.item: "position" "BOTH"; + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 1; + fixed: 1 1; + align: 0.5 0.75; + min: 50 80; + color: 0 0 0 0; + } + } + part { + name: "handle"; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + align: 0.5 1.0; + min: 48 66; + rel1 { + relative: 0.0 0.0; + offset: 0 0; + } + rel2 { + relative: 0.0 0.0; + offset: 0 0; + } + image { + border: 0 0 0 0; + } + image.middle: SOLID; + fill.smooth: 0; + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "focused"; + signal: "elm,action,focus"; + source: "elm"; + action: STATE_SET "show" 0.0; + target: "handle"; + } + program { + name: "unfocused"; + signal: "elm,action,unfocus"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "handle"; + } + } + } + group { + name: "elm/entry/anchor/default"; + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + color: 128 0 0 64; + } + } + } + } +} \ No newline at end of file diff --git a/res/edje/home.edc b/res/edje/home.edc new file mode 100644 index 0000000..e035114 --- /dev/null +++ b/res/edje/home.edc @@ -0,0 +1,708 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "../../inc/conf.h" + +images { + image: "../images/home_button_bg.png" COMP; + image: "../images/home_icon_home.png" COMP; + image: "../images/home_icon_menu.png" COMP; + image: "../images/all_apps_icon_menu.png" COMP; + image: "../images/home_icon_reorder.png" COMP; +} + +collections { + group { + name: "home_ly"; + parts { + part { + name: "bg_spacer"; + type: SPACER; + scale: 0; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { + name: "content"; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + scale: 0; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0/*HOME_WGT_MIN_Y*/; + rel2.relative: 1.0 1.0/*HOME_WGT_MAX_Y*/; + } + } + + /*======================CHOOSER CAPTION=========================*/ + part { + name: "chooser_caption"; + type: SPACER; + scale: 0; + description { + state: "default" 0.0; + rel1.relative: 0.0 HOME_CHOOSER_CAPTION_Y_MIN; + rel2.relative: 1.0 HOME_CHOOSER_CAPTION_Y_MAX; + } + } + part { + name: PART_CHOOSER_CAPTION_MIDDLE_LABEL; + type: TEXT; + scale: 1; + description + { + state: "default" 0.0; + visible: 0; + color: 255 255 255 255; + text + { + align: 0.5 0.90; + text:"999 selected"; + size: 36; + } + rel1 + { + relative: 0.30 0.0; + to: "chooser_caption"; + } + rel2 + { + relative: 0.70 1.0; + to: "chooser_caption"; + } + } + description { + state: "chooser_activated" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: PART_CHOOSER_CAPTION_LEFT_LABEL; + type: TEXT; + scale: 1; + description + { + color: 255 255 255 255; + state: "default" 0.0; + visible: 0; + text + { + align: 0.25 0.90; + size: 28; + text: "CANCEL"; + } + rel1 + { + relative: 0.0 0.0; + to: "chooser_caption"; + } + rel2 + { + relative: 0.33 1.0; + to: "chooser_caption"; + } + } + description { + state: "chooser_activated" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "chooser_caption_left_clickable_space"; + type: RECT; + mouse_events: 1; + scale: 0; + description + { + state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + rel1 + { + to: "chooser_caption_left_label"; + relative: 0.0 0.0; + } + rel2 + { + to: "chooser_caption_left_label"; + relative: 1.0 1.0; + } + } + description { + state: "chooser_activated" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: PART_CHOOSER_CAPTION_RIGHT_LABEL; + type: TEXT; + scale: 1; + description + { + state: "default" 0.0; + visible: 0; + color: 255 255 255 255; + text + { + align: (1.0 - 0.25) 0.90; + size: 28; + text: "DONE"; + } + rel1 + { + relative: 0.66 0.0; + to: "chooser_caption"; + } + rel2 + { + relative: 1.0 1.0; + to: "chooser_caption"; + } + } + description { + state: "chooser_activated" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "chooser_caption_right_clickable_space"; + type: RECT; + mouse_events: 1; + scale: 0; + description + { + state: "default" 0.0; + visible: 0; + color: 0 0 0 0; + rel1 + { + to: "chooser_caption_right_label"; + relative: 0.0 0.0; + } + rel2 + { + to: "chooser_caption_right_label"; + relative: 1.0 1.0; + } + } + description { + state: "chooser_activated" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + + /*==================== BUTTON : MENU IMPLEMENATION ===============*/ + part { + name: "menu_btn"; + type: SPACER; + scale: 0; + description { + state: "default" 0.0; + rel1.relative: HOME_MENU_BTN_X_MIN HOME_BTNS_Y_MIN; + rel2.relative: HOME_MENU_BTN_X_MAX HOME_BTNS_Y_MAX; + } + } + part { + name: "menu_btn_bg"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "menu_btn"; } + rel2 { relative: 1.0 1.0; to: "menu_btn"; } + color: 0 0 0 40; + visible: 1; + image { + normal: "../images/home_button_bg.png"; + } + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 40; + } + description { + state: "chooser_activated" 0.0; + visible: 0; + } + description + { + state: "all_apps_view_state" 0.0; + inherit: "default" 0.0; + } + description + { + state: "home_view_state" 0.0; + inherit: "default" 0.0; + } + description + { + state: "all_apps_edit_state" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { + name: "home_view_menu_icon"; + type: IMAGE; + mouse_events: 0; + repeat_events: 1; + scale: 0; + description + { + state: "default" 0.0; + rel1 { relative: 0.27 0.1; to: "menu_btn"; } + rel2 { relative: 0.73 0.9; to: "menu_btn"; } + color: 255 255 255 255; + visible: 1; + image + { + normal: "../images/home_icon_menu.png"; + } + } + description + { + state: "all_apps_view_state" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + } + description + { + state: "home_view_state" 0.0; + inherit: "default" 0.0; + } + description + { + state: "all_apps_edit_state" 0.0; + inherit: "all_apps_view_state" 0.0; + visible: 0; + } + } + part + { + name: "all_apps_view_menu_icon"; + type: IMAGE; + mouse_events: 0; + repeat_events: 1; + scale: 0; + description + { + state: "default" 0.0; + rel1 { relative: 0.27 0.1; to: "menu_btn"; } + rel2 { relative: 0.73 0.9; to: "menu_btn"; } + color: 255 255 255 0; + visible: 1; + image + { + normal: "../images/all_apps_icon_menu.png"; + } + } + description + { + state: "chooser_activated" 0.0; + visible: 0; + } + description + { + state: "all_apps_view_state" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description + { + state: "home_view_state" 0.0; + inherit: "default" 0.0; + } + description + { + state: "all_apps_edit_state" 0.0; + inherit: "all_apps_view_state" 0.0; + visible: 0; + } + } + + /*==================== BUTTON : HOME ICON IMPLEMENTATION ===============*/ + part { + name: "home"; + type: SPACER; + scale: 0; + description { + state: "default" 0.0; + rel1.relative: HOME_HOME_BTN_X_MIN HOME_BTNS_Y_MIN; + rel2.relative: HOME_HOME_BTN_X_MAX HOME_BTNS_Y_MAX; + } + } + part { + name: "home_btn_bg"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "home"; } + rel2 { relative: 1.0 1.0; to: "home"; } + color: 0 0 0 40; + visible: 1; + image { + normal: "../images/home_button_bg.png"; + } + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 40; + } + description { + state: "chooser_activated" 0.0; + visible: 0; + } + description + { + state: "all_apps_view_state" 0.0; + inherit: "default" 0.0; + } + description + { + state: "home_view_state" 0.0; + inherit: "default" 0.0; + } + description + { + state: "all_apps_edit_state" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part + { + name: "home_view_home_icon"; + type: IMAGE; + mouse_events: 0; + repeat_events: 1; + scale: 0; + description + { + state: "default" 0.0; + rel1 { relative: 0.27 0.1; to: "home"; } + rel2 { relative: 0.73 0.9; to: "home"; } + color: 255 255 255 255; + visible: 1; + image + { + normal: "../images/home_icon_reorder.png"; + } + } + description + { + state: "chooser_activated" 0.0; + visible: 0; + } + description + { + state: "all_apps_view_state" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + } + description + { + state: "home_view_state" 0.0; + inherit: "default" 0.0; + } + description + { + state: "all_apps_edit_state" 0.0; + inherit: "all_apps_view_state" 0.0; + visible: 0; + } + } + + part + { + name: "all_apps_view_home_icon"; + type: IMAGE; + mouse_events: 0; + repeat_events: 1; + scale: 0; + description + { + state: "default" 0.0; + rel1 { relative: 0.27 0.1; to: "home"; } + rel2 { relative: 0.73 0.9; to: "home"; } + color: 255 255 255 0; + visible: 1; + image + { + normal: "../images/home_icon_home.png"; + } + } + description + { + state: "chooser_activated" 0.0; + visible: 0; + } + description + { + state: "all_apps_view_state" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description + { + state: "home_view_state" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + } + description + { + state: "all_apps_edit_state" 0.0; + inherit: "all_apps_view_state" 0.0; + visible: 0; + } + } + + /*==================== DYNAMIC INDEX: ===============*/ + part { + name: PART_INDEX; + type: SWALLOW; + scale: 0; + description { + state: "default" 0.0; + rel1.relative: HOME_PG_INDEX_X_MIN HOME_BTNS_Y_MIN; + rel2.relative: HOME_PG_INDEX_X_MAX HOME_BTNS_Y_MAX; + } + } + + part { + name: PART_NEXT_PAGE_INDICE; + type: RECT; + scale: 0; + description { + state: "default" 0.0; + color: 20 20 100 100; + rel1.relative: INDICE_NEXT_PAGE_X_MIN HOME_WGT_MIN_Y; + rel2.relative: INDICE_NEXT_PAGE_X_MAX HOME_WGT_EDIT_MAX_Y; + visible: 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: PART_PREV_PAGE_INDICE; + type: RECT; + scale: 0; + description { + state: "default" 0.0; + color: 20 20 100 100; + rel1.relative: INDICE_PREV_PAGE_X_MIN HOME_WGT_MIN_Y; + rel2.relative: INDICE_PREV_PAGE_X_MAX HOME_WGT_EDIT_MAX_Y; + visible: 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: PART_EVENT_BLOCKER; + type: RECT; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + visible: 0; + rel1 {relative: 0.0 0.0; to: "bg_spacer";} + rel2 {relative: 1.0 1.0; to: "bg_spacer";} + color: 0 0 0 0; + } + description { + state: "blocked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + /*============== PROGRAMS TO OPERATE ON bottom buttons =============*/ + programs { + program { + name: "menu_btn_down"; + signal: "mouse,down,1"; + source: "menu_btn_bg"; + action: STATE_SET "press" 0.0; + target: "menu_btn_bg"; + transition: DECELERATE 0.1; + } + program { + name: "menu_btn_up"; + signal: "mouse,up,1"; + source: "menu_btn_bg"; + action: STATE_SET "default" 0.0; + target: "menu_btn_bg"; + transition: DECELERATE 0.1; + } + program { + name: "menu_btn_click"; + signal: "mouse,clicked,1"; + source: "menu_btn_bg"; + action: SIGNAL_EMIT SIGNAL_MENU_BTN_CLICKED SIGNAL_SOURCE; + } + program { + name: "home_btn_down"; + signal: "mouse,down,1"; + source: "home_btn_bg"; + action: STATE_SET "press" 0.0; + target: "home_btn_bg"; + transition: DECELERATE 0.1; + } + program { + name: "home_btn_up"; + signal: "mouse,up,1"; + source: "home_btn_bg"; + action: STATE_SET "default" 0.0; + target: "home_btn_bg"; + transition: DECELERATE 0.1; + } + program { + name: "home_btn_click"; + signal: "mouse,clicked,1"; + source: "home_btn_bg"; + action: SIGNAL_EMIT SIGNAL_HOME_BTN_CLICKED SIGNAL_SOURCE; + } + program + { + name: "menu_icon_home_view_state_set"; + signal: SIGNAL_BOTTOM_BUTTONS_HOME_STATE_SET; + source: SIGNAL_SOURCE; + action: STATE_SET "home_view_state" 0.0; + target: "home_view_menu_icon"; + target: "all_apps_view_menu_icon"; + target: "home_view_home_icon"; + target: "all_apps_view_home_icon"; + target: "menu_btn_bg"; + target: "home_btn_bg"; + transition: LINEAR 0.3; + } + program + { + name: "menu_icon_all_apps_view_state_set"; + signal: SIGNAL_BOTTOM_BUTTONS_ALL_APPS_STATE_SET; + source: SIGNAL_SOURCE; + action: STATE_SET "all_apps_view_state" 0.0; + target: "home_view_menu_icon"; + target: "all_apps_view_menu_icon"; + target: "home_view_home_icon"; + target: "all_apps_view_home_icon"; + target: "menu_btn_bg"; + target: "home_btn_bg"; + transition: LINEAR 0.3; + } + program + { + name: "menu_icon_all_apps_edit_state_set"; + signal: SIGNAL_BOTTOM_BUTTONS_ALL_APPS_EDIT_STATE_SET; + source: SIGNAL_SOURCE; + action: STATE_SET "all_apps_edit_state" 0.0; + target: "home_view_menu_icon"; + target: "all_apps_view_menu_icon"; + target: "home_view_home_icon"; + target: "all_apps_view_home_icon"; + target: "menu_btn_bg"; + target: "home_btn_bg"; + } + + /*============== PROGRAMS TO OPERATE ON CHOOSER CAPTION =============*/ + program { + name: "chooser_caption_activate"; + signal: SIGNAL_CHOOSER_CAPTION_ACTIVATE; + source: SIGNAL_SOURCE; + action: STATE_SET "chooser_activated" 0.0; + target: "chooser_caption_middle_label"; + target: "chooser_caption_left_label"; + target: "chooser_caption_left_clickable_space"; + target: "chooser_caption_right_label"; + target: "chooser_caption_right_clickable_space"; + target: "all_apps_view_menu_icon"; + target: "menu_btn_bg"; + target: "home_btn_bg"; + target: "all_apps_view_home_icon"; + } + program { + name: "chooser_caption_deactivate"; + signal: SIGNAL_CHOOSER_CAPTION_DEACTIVATE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "chooser_caption_middle_label"; + target: "chooser_caption_left_label"; + target: "chooser_caption_left_clickable_space"; + target: "chooser_caption_right_label"; + target: "chooser_caption_right_clickable_space"; + target: "menu_btn_bg"; + target: "all_apps_view_menu_icon"; + target: "home_btn_bg"; + target: "all_apps_view_home_icon"; + } + /*============= PROGRAMS TO OPERATOE ON INDICES =====================*/ + program { + name: "next_page_indice_show"; + signal: SIGNAL_NEXT_PAGE_INDICE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "visible" 0.0; + target: PART_NEXT_PAGE_INDICE; + } + program { + name: "prev_page_indice_show"; + signal: SIGNAL_PREV_PAGE_INDICE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "visible" 0.0; + target: PART_PREV_PAGE_INDICE; + } + program { + name: "indice_off_program"; + signal: SIGNAL_INDICE_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: PART_PREV_PAGE_INDICE; + target: PART_NEXT_PAGE_INDICE; + } + program { + name: "block_events"; + signal: SIGNAL_BLOCK_EVENTS; + source: SIGNAL_SOURCE; + action: STATE_SET "blocked" 0.0; + target: PART_EVENT_BLOCKER; + } + program { + name: "unblock_events"; + signal: SIGNAL_UNBLOCK_EVENTS; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: PART_EVENT_BLOCKER; + in: 0.1 0.0; + } + } + } +} diff --git a/res/edje/icon.edc b/res/edje/icon.edc new file mode 100644 index 0000000..73c2405 --- /dev/null +++ b/res/edje/icon.edc @@ -0,0 +1,627 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "../../inc/conf.h" + +images { + image: "../images/app_press_117.png" COMP; + image: "../images/btn_delete_nor.png" COMP; + image: "../images/btn_delete_press.png" COMP; + image: "../images/app_icon_checkbox_bg.png" COMP; + image: "../images/app_icon_checkbox_on.png" COMP; + image: "../images/app_icon_checkbox_border.png" COMP; + image: "../images/icon_badge_container.png" COMP; +} + +styles { + style{ + name: "icon_label"; + base: "font=Samsung Condensed:style=Regular align=center color=#FFFFFFFF font_size=28 wrap=mixed"; + } + style{ + name: "icon_label_edit"; + base: "font=Samsung Condensed:style=Regular align=center color=#FFFFFFFF font_size=25 wrap=mixed"; + } +} + +collections { + group { + name: "app_icon_layout"; + script { + public checkbox_state; + public alpha; + + public message(Msg_Type:type, id, ...) { + if(type == MSG_INT_SET) + { + set_int(alpha, getarg(2)); + send_message(type, id, getarg(2)); + } + } + } + parts { + part { //"icon_bg" + name: "icon_bg"; + type: SPACER; + mouse_events: 1; + repeat_events: 1; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; } + rel2{relative: 1.0 1.0; } + } + description { + state: "moved" 0.0; + inherit: "default" 0.0; + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + } + description + { + state: "manage_state" 0.0; + inherit: "default" 0.0; + } + } + + part { //PART_ICON_CONTENT + name: PART_ICON_CONTENT; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: ICON_X_MIN ICON_Y_MIN; to: "icon_bg";} + rel2{relative: ICON_X_MAX ICON_Y_MAX; to: "icon_bg";} + } + } + + + part { //"icon_content_touch" + name: "icon_content_touch"; + type: IMAGE; + mouse_events: 1; + repeat_events: 1; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: PART_ICON_CONTENT;} + rel2{relative: 1.0 1.0; to: PART_ICON_CONTENT;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + color: 0 0 0 0; + image { + normal: "../images/app_press_117.png"; + } + } + description{ + state: "icon_touched" 0.0; + inherit: "default" 0.0; + color: 0 0 0 150; + } + } + + part { //PART_ICON_NAME + name: PART_ICON_NAME; + type: TEXTBLOCK; + mouse_events: 1; + repeat_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: ICON_NAME_X_MIN ICON_NAME_Y_MIN; to: "icon_bg";} + rel2{relative: ICON_NAME_X_MAX ICON_NAME_Y_MAX; to: "icon_bg";} + color: 255 255 255 255; + text { + style: "icon_label"; + align: 0.5 0.0; + } + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + rel1{relative: ICON_NAME_X_MIN ICON_NAME_Y_MIN; to: "icon_bg";} + rel2{relative: ICON_NAME_X_MAX 1.0; to: "icon_bg";} + text { + style: "icon_label_edit"; + } + } + description { + state: "black_text" 0.0; + inherit: "default" 0.0; + color: 0 0 0 255; + } + description { + state: "black_edit" 0.0; + inherit: "black_text" 0.0; + text { + style: "icon_label_edit"; + } + } + } + + + /*************************** BADGE *************************************/ + + part + { + name: "icon_badge"; + type: IMAGE; + scale: 0; + description + { + state: "default" 0.0; + rel1{relative: 0.0 0.0; offset: -10 -1; to: "icon_badge_text";} + rel2{relative: 1.0 1.0; offset: 9 1; to: "icon_badge_text";} + visible: 0; + image + { + normal: "../images/icon_badge_container.png"; + border: 15 14 0 0; + } + } + description + { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + + part + { + name: "icon_badge_text"; + type: TEXT; + scale: 1; + description + { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + color: 255 255 255 255; + rel1{relative: BADGE_REL_X BADGE_REL_Y; to: "icon_bg";} + rel2{relative: BADGE_REL_X BADGE_REL_Y; to: "icon_bg";} + align: 1.0 0.0; + text + { + font: "arial"; + size: 32; + text_class: "ATO002"; + min: 1 1; + max: 1 1; + } + } + description + { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + + /*************************** END OF BADGE *************************************/ + + part { //"icon_uninstall_button"; + name: "icon_uninstall_button"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "icon_bg";} + rel2{relative: ICON_UNINSTALL_BTN_X_MAX ICON_UNINSTALL_BTN_Y_MAX; to: "icon_bg";} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../images/btn_delete_nor.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../images/btn_delete_press.png"; + } + visible: 1; + } + } + + /*Icons checkboxes in choose state:*/ + part { //"icon_checkbox_bg"; + name: "icon_checkbox_bg"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: ICON_BADGE_CHECKBOX_REL1_X ICON_BADGE_CHECKBOX_REL1_Y; to: "icon_bg";} + rel2{relative: ICON_BADGE_CHECKBOX_REL2_X ICON_BADGE_CHECKBOX_REL2_Y; to: "icon_bg";} + color: 255 255 255 120; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + //TODO: image from home-lite is used... + image { + normal: "../images/app_icon_checkbox_bg.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + //color_class: "ATO005"; + color: 255 255 255 255; + visible: 1; + } + } + + part { //"icon_checkbox_border"; + name: "icon_checkbox_border"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} + rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../images/app_icon_checkbox_border.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + color: 255 255 255 120; + visible: 1; + } + } + + part { //"icon_checkbox" + name: "icon_checkbox"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} + rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../images/app_icon_checkbox_on.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 0; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + } + + part { //checkbox_click_area + name: "checkbox_click_area"; + type: RECT; + scale: 0; + description { + state: "default" 0.0; + color: 0 0 0 0; + rel1 { + relative: -0.2 -0.2; + to: "icon_checkbox"; + } + rel2 { + relative: 1.2 1.2; + to: "icon_checkbox"; + } + visible: 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + + programs { + program { + name: "group_loaded"; + signal: "load"; + source: ""; + script { + set_int(checkbox_state, 0); + } + } + program { + name: "icon_clicked_program"; + signal :"mouse,clicked,1"; + source: "icon_content"; + action: SIGNAL_EMIT SIGNAL_ICON_CLICKED SIGNAL_SOURCE; + //after: program with change the icon shadow state to clicked! + } + + program { + name: "icon_touch_program"; + signal: SIGNAL_ICON_PRESS; + source: SIGNAL_PRESS_SOURCE; + action: STATE_SET "icon_touched" 0.0; + target: "icon_content_touch"; + transition: LINEAR 0.1; + } + + program { + name: "icon_touch_release_program"; + signal: "mouse,up,1"; + source: "icon_content_touch"; + action: STATE_SET "default" 0.0; + target: "icon_content_touch"; + transition: LINEAR 0.1; + } + program { + name: "edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: PART_ICON_NAME; + } + program { + name: "edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: PART_ICON_NAME; + } + program { + name: "edit_mode_black_on"; + signal: SIGNAL_EDIT_MODE_BLACK_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "black_edit" 0.0; + target: PART_ICON_NAME; + } + program { + name: "edit_mode_black_off"; + signal: SIGNAL_EDIT_MODE_BLACK_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "black_text" 0.0; + target: PART_ICON_NAME; + } + program { + name: "uninstall_button_show"; + signal: SIGNAL_UNINSTALL_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: "icon_uninstall_button"; + transition: DECELERATE 0.20; + } + program { + name: "uninstall_button_hide"; + signal: SIGNAL_UNINSTALL_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "icon_uninstall_button"; + transition: DECELERATE 0.20; + } + program { + name: "uninstall_button_clicked"; + signal: "mouse,clicked,1"; + source: "icon_uninstall_button"; + action: SIGNAL_EMIT SIGNAL_UNINSTALL_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "uninstall_button_mouse_down"; + signal: "mouse,down,1"; + source: "icon_uninstall_button"; + action: STATE_SET "press" 0.0; + target: "icon_uninstall_button"; + transition: DECELERATE 0.20; + } + program { + name: "uninstall_button_mouse_up"; + signal: "mouse,up,1"; + source: "icon_uninstall_button"; + action: STATE_SET "show" 0.0; + target: "icon_uninstall_button"; + transition: DECELERATE 0.20; + } + + //Checkbox + program { + name: "checkbox_show_unchecked"; + signal: SIGNAL_CHECKBOX_SHOW_UNCHECKED; + source: SIGNAL_SOURCE; + script { + set_int(checkbox_state, 0); + emit("checkbox,blank,show", SIGNAL_SOURCE); + } + after: "checkbox_area_visible"; + } + program { + name: "checkbox_show_checked"; + signal: SIGNAL_CHECKBOX_SHOW_CHECKED; + source: SIGNAL_SOURCE; + script { + set_int(checkbox_state, 1); + emit("checkbox,checked,show", SIGNAL_SOURCE); + } + after: "checkbox_area_visible"; + } + program { + name: "checkbox_blank_show"; + signal: "checkbox,blank,show"; + source: SIGNAL_SOURCE; + action: STATE_SET "blank" 0.0; + target: "icon_checkbox"; + target: "icon_checkbox_border"; + target: "icon_checkbox_bg"; + } + program { + name: "checkbox_hide"; + signal: SIGNAL_CHECKBOX_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "icon_checkbox"; + target: "icon_checkbox_border"; + target: "icon_checkbox_bg"; + transition: DECELERATE 0.20; + after: "checkbox_area_hide"; + } + program { + name: "checkbox_checked_show"; + signal: "checkbox,checked,show"; + source: SIGNAL_SOURCE; + action: STATE_SET "checked" 0.0; + target: "icon_checkbox"; + target: "icon_checkbox_border"; + target: "icon_checkbox_bg"; + transition: DECELERATE 0.20; + } + program { + name: "checkbox_clicked"; + signal: "mouse,clicked,1"; + source: "checkbox_click_area"; + script { + if (get_int(checkbox_state) == 0) { + set_int(checkbox_state, 1); //isnt it deprecated? + emit("checkbox,checked,show", SIGNAL_SOURCE); //signal for edje state change + emit("checkbox,checked", SIGNAL_SOURCE); //signal for C listener + } + else { + set_int(checkbox_state, 0); + emit("checkbox,blank,show", SIGNAL_SOURCE); //signal for edje state change + emit("checkbox,unchecked", SIGNAL_SOURCE); //signal for C listener + } + } + } + /*This is when ALLs are in management mode:*/ + program { + name: "set_manage_state_program"; + signal: "set_manage_state"; + source: SIGNAL_SOURCE; + action: STATE_SET "manage_state" 0.0; + target: "icon_bg"; + transition: DECELERATE 0.2; + } + /*This is default for ALLs: */ + program { + name: "unset_manage_state_program"; + signal: "unset_manage_state"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "icon_bg"; + transition: DECELERATE 0.2; + } + program { + name: "program_no_text"; + signal: SIGNAL_LABEL_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "no_text" 0.0; + target: PART_ICON_NAME; + } + program { + name: "program_black_text"; + signal: "label,text,black"; + source: SIGNAL_SOURCE; + action: STATE_SET "black_text" 0.0; + target: PART_ICON_NAME; + } + program { + name: "program_default"; + signal: SIGNAL_LABEL_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: PART_ICON_NAME; + transition: DECELERATE 0.20; + } + program { + name: "icon_badge_show"; + signal: SIGNAL_BADGE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "visible" 0.0; + target: "icon_badge"; + target: "icon_badge_text"; + } + program { + name: "icon_badge_hide"; + signal: SIGNAL_BADGE_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "icon_badge"; + target: "icon_badge_text"; + } + program { + name: "checkbox_area_visible"; + action: STATE_SET "visible" 0.0; + target: "checkbox_click_area"; + } + program { + name: "checkbox_area_hide"; + action: STATE_SET "default" 0.0; + target: "checkbox_click_area"; + } + program { + name: "area,clicked"; + signal: "mouse,clicked,1"; + source: "checkbox_click_area"; + action: SIGNAL_EMIT "mouse,clicked,1" "icon_checkbox"; + } + program { + name: "checkbox,block"; + signal: SIGNAL_CHECKBOX_BLOCK; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "checkbox_click_area"; + } + program { + name: "checkbox,unblock"; + signal: SIGNAL_CHECKBOX_UNBLOCK; + source: SIGNAL_SOURCE; + action: STATE_SET "visible" 0.0; + target: "checkbox_click_area"; + } + } + } +} diff --git a/res/edje/index_element.edc b/res/edje/index_element.edc new file mode 100644 index 0000000..ef964e8 --- /dev/null +++ b/res/edje/index_element.edc @@ -0,0 +1,113 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "../../inc/conf.h" + +collections { + group { + name: GROUP_INDEX_ELEMENT; + + images { + image: "../images/core_page_indicator_on.png" COMP; + image: "../images/core_page_indicator_on_horizontal.png" COMP; + } + + script { + public rot; + public alpha; + + public message(Msg_Type:type, id, ...) { + if(type == MSG_FLOAT_SET) + { + set_float(rot, getfarg(2)); + set_float(alpha, getfarg(3)); + send_message(type, id, getfarg(2), getfarg(3)); + } + } + } + + parts { + part { + name: INDICE_SIZE_SETTER; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 1.0;} + } + } + part { + name: "element"; + type: IMAGE; + + description { + state: "default" 0.0; + color: 255 255 255 75; + rel1 {relative: 0.0 0.0; to: INDICE_SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to: INDICE_SIZE_SETTER;} + image { + normal: "../images/core_page_indicator_on_horizontal.png"; + } + map { + on: 1; + perspective_on: 1; + smooth: 1; + alpha: 1; + + } + } + description { + state: "current" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../images/core_page_indicator_on.png"; + } + } + } + } + + programs { + program { + name: "rotation,change"; + signal: "rot_changed"; + source: "ly"; + script { + custom_state(PART:"element", "default", 0.0); + set_state_val(PART:"element", STATE_MAP_ROT_Z, get_float(rot)); + set_state_val(PART:"element", STATE_COLOR, 255, 255, 255, round(get_float(alpha))); + set_state(PART:"element", "custom", 0.0); + } + } + program + { + name: "indice_set_default"; + signal: SIGNAL_SET_DEFAULT; + source: "layout"; + action: STATE_SET "default" 0.0; + target: "element"; + } + program + { + name: "indice_set_current"; + signal: SIGNAL_SET_CURRENT; + source: "layout"; + action: STATE_SET "current" 0.0; + target: "element"; + } + } + } +} diff --git a/res/edje/livebox_container.edc b/res/edje/livebox_container.edc new file mode 100644 index 0000000..94045ca --- /dev/null +++ b/res/edje/livebox_container.edc @@ -0,0 +1,622 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "../../inc/conf.h" + +images +{ + image: "../images/btn_delete_nor.png" COMP; + image: "../images/edit_all_page_create.png" COMP; + image: "../images/frame.png" COMP; + image: "../images/resize_button.png" COMP; +} + +collections { + group { + ///@todo it would rather be named livebox_scroller_page + name: "livebox_container"; + + parts { + part { + //background fills the whole page in pagescroller + name: "bg"; + scale: 1; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 + { + relative: 0.0 CONTENT_Y_MIN; + } + rel2 { + relative: 1.0 CONTENT_Y_MAX; + } + } + } + + part + { + name: "grid_bg"; + scale: 1; + type: SWALLOW; + description + { + state: "default" 0.0; + visible: 1; + rel1 + { + relative: 0.0 0.0; to: "content"; + } + rel2 + { + relative: 1.0 1.0; to: "content"; + } + } + description + { + state: "hidden" 0.0; + inherit: "default"; + visible: 0; + } + + } + + part { + name: "edit_dim"; + scale: 1; + type: RECT; + repeat_events: 1; + description { + state: "default" 0.0; + rel1 {relative: 0.0 0.0; to: "content";} + rel2 {relative: 1.0 1.0; to: "content";} + color: 0 0 0 40; + visible: 0; + } + description { + state: "edit"; + inherit: "default" 0.0; + visible: 1; + } + } + + part { + name : "add_page_button"; + scale: 1; + type: IMAGE; + description { + state: "default" 0.0; + rel1 {relative: LIVEBOX_ADD_PAGE_BUTTON_X_MIN LIVEBOX_ADD_PAGE_BUTTON_Y_MIN; to: "edit_dim";} + rel2 {relative: LIVEBOX_ADD_PAGE_BUTTON_X_MAX LIVEBOX_ADD_PAGE_BUTTON_Y_MAX; to: "edit_dim";} + image { + normal: "../images/edit_all_page_create.png"; + } + aspect_preference: BOTH; + visible: 0; + } + description { + state: "visible"; + inherit: "default" 0.0; + visible: 1; + } + } + + part { + //content is smaller than the background and positioned in the center + name: "content"; + scale: 1; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 { relative: LIVEBOX_X_MIN 0.0; to: "bg";} + rel2 { relative: LIVEBOX_X_MAX 1.0; to: "bg";} + fixed: 1 1; + } + description { + state: "edit" 0.0; + rel1 {relative: LIVEBOX_EDIT_X_MIN LIVEBOX_EDIT_Y_MIN; to: "bg";} + rel2 {relative: LIVEBOX_EDIT_X_MAX LIVEBOX_EDIT_Y_MAX; to: "bg";} + } + } + + part { + name: "remove_button"; + scale: 1; + type: IMAGE; + mouse_events: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "content";} + rel2{relative: 1.0 1.0; to: "content";} + color: 255 255 255 255; + visible: 0; + aspect: 1.0 1.0; + align: 0.0 0.0; + min: LIVEBOX_REMOVE_BUTTON_SIZE LIVEBOX_REMOVE_BUTTON_SIZE; + max: LIVEBOX_REMOVE_BUTTON_SIZE LIVEBOX_REMOVE_BUTTON_SIZE; + aspect_preference: BOTH; + fixed: 1 1; + image { + normal: "../images/btn_delete_nor.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + +// ================================================================================= + part + { + name: "slider.vertical"; + type: SPACER; + scale: 1; + repeat_events: 1; + description + { + state: "default" 0.0; + align: 0.5 0.5; + rel1 + { + relative: 0.0 -0.025; + to_x: "button.left"; + to_y: "content"; + } + rel2 + { + relative: 1.0 1.03; + to_x: "button.right"; + to_y: "content"; + } + + min: LIVEBOX_SLIDER_BUTTON_SIZE 0; + max: LIVEBOX_SLIDER_BUTTON_SIZE -1; + } + } + part + { + name: "button.down"; + type: IMAGE; + scale: 1; + mouse_events: 1; + repeat_events: 0; + + dragable { + confine: "slider.vertical"; + x: 0 0 0; + y: 1 1 10; + } + description + { + state: "default" 0.0; + color: 0 255 0 255; + align: 0.5 0.5; + visible: 1; + min: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE; + + image + { + normal: "../images/resize_button.png"; + } + } + description + { + state: "button,warning" 0.0; + inherit: "default"; + color: 255 0 0 255; + } + description + { + state: "hidden"; + inherit: "default"; + visible: 0; + } + } + part + { + name: "button.up"; + type: IMAGE; + scale: 1; + mouse_events: 1; + repeat_events: 0; + + dragable + { + confine: "slider.vertical"; + x: 0 0 0; + y: 1 1 10; + } + + description + { + state: "default" 0.0; + color: 0 255 0 255; + align: 0.5 0.5; + visible: 1; + min: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE; + + image + { + normal: "../images/resize_button.png"; + } + } + description + { + state: "button,warning" 0.0; + inherit: "default"; + color: 255 0 0 255; + } + description + { + state: "hidden"; + inherit: "default"; + visible: 0; + } + } + + part + { + name: "slider.horizontal"; + type: SPACER; + scale: 1; + repeat_events: 1; + + description + { + state: "default" 0.0; + align: 0.5 0.5; + + rel1 + { + relative: -0.025 0.0; + to_x: "content"; + to_y: "button.up"; + } + rel2 + { + relative: 1.03 1.0; + to_x: "content"; + to_y: "button.down"; + } + + min: 0 LIVEBOX_SLIDER_BUTTON_SIZE; + max: -1 LIVEBOX_SLIDER_BUTTON_SIZE; + } + } + part + { + name: "button.right"; + type: IMAGE; + scale: 1; + mouse_events: 1; + repeat_events: 0; + + dragable + { + confine: "slider.horizontal"; + x: 1 1 10; + y: 0 0 0; + } + + description + { + state: "default" 0.0; + color: 0 255 0 255; + align: 0.5 0.5; + min: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE; + max: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE; + rel1 + { + relative: 0.90 0.0; + to_y: "button.up"; + } + rel2 + { + relative: 1.00 1.0; + to_y: "button.down"; + } + + image + { + normal: "../images/resize_button.png"; + } + } + description + { + state: "button,warning" 0.0; + inherit: "default"; + color: 255 0 0 255; + } + description + { + state: "hidden"; + inherit: "default"; + visible: 0; + } + } + part + { + name: "button.left"; + type: IMAGE; + scale: 1; + mouse_events: 1; + repeat_events: 0; + + dragable + { + confine: "slider.horizontal"; + x: 1 1 10; + y: 0 0 0; + } + + description + { + state: "default" 0.0; + color: 0 255 0 255; + align: 0.5 0.5; + min: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE; + max: LIVEBOX_SLIDER_BUTTON_SIZE LIVEBOX_SLIDER_BUTTON_SIZE; + visible: 1; + rel1 + { + relative: 0.0 1.0; + to_y: "button.up"; + } + rel2 + { + relative: 0.1 0.0; + to_y: "button.down"; + } + + image + { + normal: "../images/resize_button.png"; + } + } + description + { + state: "button,warning" 0.0; + inherit: "default"; + color: 255 0 0 255; + } + description + { + state: "hidden"; + inherit: "default"; + visible: 0; + } + } + + part { + name: "event_blocker"; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + fixed: 1 1; + color: 0 0 0 0; + visible: 0; + rel1 { relative: 0.0 0.0; to: "content";} + rel2 { relative: 1.0 1.0; to: "content";} + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + + part { + name : "frame"; + type: IMAGE; + mouse_events: 0; + repeat_events: 1; + description { + state: "default" 0.0; + rel1 + { + relative: LIVEBOX_RESIZE_FRAME_REL_1 LIVEBOX_RESIZE_FRAME_REL_1; + to_x: "button.left"; + to_y: "button.up"; + } + rel2 + { + relative: LIVEBOX_RESIZE_FRAME_REL_2 LIVEBOX_RESIZE_FRAME_REL_2; + to_x: "button.right"; + to_y: "button.down"; + } + image { + normal: "../images/frame.png"; + border: 20 20 20 20; + } + color: 0 255 0 255; + visible: 1; + } + description { + state: "hidden"; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "button,warning"; + inherit: "default" 0.0; + color: 255 0 0 255; + } + } + +// =========================================================================== + programs { + //Remove button + program { + name: "remove_button_show"; + signal: "remove_button,show"; + source: "layout"; + action: STATE_SET "show" 0.0; + target: "remove_button"; + transition: DECELERATE 0.20; + } + program { + name: "event_blocker_show"; + action: STATE_SET "show" 0.0; + target: "event_blocker"; + } + + program { + name: "remove_button_hide"; + signal: "remove_button,hide"; + source: "layout"; + action: STATE_SET "default" 0.0; + target: "remove_button"; + transition: DECELERATE 0.20; + } + program { + name: "remove_button_hide_instant"; + signal: "remove_button,hide,instant"; + source: "layout"; + action: STATE_SET "default" 0.0; + target: "remove_button"; + after: "event_blocker_hide"; + } + program { + name: "event_blocker_hide"; + action: STATE_SET "default" 0.0; + target: "event_blocker"; + } + + program { + name: "remove_button_clicked"; + signal: "mouse,clicked,1"; + source: "remove_button"; + action: SIGNAL_EMIT "remove_button,clicked" "layout"; + } + +// ========================================================================= + program + { + name: "drag,outside"; + signal: "drag,outside"; + source: "livebox"; + action: STATE_SET "button,warning" 0.0; + target: "button.left"; + target: "button.right"; + target: "button.up"; + target: "button.down"; + target: "frame"; + } + program + { + name: "drag,ok"; + signal: "drag,ok"; + source: "livebox"; + action: STATE_SET "default" 0.0; + target: "button.left"; + target: "button.right"; + target: "button.up"; + target: "button.down"; + target: "frame"; + } + + program + { + name: "sliders,hide"; + signal: "sliders,hide"; + source: "livebox"; + action: STATE_SET "hidden" 0.0; + target: "button.left"; + target: "button.right"; + target: "button.up"; + target: "button.down"; + target: "frame"; + } + + program + { + name: "sliders,show"; + signal: "sliders,show"; + source: "livebox"; + action: STATE_SET "default" 0.0; + target: "button.left"; + target: "button.right"; + target: "button.up"; + target: "button.down"; + target: "frame"; + } +// ================================================================================================== + + program + { + name: "grid,hide"; + signal: SIGNAL_GRID_SHADOW_HIDE; + source: PART_GRID_BG; + action: STATE_SET "hidden" 0.0; + target: "grid_bg"; + } + + program + { + name: "grid,show"; + signal: SIGNAL_GRID_SHADOW_SHOW; + source: PART_GRID_BG; + action: STATE_SET "default" 0.0; + target: "grid_bg"; + } + + +// ================================================================================================== + + program { + name: "edit_start"; + signal: "edit,start"; + source: "layout"; + action: STATE_SET "edit" 0.0; + target: "edit_dim"; + target: "content"; + } + program { + name: "edit_stop"; + signal: "edit,stop"; + source: "layout"; + action: STATE_SET "default" 0.0; + target: "edit_dim"; + target: "content"; + } + program { + name: "add_show"; + signal: "add,show"; + source: "layout"; + action: STATE_SET "visible" 0.0; + target: "add_page_button"; + } + program { + name: "add_hide"; + signal: "add,hide"; + source: "layout"; + action: STATE_SET "default" 0.0; + target: "add_page_button"; + } + program + { + name: "add_page_clicked"; + signal: "mouse,clicked,1"; + source: "add_page_button"; + action: SIGNAL_EMIT "add_page_button_clicked" "layout"; + } + } + } +} diff --git a/res/edje/livebox_layout.edc b/res/edje/livebox_layout.edc new file mode 100644 index 0000000..1a3ac96 --- /dev/null +++ b/res/edje/livebox_layout.edc @@ -0,0 +1,176 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "../../inc/conf.h" + +images +{ + image: "../images/btn_delete_nor.png" COMP; + image: "../images/reposition_bg.png" COMP; + image: "../images/reposition_bg_shadow.png" COMP; +} + +collections +{ + group + { + name: "livebox"; + parts + { + part + { + name: "reposition_bg"; + type: IMAGE; + scale: 1; + mouse_events: 0; + repeat_events: 1; + description + { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "livebox";} + rel2{relative: 1.0 1.0; to: "livebox";} + color: LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR 0; + image + { + normal: "../images/reposition_bg.png"; + border: LIVEBOX_REPOSITION_BG_BORDER LIVEBOX_REPOSITION_BG_BORDER LIVEBOX_REPOSITION_BG_BORDER LIVEBOX_REPOSITION_BG_BORDER; + } + } + description + { + state: "visible" 0.0; + inherit: "default" 0.0; + color: LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR LIVEBOX_REPOSITION_BG_COLOR; + } + } + + part + { + name: "livebox"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + description + { + state: "default" 0.0; + visible: 1; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + + part + { + name: "remove_button_rect"; + type: SPACER; + scale: 1; + mouse_events: 1; + description + { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "livebox";} + rel2{relative: 1.0 1.0; to: "livebox";} + align: 0.0 0.0; + aspect: 1.0 1.0; + min: LIVEBOX_REMOVE_LB_BUTTON_SIZE+LIVEBOX_REMOVE_LB_OFFSET_X LIVEBOX_REMOVE_LB_BUTTON_SIZE+LIVEBOX_REMOVE_LB_OFFSET_Y; + max: LIVEBOX_REMOVE_LB_BUTTON_SIZE+LIVEBOX_REMOVE_LB_OFFSET_X LIVEBOX_REMOVE_LB_BUTTON_SIZE+LIVEBOX_REMOVE_LB_OFFSET_Y; + aspect_preference: BOTH; + fixed: 1 1; + + } + } + + part + { + name: "remove_button"; + type: IMAGE; + scale: 1; + mouse_events: 1; + repeat_events: 0; + description + { + state: "default" 0.0; + visible: 0; + rel1{relative: 0.0 0.0; to: "remove_button_rect";} + rel2{relative: 1.0 1.0; to: "remove_button_rect";} + align: 1.0 1.0; + aspect: 1.0 1.0; + min: LIVEBOX_REMOVE_LB_BUTTON_SIZE LIVEBOX_REMOVE_LB_BUTTON_SIZE; + max: LIVEBOX_REMOVE_LB_BUTTON_SIZE LIVEBOX_REMOVE_LB_BUTTON_SIZE; + aspect_preference: BOTH; + fixed: 1 1; + image + { + normal: "../images/btn_delete_nor.png"; + } + } + description + { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + } + } + + programs { + //Remove button + program { + name: "remove_button_show"; + signal: "remove_button,show"; + source: "livebox"; + action: STATE_SET "show" 0.0; + target: "remove_button"; + transition: DECELERATE 0.20; + } + + program { + name: "remove_button_hide"; + signal: "remove_button,hide"; + source: "livebox"; + action: STATE_SET "default" 0.0; + target: "remove_button"; + transition: DECELERATE 0.20; + } + + program { + name: "remove_button_hide_instant"; + signal: "remove_button,hide,instant"; + source: "livebox"; + action: STATE_SET "default" 0.0; + target: "remove_button"; + } + + + program { + name: "reposition_bg_show"; + signal: "reposition_bg,show"; + source: "livebox"; + action: STATE_SET "visible" 0.0; + target: "reposition_bg"; + } + + program { + name: "reposition_bg_hide"; + signal: "reposition_bg,hide"; + source: "livebox"; + action: STATE_SET "default" 0.0; + target: "reposition_bg"; + } + } + } +} diff --git a/res/edje/page_edit.edc b/res/edje/page_edit.edc new file mode 100644 index 0000000..6d010dd --- /dev/null +++ b/res/edje/page_edit.edc @@ -0,0 +1,292 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "page_edit_util.edc" +#include "../../inc/conf.h" + +images { + image: "../images/btn_delete_nor.png" COMP; + image: "../images/btn_delete_press.png" COMP; + image: "../images/edit_all_page_drag.png" COMP; + image: "../images/edit_all_page_bg.png" COMP; + image: "../images/edit_all_page_create.png" COMP; +} + +collections +{ + group + { + name: GROUP_ALL_PAGES; + + parts { + part + { + name: "base"; + type: SPACER; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0;} + rel2 { relative: 1.0 1.0;} + } + } + part + { + name: "bg"; + type: SWALLOW; + description + { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to:"base";} + rel2 { relative: 1.0 1.0; to:"base";} + } + } + part + { + name: PART_LAYOUT_CONTENT; + type: SWALLOW; //gengrid swallow + description + { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to:"base";} + rel2 { relative: 1.0 1.0; to:"base";} + } + } + } + } + + group { + name: GROUP_GRID_ITEM; + + parts { + part { + name: "base"; + type: SPACER; + description { + state: "default" 0.0; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 1.0;} + } + } + + part { + name: PART_GRID_ITEM_CONTENT; + type: SWALLOW; + description { + state: "default" 0.0; + rel1 {relative: 0.0 0.0; to: "base";} + rel2 {relative: 1.0 1.0; to: "base";} + } + } + } + } + + group + { + name: GROUP_THUMB; + parts + { + part + { + name: "base"; + type: SPACER; + description + { + state: "default" 0.0; + rel1 {relative: 0.0 0.0;} + rel2 {relative: 1.0 1.0;} + } + } + part + { + name: "bg"; + type: IMAGE; + description + { + state: "default" 0.0; + rel1 {relative: 0.0 0.0; to: PART_THUMB_CONTENT;} + rel2 {relative: 1.0 1.0; to: PART_THUMB_CONTENT;} + image { + normal: "../images/edit_all_page_bg.png"; + } + } + description + { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description + { + state: "reposition" 0.0; + inherit: "default"; + rel1 {relative: -0.05 -0.05;} + rel2 {relative: 1.05 1.05;} + visible: 1; + image + { + normal: "../images/edit_all_page_drag.png"; + } + } + } + part { + name: "add_bg"; + type: IMAGE; + description { + state: "default" 0.0; + rel1 {relative: 0.34 0.34; to: "bg";} + rel2 {relative: 0.67 0.67; to: "bg";} + visible: 0; + image { + normal : "../images/edit_all_page_create.png"; + } + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part + { + name: PART_THUMB_CONTENT; + type: SWALLOW; + description + { + state: "default" 0.0; + rel1 {relative: 0.0 0.0; to: "base";} + rel2 {relative: 1.0 1.0; to: "base";} + } + } + part { + name: "remove_button"; + type: IMAGE; + description { + state: "default" 0.0; + rel1{relative: BADGE_REL1_X BADGE_REL1_Y; to: "base";} + rel2{relative: BADGE_REL2_X BADGE_REL2_Y; to: "base";} + visible: 1; + aspect: 0.0 0.0; + aspect_preference: BOTH; + fixed: 1 1; + image { + normal: "../images/btn_delete_nor.png"; + } + } + description { + state: "pressed"; + inherit: "default" 0.0; + image { + normal: "../images/btn_delete_press.png"; + } + } + description { + state: "hidden" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + visible: 0; + } + } + } + programs + { + program + { + name: "bg_hide"; + signal: SIGNAL_BG_HIDE; + source: "layout"; + action: STATE_SET "hide" 0.0; + target: "bg"; + } + program + { + name: "bg_reposition"; + signal: SIGNAL_BG_REPOSITON; + source: "layout"; + action: STATE_SET "reposition" 0.0; + target: "bg"; + transition: DECELERATE 0.2; + } + program + { + name: "bg_normal"; + signal: SIGNAL_BG_NORMAL; + source: "layout"; + action: STATE_SET "default" 0.0; + target: "bg"; + transition: DECELERATE 0.2; + } + program { + name: "thumbnail_clicked"; + signal: "mouse,clicked,1"; + source: "page_thumbnail"; + action: SIGNAL_EMIT SIGNAL_THUMBNAIL_CLICKED SIGNAL_SOURCE; + } + program { + name: "add_icon_show"; + signal: SIGNAL_ADD_ICON_SHOW; + source: "layout"; + action: STATE_SET "visible" 0.0; + target: "add_bg"; + } + program { + name: "remove_button_clicked"; + signal: "mouse,clicked,1"; + source: "remove_button"; + action: SIGNAL_EMIT SIGNAL_REMOVE_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "remove_button_show"; + signal: SIGNAL_REMOVE_BUTTON_SHOW; + source: "layout"; + action: STATE_SET "default" 0.0; + target: "remove_button"; + transition: DECELERATE 0.20; + } + program { + name: "remove_button_hide"; + signal: SIGNAL_REMOVE_BUTTON_HIDE; + source: "layout"; + action: STATE_SET "hidden" 0.0; + target: "remove_button"; + transition: DECELERATE 0.20; + } + program { + name: "remove_button_hide_instant"; + signal: SIGNAL_REMOVE_BUTTON_HIDE_INSTANT; + source: "layout"; + action: STATE_SET "hidden" 0.0; + target: "remove_button"; + } + program { + name: "remove_button_mouse_down"; + signal: "mouse,down,1"; + source: "remove_button"; + action: STATE_SET "pressed" 0.0; + target: "remove_button"; + transition: DECELERATE 0.20; + } + program { + name: "remove_button_mouse_up"; + signal: "mouse,up,1"; + source: "remove_button"; + action: STATE_SET "default" 0.0; + target: "remove_button"; + transition: DECELERATE 0.20; + } + } + } +} + diff --git a/res/edje/page_edit_util.edc b/res/edje/page_edit_util.edc new file mode 100644 index 0000000..85c6821 --- /dev/null +++ b/res/edje/page_edit_util.edc @@ -0,0 +1,108 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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. + */ + +#define PAGE_RECT(part_name, row_def, col_def) \ +part { \ + name: "item_"part_name"_rect"; \ + type: RECT; \ + description { \ + state: "default" 0.0; \ + color: 0 0 0 0; \ + rel1 {relative: ((col_def+1)*ROW_SHIFT) ((row_def+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \ + rel2 {relative: ((col_def+1)*ROW_SHIFT) ((row_def+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \ + min: THUMBNAIL_WIDTH THUMBNAIL_HEIGHT; \ + max: THUMBNAIL_WIDTH THUMBNAIL_HEIGHT; \ + } \ +} \ + + +#define PAGE_SWALLOW(part_name, row_def, col_def, row_prev, col_prev, row_next, col_next) \ +part { \ + name: "item_"part_name"_swallow"; \ + type: SWALLOW; \ + scale: 1; \ + mouse_events: 1;\ + description { \ + state: "default" 0.0 ;\ + color: 0 0 0 0; \ + rel1 {relative: ((col_def+1)*ROW_SHIFT) ((row_def+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \ + rel2 {relative: ((col_def+1)*ROW_SHIFT) ((row_def+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \ + fixed: 1 1; \ + min: THUMBNAIL_WIDTH THUMBNAIL_HEIGHT; \ + max: THUMBNAIL_WIDTH THUMBNAIL_HEIGHT; \ + } \ + description { \ + state: "prev" 0.0 ;\ + color: 255 0 0 150; \ + rel1 {relative: ((col_prev+1)*ROW_SHIFT) ((row_prev+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \ + rel2 {relative: ((col_prev+1)*ROW_SHIFT) ((row_prev+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \ + fixed: 1 1; \ + } \ + description { \ + state: "next" 0.0 ;\ + color: 255 0 0 150; \ + rel1 {relative: ((col_next+1)*ROW_SHIFT) ((row_next+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \ + rel2 {relative: ((col_next+1)*ROW_SHIFT) ((row_next+1)*COL_SHIFT); to: "container"; offset: THUMBNAIL_OFFSET_X THUMBNAIL_OFFSET_Y;} \ + fixed: 1 1; \ + } \ +} \ + +#define PAGE_PROGRAM(part_name) \ +program { \ + name: "page_grid_"part_name"_next"; \ + signal: "set_next"; \ + source: "item_"part_name"_swallow"; \ + action: STATE_SET "next" 0.0;\ + target: "item_"part_name"_swallow"; \ + transition: DECELERATE 0.20; \ + after: "page_grid_ani_done_next_"part_name; \ +} \ +program { \ + name: "page_grid_"part_name"_prev"; \ + signal: "set_prev"; \ + source: "item_"part_name"_swallow"; \ + action: STATE_SET "prev" 0.0;\ + target: "item_"part_name"_swallow"; \ + transition: DECELERATE 0.20; \ + after: "page_grid_ani_done_prev_"part_name; \ +} \ +program { \ + name: "page_grid_"part_name"_ani_"; \ + signal: "set_def"; \ + source: "item_"part_name"_swallow"; \ + action: STATE_SET "default" 0.0; \ + target: "item_"part_name"_swallow"; \ +} \ +program { \ + name: "page_grid_ani_done_prev_"part_name; \ + action: SIGNAL_EMIT "ani,done,left" "item_"part_name"_swallow"; \ +} \ +program { \ + name: "page_grid_ani_done_next_"part_name; \ + action: SIGNAL_EMIT "ani,done,right" "item_"part_name"_swallow"; \ +} \ +program { \ + name: "program_down_app_grid_"part_name; \ + source: "item_"part_name"_swallow";\ + signal: "mouse,down,1";\ + action: SIGNAL_EMIT "down,part" "item_"part_name"_swallow";\ +}\ +program { \ + name: "program_up_app_grid_"part_name; \ + source: "item_"part_name"_swallow";\ + signal: "mouse,up,1";\ + action: SIGNAL_EMIT "up,part" "item_"part_name"_swallow";\ +}\ \ No newline at end of file diff --git a/res/images/CMakeLists.txt b/res/images/CMakeLists.txt new file mode 100644 index 0000000..82aa7a7 --- /dev/null +++ b/res/images/CMakeLists.txt @@ -0,0 +1,48 @@ +INSTALL(FILES + app_icon_downloadable.png + app_press_117.png + btn_add_nor.png + btn_add_press.png + btn_delete_nor.png + btn_delete_press.png + btn_input_clear.png + default_bg.png + edit_all_page_add.png + edit_all_page_add_press.png + edit_all_page_bg.png + folder_appicon_bg_impossible.png + folder_appicon_bg.png + folder_appicon_bg_possible.png + folder_appicon_empty_bg.png + folder_popup_bg.png + home_button_bg.png + home_icon_home.png + home_icon_menu.png + home_icon_reorder.png + default.png + core_page_indicator_on.png + core_page_indicator_on_horizontal.png + edit_all_page_create.png + edit_page.png +DESTINATION + ${IMAGEDIR} +) + +INSTALL(FILES + livebox/preview_alarm.png + livebox/preview_contact_4x2.png + livebox/preview_dual_clock.png + livebox/preview_gallery.png + livebox/preview_music.png + livebox/preview_weather_4x2.png + livebox/preview_calendar.png + livebox/preview_contact_4x4.png + livebox/preview_FMradio.png + livebox/preview_internet_4x4.png + livebox/preview_singel_clock.png + livebox/preview_weather_4x4.png +DESTINATION + "${IMAGEDIR}/livebox" +) + +# End of a file \ No newline at end of file diff --git a/res/images/all_apps_icon_menu.png b/res/images/all_apps_icon_menu.png new file mode 100644 index 0000000..a99d202 Binary files /dev/null and b/res/images/all_apps_icon_menu.png differ diff --git a/res/images/app_icon_checkbox_bg.png b/res/images/app_icon_checkbox_bg.png new file mode 100755 index 0000000..f31b150 Binary files /dev/null and b/res/images/app_icon_checkbox_bg.png differ diff --git a/res/images/app_icon_checkbox_border.png b/res/images/app_icon_checkbox_border.png new file mode 100755 index 0000000..1a78b38 Binary files /dev/null and b/res/images/app_icon_checkbox_border.png differ diff --git a/res/images/app_icon_checkbox_on.png b/res/images/app_icon_checkbox_on.png new file mode 100755 index 0000000..1ad477a Binary files /dev/null and b/res/images/app_icon_checkbox_on.png differ diff --git a/res/images/app_icon_downloadable.png b/res/images/app_icon_downloadable.png new file mode 100644 index 0000000..d9ebb60 Binary files /dev/null and b/res/images/app_icon_downloadable.png differ diff --git a/res/images/app_press_117.png b/res/images/app_press_117.png new file mode 100644 index 0000000..5acae9d Binary files /dev/null and b/res/images/app_press_117.png differ diff --git a/res/images/btn_add_nor.png b/res/images/btn_add_nor.png new file mode 100644 index 0000000..b48a941 Binary files /dev/null and b/res/images/btn_add_nor.png differ diff --git a/res/images/btn_add_press.png b/res/images/btn_add_press.png new file mode 100644 index 0000000..7849bc4 Binary files /dev/null and b/res/images/btn_add_press.png differ diff --git a/res/images/btn_delete_nor.png b/res/images/btn_delete_nor.png new file mode 100644 index 0000000..f18f449 Binary files /dev/null and b/res/images/btn_delete_nor.png differ diff --git a/res/images/btn_delete_press.png b/res/images/btn_delete_press.png new file mode 100644 index 0000000..2132f4e Binary files /dev/null and b/res/images/btn_delete_press.png differ diff --git a/res/images/btn_input_clear.png b/res/images/btn_input_clear.png new file mode 100755 index 0000000..3ac0fa1 Binary files /dev/null and b/res/images/btn_input_clear.png differ diff --git a/res/images/core_page_indicator_on.png b/res/images/core_page_indicator_on.png new file mode 100755 index 0000000..d82d6ae Binary files /dev/null and b/res/images/core_page_indicator_on.png differ diff --git a/res/images/core_page_indicator_on_horizontal.png b/res/images/core_page_indicator_on_horizontal.png new file mode 100755 index 0000000..c36cc8b Binary files /dev/null and b/res/images/core_page_indicator_on_horizontal.png differ diff --git a/res/images/default.png b/res/images/default.png new file mode 100644 index 0000000..983c883 Binary files /dev/null and b/res/images/default.png differ diff --git a/res/images/default_bg.png b/res/images/default_bg.png new file mode 100644 index 0000000..3d05599 Binary files /dev/null and b/res/images/default_bg.png differ diff --git a/res/images/edit_all_page_add.png b/res/images/edit_all_page_add.png new file mode 100644 index 0000000..b95b84d Binary files /dev/null and b/res/images/edit_all_page_add.png differ diff --git a/res/images/edit_all_page_add_press.png b/res/images/edit_all_page_add_press.png new file mode 100644 index 0000000..512b74c Binary files /dev/null and b/res/images/edit_all_page_add_press.png differ diff --git a/res/images/edit_all_page_bg.png b/res/images/edit_all_page_bg.png new file mode 100644 index 0000000..a509b51 Binary files /dev/null and b/res/images/edit_all_page_bg.png differ diff --git a/res/images/edit_all_page_create.png b/res/images/edit_all_page_create.png new file mode 100755 index 0000000..e6fa480 Binary files /dev/null and b/res/images/edit_all_page_create.png differ diff --git a/res/images/edit_all_page_drag.png b/res/images/edit_all_page_drag.png new file mode 100755 index 0000000..cd658dd Binary files /dev/null and b/res/images/edit_all_page_drag.png differ diff --git a/res/images/edit_page.png b/res/images/edit_page.png new file mode 100644 index 0000000..40ed9dd Binary files /dev/null and b/res/images/edit_page.png differ diff --git a/res/images/edit_page_current.png b/res/images/edit_page_current.png new file mode 100644 index 0000000..7f73d96 Binary files /dev/null and b/res/images/edit_page_current.png differ diff --git a/res/images/folder_appicon_bg.png b/res/images/folder_appicon_bg.png new file mode 100644 index 0000000..637f38a Binary files /dev/null and b/res/images/folder_appicon_bg.png differ diff --git a/res/images/folder_appicon_bg_impossible.png b/res/images/folder_appicon_bg_impossible.png new file mode 100644 index 0000000..99344ad Binary files /dev/null and b/res/images/folder_appicon_bg_impossible.png differ diff --git a/res/images/folder_appicon_bg_possible.png b/res/images/folder_appicon_bg_possible.png new file mode 100644 index 0000000..d61a603 Binary files /dev/null and b/res/images/folder_appicon_bg_possible.png differ diff --git a/res/images/folder_appicon_empty_bg.png b/res/images/folder_appicon_empty_bg.png new file mode 100644 index 0000000..5a5940b Binary files /dev/null and b/res/images/folder_appicon_empty_bg.png differ diff --git a/res/images/folder_popup_bg.png b/res/images/folder_popup_bg.png new file mode 100644 index 0000000..6a1c594 Binary files /dev/null and b/res/images/folder_popup_bg.png differ diff --git a/res/images/frame.png b/res/images/frame.png new file mode 100644 index 0000000..1f8c2b3 Binary files /dev/null and b/res/images/frame.png differ diff --git a/res/images/home_button_bg.png b/res/images/home_button_bg.png new file mode 100644 index 0000000..2d6e811 Binary files /dev/null and b/res/images/home_button_bg.png differ diff --git a/res/images/home_edit_bg.#.png b/res/images/home_edit_bg.#.png new file mode 100644 index 0000000..3d7bace Binary files /dev/null and b/res/images/home_edit_bg.#.png differ diff --git a/res/images/home_icon_home.png b/res/images/home_icon_home.png new file mode 100644 index 0000000..c519e8d Binary files /dev/null and b/res/images/home_icon_home.png differ diff --git a/res/images/home_icon_menu.png b/res/images/home_icon_menu.png new file mode 100644 index 0000000..268f047 Binary files /dev/null and b/res/images/home_icon_menu.png differ diff --git a/res/images/home_icon_reorder.png b/res/images/home_icon_reorder.png new file mode 100644 index 0000000..323c15a Binary files /dev/null and b/res/images/home_icon_reorder.png differ diff --git a/res/images/homescreen-efl.png b/res/images/homescreen-efl.png new file mode 100644 index 0000000..9765b1b Binary files /dev/null and b/res/images/homescreen-efl.png differ diff --git a/res/images/icon_badge_container.png b/res/images/icon_badge_container.png new file mode 100644 index 0000000..ac4affc Binary files /dev/null and b/res/images/icon_badge_container.png differ diff --git a/res/images/livebox/preview_FMradio.png b/res/images/livebox/preview_FMradio.png new file mode 100644 index 0000000..3f8c720 Binary files /dev/null and b/res/images/livebox/preview_FMradio.png differ diff --git a/res/images/livebox/preview_alarm.png b/res/images/livebox/preview_alarm.png new file mode 100644 index 0000000..f075eb7 Binary files /dev/null and b/res/images/livebox/preview_alarm.png differ diff --git a/res/images/livebox/preview_calendar.png b/res/images/livebox/preview_calendar.png new file mode 100644 index 0000000..15076ea Binary files /dev/null and b/res/images/livebox/preview_calendar.png differ diff --git a/res/images/livebox/preview_contact_4x2.png b/res/images/livebox/preview_contact_4x2.png new file mode 100644 index 0000000..4a60575 Binary files /dev/null and b/res/images/livebox/preview_contact_4x2.png differ diff --git a/res/images/livebox/preview_contact_4x4.png b/res/images/livebox/preview_contact_4x4.png new file mode 100644 index 0000000..4b07f8a Binary files /dev/null and b/res/images/livebox/preview_contact_4x4.png differ diff --git a/res/images/livebox/preview_dual_clock.png b/res/images/livebox/preview_dual_clock.png new file mode 100644 index 0000000..1d0f088 Binary files /dev/null and b/res/images/livebox/preview_dual_clock.png differ diff --git a/res/images/livebox/preview_gallery.png b/res/images/livebox/preview_gallery.png new file mode 100644 index 0000000..5d7d2c8 Binary files /dev/null and b/res/images/livebox/preview_gallery.png differ diff --git a/res/images/livebox/preview_internet_4x4.png b/res/images/livebox/preview_internet_4x4.png new file mode 100644 index 0000000..99423d5 Binary files /dev/null and b/res/images/livebox/preview_internet_4x4.png differ diff --git a/res/images/livebox/preview_music.png b/res/images/livebox/preview_music.png new file mode 100644 index 0000000..e0168e8 Binary files /dev/null and b/res/images/livebox/preview_music.png differ diff --git a/res/images/livebox/preview_singel_clock.png b/res/images/livebox/preview_singel_clock.png new file mode 100644 index 0000000..c7be20f Binary files /dev/null and b/res/images/livebox/preview_singel_clock.png differ diff --git a/res/images/livebox/preview_weather_4x2.png b/res/images/livebox/preview_weather_4x2.png new file mode 100644 index 0000000..3aff3a1 Binary files /dev/null and b/res/images/livebox/preview_weather_4x2.png differ diff --git a/res/images/livebox/preview_weather_4x4.png b/res/images/livebox/preview_weather_4x4.png new file mode 100644 index 0000000..5d7804b Binary files /dev/null and b/res/images/livebox/preview_weather_4x4.png differ diff --git a/res/images/reposition_bg.png b/res/images/reposition_bg.png new file mode 100644 index 0000000..798a2b1 Binary files /dev/null and b/res/images/reposition_bg.png differ diff --git a/res/images/reposition_bg_shadow.png b/res/images/reposition_bg_shadow.png new file mode 100644 index 0000000..526a90d Binary files /dev/null and b/res/images/reposition_bg_shadow.png differ diff --git a/res/images/resize_button.png b/res/images/resize_button.png new file mode 100644 index 0000000..77a7dea Binary files /dev/null and b/res/images/resize_button.png differ diff --git a/res/po/CMakeLists.txt b/res/po/CMakeLists.txt new file mode 100755 index 0000000..8df7512 --- /dev/null +++ b/res/po/CMakeLists.txt @@ -0,0 +1,27 @@ +# for i18n + +SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en_PH.po en.po en_US.po + es_ES.po es_US.po et.po eu.po fi.po fr_CA.po fr.po ga.po gl.po hi.po hr.po + hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po + nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po + tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po) +SET(MSGFMT "/usr/bin/msgfmt") + +MESSAGE(STATUS "po files ---") +FOREACH(pofile ${POFILES}) + SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile}) + MESSAGE(STATUS " ${pofile}") + GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE) + GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE) + SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo) + ADD_CUSTOM_COMMAND( + OUTPUT ${moFile} + COMMAND ${MSGFMT} -o ${moFile} ${absPofile} + DEPENDS ${absPofile} + ) + INSTALL(FILES ${moFile} + DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo) + SET(moFiles ${moFiles} ${moFile}) +ENDFOREACH(pofile) + +ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles}) diff --git a/res/po/ar.po b/res/po/ar.po new file mode 100755 index 0000000..315eae1 --- /dev/null +++ b/res/po/ar.po @@ -0,0 +1,402 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "إلغاء" + +msgid "IDS_CAM_SK_OK" +msgstr "موافق" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "إنشاء مجلد" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "عرض" + +msgid "IDS_COM_SK_OPEN" +msgstr "فتح" + +msgid "IDS_MB_SK_EDIT" +msgstr "تعديل" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "إضافة" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "مسح المجلد" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "أدخل اسم المجلد." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "إنشاء" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "جاري التحميل ..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "التطبيقات" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "الموسيقى" + +msgid "IDS_ST_OPT_BASIC" +msgstr "أساسي" + +msgid "IDS_ST_SK_HIDE" +msgstr "إخفاء" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "مربع التحديد" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "تحديد" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "العنوان" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "إلغاء التحديد" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "إلغاء التثبيت" + +msgid "IDS_AT_BUTTON_CHANGE_VIEW" +msgstr "تغيير العرض" + +msgid "IDS_AT_HEADER_PD_SELECTED" +msgstr "تم تحديد %d" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "حدد تطبيقات للإضافة" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "تحديد تطبيقات لإخفائها" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "تحديد تطبيقات لعرضها" + +msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB" +msgstr "شبكة أبجدية" + +msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB" +msgstr "شبكة قابلة للتخصيص" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "عرض ﻜ" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "لإعادة ترتيب الشاشات، يجب تغيير نوع العرض إلى شبكة قابلة للتخصيص." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "هل تريد إلغاء تثبيت %s؟" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "تطبيقات صغيرة" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "إلغاء تحديد" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "مجلد ‏‫بدون اسم" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "انقر نقرًا مزدوجًا لإغلاق علبة التطبيقات." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "انقر نقرًا مزدوجًا لفتح علبة التطبيقات." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "انقر نقرا مزدوجا للفتح." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "الزر" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "حذف" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "انقر نقرا مزدوجا مع الاستمرار للتحريك." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "انقر نقرا مزدوجا للإغلاق." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "فتح إفلات العرض." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "التطبيقات المفضلة" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "ستتألف الشاشة الرئيسية من عناصر يصل عددها إلى %d يتم تحديدها في الشاشة التالية" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "في التطبيقات المفضلة" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "انقل إلى مجلد %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "يتم نقل %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "لا يوجد محتوى" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "صفحة %1$d من %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "الموقع %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "تم فتح المجلد." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "سيترتب على ذلك حذف المجلد وجميع العناصر التي يشتمل عليه." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "تتعذر إضافة المزيد من التطبيقات. تم الوصول إلى الحد الأقصى لعدد التطبيقات." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "يتعذر تحميل البيانات. انقر لإعادة المحاولة." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "خلفيات" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "تطبيقات" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "حذف" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "إلغاء تفعيل" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "تعليمات" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "الرئيسية" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "المجلة" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "الهاتف" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "إضافة عناصر" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "المجلد" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "إعادة ترتيب الرموز" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "إعادة ترتيب الصفحات" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "تحديد مربع نص" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "تحديد القالب" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "إضافة مربع نص" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "تغيير الخلفية" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "إنشاء مجلد" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "حذف المجلد" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "تطبيقات تم تنزيلها" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "استخراج التطبيقات وحذف المجلد" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "هل تريد إلغاء تفعيل هذا التطبيق؟" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "ستتألّف الصفحة الجديدة من صناديق S Memo والمهام وS Planner الديناميكية" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "ستتألّف الصفحة الجديدة من صناديق Twitter الديناميكية. في الشاشة التالية، حدّد ما يصل إلى %d من يوميات الأشخاص الذين تتابعهم لعرضها على الصفحة الجديدة." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "سيتم حذف هذا المجلد، إلا أنّ التطبيقات الموجودة فيه ستبقى متوفرة على الشاشة الرئيسية. هل تريد حذف هذا المجلد؟" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "فشلت إعادة التحميل. ذاكرة الجهاز ممتلئة." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "الخط بهذا الحجم غير معتمد" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "تتعذر إضافة سطر آخر بسبب تقييد المساحة" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "يوجد عنصر واحد غير مقروء" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "وضع التحرير" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "تم تحديد %d بشكل إجمالي." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "توجد %d إخطارات غير مقروءة‬" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "إطار القائمة المنبثق" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "اسحب بإصبعين لعرض الصفحة التالية." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "عنوان منبثق" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "النص في الإطار المنبثق الأساسي" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "الشاشة الرئيسية" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "تم نقل الصفحة إلى %1$d من %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "الصف%1$d، العمود %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "إضافة صفحة" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "لم يتم اختياره" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "زر الراديو" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "تم التحديد" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "شوكو كوكي" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "جاز هادئ" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "الخط الافتراضي" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "إكليل الجبل" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "جهات الاتصال" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "تم الوصول إلى أقصى عدد من الحروف." + +msgid "IDS_COM_SK_OK" +msgstr "موافق" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "إظهار %d عناصر" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "منظم" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "هلفتيكا نويه" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "انقر نقرا مزدوجا لإغلاق القائمة." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "تخطي" + +msgid "IDS_COM_SK_SELECT" +msgstr "اختيار" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "الإنترنت" + +msgid "IDS_ST_SK_NEXT" +msgstr "التالي" + +msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB" +msgstr "إدارة التطبيقات" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "سيتم إخفاء %d من العناصر." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "سيتم حذف هذه الصفحة وكافة العناصر التي تتضمنها." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "حذف الصفحة" + +msgid "IDS_HS_OPT_DELETE" +msgstr "مسح" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "إظهار التطبيقات المخفية" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "إخفاء التطبيقات" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "عرض التطبيقات التي تم إلغاء تفعيلها" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "يتعذر إلغاء تثبيت %s. سيتم إلغاء تفعيله بدلاً من ذلك." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "سيتم إخفاء عنصر واحد." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "تتعذر إضافة مربع الشاشة الرئيسية هذا إلى الشاشة الرئيسية. ما من مساحة كافية على الشاشة الرئيسية. قم بإزالة بعض مربعات الشاشة الرئيسية وحاول مرة أخرى." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "غير قابل على الإضافة" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "مربعات الشاشة الرئيسية" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "كل الصفحات" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "فارغ" + +msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "فرز العناصر بالترتيب الأبجدي" + +msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "فرز العناصر بالترتيب الأبجدي" + +msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED" +msgstr "سيتم تخزين رموز التطبيقات ومجلداتها بالترتيب الأبجدي. سيتم تجاهل أي عمليات تخصيص قمت بها من قبل." + diff --git a/res/po/az.po b/res/po/az.po new file mode 100755 index 0000000..38405e8 --- /dev/null +++ b/res/po/az.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Ləğv et" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Qovluq yarat" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Göstər" + +msgid "IDS_COM_SK_OPEN" +msgstr "Aç" + +msgid "IDS_MB_SK_EDIT" +msgstr "Redaktə et" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Əlavə" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Qovluğu sil" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Qovluq adını daxil edin." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Yarat" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Yüklənir..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Əlavə vasitələr" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musiqi" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Əsas" + +msgid "IDS_ST_SK_HIDE" +msgstr "Gizlə" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "İşarə xanası" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "İşarələ" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Başlıq" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "İşarəni sil" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Quraşdırılma ləğv edilsin" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Əlv et üç proq seç" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Gizlətmək üçün proqr seç" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Göstərmək üçün proqr seç" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Nə kimi bax" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Səhifələri yenidən sıralamaq üçün siz görünüş növünü fərdiləşdirilən tora dəyişdirməlisiniz." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%s silinsin?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini proqramlar" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Seçimi ləğv et" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Adsız qovluq" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Proqram panelini bağlamaq üçün iki dəfə vurun." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Proqram panelini açmaq üçün iki dəfə vurun." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Açmaq üçün iki dəfə vur." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Düymə" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Sil" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Hərəkət etdirmək üçün iki dəfə vurun və saxlayın." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Bağlamaq üçün iki dəfə vurun." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Enən görünüş açıqdır." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Sevimli proqramlar" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Başlanğıc ekran növbəti ekranda seçilən %d qədər elementdən formalaşdırılmışdır" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Sevimli proqramlarda" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "%s qovluğuna keçin." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Hərəkət edən %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Məzmun yoxdur" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Səhifə %1$d / %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "%d yerləşdir" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Qovluq açıqdır." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Bu, qovluğu və onun məzmununu siləcək." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Əlavə proqramlar əlavə etmək mümkün deyil. Proqramların sayı maksimuma çatıb." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Məlumatları yükləmək mümkün deyil. Yenidən cəhd etmək üçün vurun" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Divar kağızları" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Proqramlar" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Sil" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Q-aktiv et" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Yardım" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Başlanğic" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Jurnal" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Elementlər əlavə et" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Qovluq" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Nişanları yenidən nizamla" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Səhifələri yenidən nizamla" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Mətn xanası seç" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Şablon seçin" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Mətn xanası əlavə et" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Divar kağız. dəyişin" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Qovluq yarat" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Qovluğu sil" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Yüklənmiş proqramlar" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Proq ixrac et və qovluğu sil" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Bu proqram qeyri-aktiv edilsin?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Yeni səhifə S Planner, Tapşırıqlar və S Memo Dynamic Box funksiyalarından ibarət olacaqdır" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Yeni səhifə Twitter Dynamic Box-dan ibarət olacaqdır. Yeni səhifədə təsvir edilməsi üçün növbəti ekranda izlədiyiniz insanların %d-qədər fəaliyyət sırasını seçin." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Bu qovluq silinəcək, lakin proqramlar ilk öncə ixrac ediləcək və əsas ekranınızda qalacaq. Bu qovluq silinsin?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Təkrar yükləmək mümkün olmadı. Cihazın yaddaşı doludur." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Şrift bu ölçüdə dəstəklənmir" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Yer məhdudiyyəti səbəbindən əlavə xətt əlavə etmək mümkün olmadı" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 oxunmamış element" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Redaktə rejimi" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Cəmi %d seçilmişdir." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d oxunmamış bildiriş" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menyunun ani pəncərəsi" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Növbəti səhifəyə baxmaq üçün iki barmağınızla sürüşdürün." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Peyda olan başlıq" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Menyunun məzmununda mətn" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Əsas ekran" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Səhifə köçürüldü: %1$d / %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Sıra %1$d, sütun %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Səhifəni əlavə et" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Seçilməyib" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radio düyməsi" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Seçildi" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Susmaya görə şrift" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Adlar" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Simvol sayı maksimuma çatıb." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Ləğv et" + +msgid "IDS_COM_SK_DONE" +msgstr "Bitdi" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d dəfə göstərmə" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Plan" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Menyunu bağlamaq üçün iki dəfə vurun." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Burax" + +msgid "IDS_COM_SK_SELECT" +msgstr "Göndər" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "İnternet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d seçilmişdir" + +msgid "IDS_ST_SK_NEXT" +msgstr "Növbəti" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d element gizlədiləcək." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Bu səhifə və onda olan bütün məzmunlar silinəcək." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Səhifəni sil" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Sil" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Gizli proqramları göstər" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Proqramları gizlət" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Q-aktiv edilmiş proq göstər" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s quraşdırması ləğv edilə bilməz. Əvəzində qeyri-aktiv ediləcək." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 element gizlədiləcək." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Bu Home Box-u əsas ekrana əlavə etmək olmadı. Əsas ekranda kifayət qədər yer yoxdur. Bəzi Home Box-ları silin və yenidən cəhd edin." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Əlavə etmək mümkün deyil" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box-lar" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Bütün səhifələr" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Boş" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box əlavə et" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Sil" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Qovluğu sil" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Qovluq silinəcək. Bu qovluqda olan proqramlar silinməyəcək." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Əl ilə" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Adla (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s quraşdırılması ləğv ediləcək." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Ada görə çeşidlənmiş nişanları yenidən sıralamaq olmur (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "HAZIR" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "LƏĞV ET" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Elementləri çeşidlə" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Elementləri çeşidlə" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Vidjetlər" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Piktoqram əlavə etmək olmadı" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Piktoqram əlavə et" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Əsas ekranda kifayət qədər yer yoxdur. Bəzi vidjetləri silin və yenidən cəhd edin." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Redaktə et" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Redaktə et" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Mövzular" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Proqram quraşdırılmamışdır." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s və onunla bağlı bütün xüsusiyyətlər qeyri-aktiv ediləcək. Onu yenidən aktiv etmək üçün, Parametrlər > Proqram menecerinə daxil olun" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Qovluqdakı proqramların sayı maksimuma (%d) çatdı." + diff --git a/res/po/bg.po b/res/po/bg.po new file mode 100755 index 0000000..826d592 --- /dev/null +++ b/res/po/bg.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Отмени" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Създай папка" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Покажи" + +msgid "IDS_COM_SK_OPEN" +msgstr "Отвори" + +msgid "IDS_MB_SK_EDIT" +msgstr "Редактиране" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Добави" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Изтриване на папка" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Въведете име на папка." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Създай" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Зареждане" + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Приложения" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Музика" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Базово" + +msgid "IDS_ST_SK_HIDE" +msgstr "Скриване" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Поле за отметка" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Сложи отметка" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Заглавие" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Махни отметката" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Деинсталиране" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Изб. прил. за доб." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Изб. прил. за скриване" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Изб. прил. за показване" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Виж като" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "За да промените реда на страниците, трябва да промените типа на изгледа на персонализуема мрежа." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Деинсталиране на %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Мини прилож." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Отмяна на избора" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Папка без име" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Докоснете двукратно, за да затворите областта с приложения." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Докоснете двукратно, за да отворите областта с приложения." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Чукнете двукратно, за да отворите." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Бутон" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Изтриване" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Чукнете двукратно и задръжте, за да преместите." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Чукнете двукратно, за да затворите." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Падащ изглед е отворен." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Любими приложения" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Началният екран ще се формира с до %d елемента, избрани в следващия екран" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "В Предпочитани приложения" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Преместете в папката %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Преместване на %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Няма съдържание" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Страница %1$d от %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Позиция %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Папката е отворена." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Това ще изтрие папката и всички елементи, които тя съдържа." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Не могат да се добавят повече приложения. Достигнат е максималният брой приложения." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Данните не могат да се заредят. Чукнете, за да опитате отново." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Тапети" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Прил." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Изтрий" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Деактивиране" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Помощ" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Начало" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Списание" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Телефон" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Добавяне на елементи" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Папка" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Пренареждане на икони" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Пренареждане на страници" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Изберете текстово поле" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Избор на шаблон" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Доб. на текстово поле" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Смяна на фона" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Създаване на папка" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Изтриване на папка" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Изтеглени приложения" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Извличане прил. и изтр. папка" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Изтривате ли това приложение?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Новата страница ще се състои от Dynamic Box на S Planner, Задачи и S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Новата страница ще се състои от Dynamic Box на Twitter. На следващия екран изберете до %d дневници на хора, които следвате, за да се показват на новата страница." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Тази папка ще се изтрие, но приложенията в нея ще останат налични на началния екран. Изтривате ли тази папка?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Не може да се зареди. Паметта на устройството е пълна." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Шрифтът не се поддържа с този размер." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Не може да се добави допълнителен ред поради ограничение на мястото." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 непрочетен елемент" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Режим Редактиране" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d общо са избрани." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d непрочетени известия" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Изскачащо меню" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Плъзнете с два пръста, за да прегледате следващата страница." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Изскачащо заглавие" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Текст в основната част на изскачащ прозорец" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Начален екран" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Страницата е преместена на %1$d от %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Ред %1$d, колона %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Добавяне на страница" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Не е избрано" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Радио бутон" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Избрани" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Шрифт по подразбиране" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Органайзер" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Достигнат максимален брой знаци." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Отмени" + +msgid "IDS_COM_SK_DONE" +msgstr "Готово" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Показване на %d елемента" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Моят график" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Чукнете двукратно, за да затворите менюто." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Прес." + +msgid "IDS_COM_SK_SELECT" +msgstr "Избери" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Интернет" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d избрани" + +msgid "IDS_ST_SK_NEXT" +msgstr "Следващ" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d елемента ще бъдат скрити." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Тази страница и всички елементи, които съдържа, ще се изтрие." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Изтриване на страница" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Изтриване" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Показване на скрити приложения" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Скриване на приложения" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Показване деактив. приложения" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s не може да се деинсталира. Вместо това ще се деактивира." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 елемент ще бъде скрит." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Тази Домашна кутия не може да се добави към началния екран. Няма достатъчно място на началния екран. Премахнете някои Домашни кутии и опитайте отново." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Не може да се добави" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Домашни кутии" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Всички страници" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Празно" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Добавяне на Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Премаxване" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Премахване на папка" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Папката ще бъде премахната. Приложенията в тази папка няма да бъдат деинсталирани." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Ръчно" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "По име (А-Я)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s ще бъде деинсталирано." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Не може да се пренаредят икони, сортирани по име (А-Я)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ГОТОВО" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ОТКАЗ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Сортиране на елементи" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Сортиране на елементи" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Уиджети" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Не може да се добави уиджет" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Добавяне на уиджет" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Няма достатъчно място на началния екран. Премахнете някои уиджети и опитайте отново." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Редактиране" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Редактиране" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Теми" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Приложението не е инсталирано." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s и всички функции, свързани с него, ще бъдат деактивирани. За да го активирате отново, отидете в Настройки > Мениджър на приложения." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Максималният брой приложения в папка (%d) е достигнат." + diff --git a/res/po/ca.po b/res/po/ca.po new file mode 100755 index 0000000..4fc39df --- /dev/null +++ b/res/po/ca.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_CAM_SK_OK" +msgstr "Acceptar" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Crear carpeta" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Mostrar" + +msgid "IDS_COM_SK_OPEN" +msgstr "Obrir" + +msgid "IDS_MB_SK_EDIT" +msgstr "Editar" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Afegir" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Esborrar carpeta" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introduir nom de carpeta" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Crear" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Carregant..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplicacions" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Música" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Bàsic" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ocultar" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Quadre de verificació" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Marcar" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Títol" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Desmarcar" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstal·lar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Sel ap per afegir" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Sel aplicac per amagar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Selec aplicac per mostrar" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Veure com a" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Per reorganitzar les pàgines, ha de canviar el tipus de vista a una graella personalitzable." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Desinstal·lar %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Anular selecció" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Carpeta sense nom" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Toqui dos cops per tancar la safata d'aplicacions." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Toqui dos cops per obrir la safata d'aplicacions." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Toqui dos cops per obrir." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Botó" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Esborrar" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Toqui dos cops i mantingui tocat per moure." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Toqui dos cops per tancar." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Vista desplegable oberta." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Aplicacions preferides" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "La pantalla d'inici es formarà amb un màxim de %d elements seleccionats a la pàgina següent" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "En Aplicacions preferides" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Moure a la carpeta %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Movent %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Sense contingut" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Pàgina %1$d de %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Col·loqui %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "La carpeta està oberta" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Aquesta acció esborrarà la carpeta i tots els elements que conté" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "No es poden afegir més aplicacions. S'ha assolit el nombre màxim d'aplicacions." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "No es poden carregar les dades. Toqui per tornar-ho a intentar." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fons pantalla" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplic" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Esborr" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Deshabilitar" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Ajuda" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Inici" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Revista" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telèfon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Afegir elements" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Carpeta" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Canvia l'organització de les icones" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Canvia l'organització de les pàgines" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Sel un quadre de text" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Seleccionar plantilla" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Afegir quadre de text" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Canvi fons pantalla" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Crear carpeta" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Esborrar carpeta" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Aplicacions descarregades" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extreure ap i esborrar carpeta" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Deshabilitar aquesta aplicació?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "La pàgina nova constarà del Calendari, Tasques i Dynamic Boxes de S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "La pàgina nova constarà de Dynamic Boxes de Twitter. A la pàgina següent, seleccioni fins a %d cronologies de persones que segueixi perquè es mostrin a la pàgina nova." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Aquesta carpeta s'esborrarà, però primer se n'extrauran les aplicacions, que seguiran disponibles a la pantalla d'inici. Esborrar aquesta carpeta?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Error en recarregar. Memòria del dispositiu plena." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "No s'admet aquesta font en aquesta mida." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "No es pot afegir una línia addicional per restricció d'espai." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 element sense llegir" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Mode d'edició" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d seleccionats en total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notificacions sense llegir" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menú emergent" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Desplaci's amb dos dits per veure la pàgina següent." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Capçalera emergent" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Text al cos del missatge emergent" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Pantalla d'inici" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Pàgina moguda a %1$d de %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Fila %1$d, columna %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Afegir pàgina" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "No seleccionat" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Botó de ràdio" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Seleccionat" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Font predeterminada" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contactes" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "S'ha assolit el nombre màxim de caràcters" + +msgid "IDS_COM_SK_OK" +msgstr "Acceptar" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_COM_SK_DONE" +msgstr "Fet" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Mostrant %d elements" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Planificació" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Toqui dos cops per tancar el menú." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Ometre" + +msgid "IDS_COM_SK_SELECT" +msgstr "Selec." + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d seleccionat" + +msgid "IDS_ST_SK_NEXT" +msgstr "Següent" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "S'ocultaran %d elements." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "S'esborrarà aquesta pàgina i tots els elements que conté." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Esborrar pàgina" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Esborrar" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Mostrar aplicacions ocultes" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ocultar aplicacions" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Mostrar aplicacions deshab" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "No es pot desinstal·lar %s. Es deshabilitarà." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "S'ocultarà 1 element." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "No es pot afegir aquest quadre d'inici a la pantalla d'inici. No hi ha prou espai. Esborri alguns quadres d'inici i torni-ho a intentar." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "No es pot afegir" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Quadres d'inici" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Totes les pàgines" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "En blanc" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Afegir Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Eliminar" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Eliminar carpeta" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "S'eliminarà la carpeta. Les aplicacions de la carpeta no es desinstal·laran." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manualment" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Per nom (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "Es desinstal·larà %s" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "No es poden reorganitzar les icones ordenades per nom (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "REALITZAT" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCEL·LAR" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Ordenar elements" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Ordenar elements" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "No es pot afegir el widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Afegir widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "No hi ha prou espai a la pantalla d'inici. Elimini alguns widgets i torni-ho a intentar." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Editar" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Editar" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temes" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplicació no instal·lada" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "Es deshabilitarà %s i totes les funcions relacionades. Per tornar-ho a habilitar, vagi a Ajustaments > Gestor d'aplicacions." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "S'ha assolit el nombre màxim d'aplicacions a la carpeta (%d)." + diff --git a/res/po/cs.po b/res/po/cs.po new file mode 100755 index 0000000..8d17e6d --- /dev/null +++ b/res/po/cs.po @@ -0,0 +1,402 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Zrušit" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Vytvořit složku" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Zobrazit" + +msgid "IDS_COM_SK_OPEN" +msgstr "Otevřít" + +msgid "IDS_MB_SK_EDIT" +msgstr "Upravit" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Přid." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Odstranit složku" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Zadejte název složky." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Vytv." + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Nahrávám..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplikace" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Hudba" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Základní" + +msgid "IDS_ST_SK_HIDE" +msgstr "Skrýt" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Zaškrtávací políčko" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Zaškrtnout" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Název" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Zrušit zaškrtnutí" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Odinstalovat" + +msgid "IDS_AT_BUTTON_CHANGE_VIEW" +msgstr "Změnit zob." + +msgid "IDS_AT_HEADER_PD_SELECTED" +msgstr "Vybráno: %d" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Vyberte přid. apl." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Vyberte skryté aplikace" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Vyberte zobr. aplikace" + +msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB" +msgstr "Abecední tabulka" + +msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB" +msgstr "Vlastní tabulka" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Zobrazit jako" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Chcete-li změnit uspořádání stránek, musíte změnit typ zobrazení na přizpůsobitelnou tabulku." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Odinstalovat %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini-aplikace" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Zrušit výběr" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Složka bez názvu" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Poklepáním zavřete panel aplikací." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Poklepáním otevřete panel aplikací." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Poklepáním otevřete." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Tlačítko" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Odstranit" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Chcete-li přesunout zaostření, poklepejte na něj a přidržte ho." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Poklepáním zavřete." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Rozevírací zobrazení bylo otevřeno." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Oblíbené aplikace" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Domovská obrazovka bude vytvořena pomocí až %d položek vybraných na následující obrazovce" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "V Oblíbených aplikacích" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Přejděte do složky %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Přesouvání %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Žádný obsah" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Stránka %1$d z %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Pozice %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Složka je otevřená." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Tím se odstraní složka a všechny položky, které obsahuje." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Další aplikace nelze přidat. Bylo dosaženo maximálního počtu aplikací." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Data nelze načíst. Klepnutím opakujte akci." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Pozadí" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplik." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Odstr." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Vypnout" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Nápov." + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Domů" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Časopis" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Přidat položky" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Složka" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Změna uspořádání ikon" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Změna uspořádání stránek" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Vyberte textové pole" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Vyberte šablonu" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Přidat textové pole" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Změnit pozadí" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Vytvořit složku" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Odstranit složku" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Stažené aplikace" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extr. aplikace a odstr. složku" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Vypnout tuto aplikaci?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Nová stránka bude obsahovat Dynamic Boxy pro S plánovač, Úkoly a S Poznámku" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Nová stránka bude obsahovat Dynamic Boxy pro Twitter. Na další obrazovce vyberte max. %d časových os lidí, které sledujete, které se zobrazí na nové stránce." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Složka bude odstraněna, ale aplikace ze složky budou nadále dostupné na domovské obrazovce. Odstranit složku?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Nové načtení se nezdařilo. Paměť zařízení je plná." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Písmo není v této velikosti podporováno." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Není možné přidat další řádek z důvodu omezení místa." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 nepřečtená položka" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Režim úprav" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Celkem vybráno %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d nepřečtených oznámení" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Místní menu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Přejetím dvěma prsty zobrazíte další stránku." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Záhlaví kontextového okna" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Text v kontextovém okně" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Domovská obrazovka" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Stránka byla přesunuta na %1$d z %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Řádek %1$d, sloupec %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Přidat stránku" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Nevybráno" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Přepínač" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Vybráno" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Výchozí písmo" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontakty" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Bylo dosaženo maximálního počtu znaků." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Zobrazení %d položek" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Plán" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Poklepáním zavřete menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Přesk." + +msgid "IDS_COM_SK_SELECT" +msgstr "Vybrat" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_ST_SK_NEXT" +msgstr "Další" + +msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB" +msgstr "Správa aplikací" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d položek bude skryto." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Tato stránka a všechny položky, které obsahuje, budou odstraněny." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Odstranit stránku" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Odstranit" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Zobrazit skryté aplikace" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Skrýt aplikace" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Zobrazit vypnuté aplikace" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s nelze odinstalovat. Místo toho bude zakázána." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Bude skryta 1 položka." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Tento Home Box nelze přidat na domovskou obrazovku. Na domovské obrazovce není dostatek volného místa. Odstraňte některé Home Boxy a opakujte akci." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Nelze přidat" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxy" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Všechny stránky" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Prázdné" + +msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "Seřadit položky abecedně" + +msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "Seřadit položky abecedně" + +msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED" +msgstr "Ikony aplikací a složky budou upořádány v abecedním pořadí. Veškeré provedené vlastní úpravy budou zrušeny." + diff --git a/res/po/da.po b/res/po/da.po new file mode 100755 index 0000000..42c9efd --- /dev/null +++ b/res/po/da.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Annullér" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Opret mappe" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Vis" + +msgid "IDS_COM_SK_OPEN" +msgstr "Åbn" + +msgid "IDS_MB_SK_EDIT" +msgstr "Redigér" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Tilføj" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Slet mappe" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Angiv mappenavn" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Opret" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Indlæser data ..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Applikationer" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musik" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Grundlæggende" + +msgid "IDS_ST_SK_HIDE" +msgstr "Skjul" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Afkrydsningsfelt" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Markér" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Titel" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Fjern markering" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Afinstallér" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Vælg app at tilf." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Vælg apps at skjule" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Vælg apps at vise" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Vis som" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "For at omorganisere sider skal du ændre visningstypen til et brugerdefinerbart gitter." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Afinstallér %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini-apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Fjern markering" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Mappe uden navn" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Dobbelttryk for at lukke app-bakken." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Dobbelttryk for at åbne app-bakken." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Dobbelttryk for at åbne." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Tast" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Slet" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Dobbelttap og hold nede for at flytte." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Dobbelttryk for at lukke." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop-visning åben." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Favoritapps" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Startskærmen dannes med op til %d elementer valgt på næste skærm." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "I Favoritapplikationer" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Flyt til mappen %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Flytter %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Intet indhold" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Side %1$d af %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Position %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Mappen er åben." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Dette vil slette mappen og alle elementer, den indeholder." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Kan ikke tilføje flere apps. Det maksimale antal apps er nået." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Kan ikke indlæse data. Tryk for at prøve igen." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Baggrunde" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Apps" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Slet" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Deaktivér" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Hjælp" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Hjem" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Tidsskr." + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Tilføj elementer" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Mappe" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Omorganiser ikoner" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Omorganiser sider" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Vælg et tekstfelt" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Vælg skabelon" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Tilføj tekstboks" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Skift baggrund" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Opret mappe" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Slet mappe" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Downloadede apps" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Pak apps ud, og slet mappen" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Deaktivér denne applikation?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Den nye side vil bestå af S Planner, Opgaver og S Memo Dynamic Box." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Den nye side vil bestå af Twitter Dynamic Boxes. På det næste skærmbillede skal du vælge op til %d tidslinjer for personer, du følger, for at få vist den nye side." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Denne mappe bliver slettet, men applikationerne i mappen vil fortsat være tilgængelige på din startskærm. Vil du slette denne mappe?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Kunne ikke genindlæse. Enhedshukommelsen fuld." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Skrifttype understøttes ikke i denne størrelse." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Kunne ikke tilføje ekstra linje på grund af pladsbegrænsning." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 ulæst element" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Redigeringstilstand" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d valgt i alt." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d ulæste meddelelser" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Pop op-menu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Stryg med to fingre for at se næste side." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Pop op-overskrift" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Brødtekst i pop op-vindue" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Startskærm" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Side flyttet til %1$d af %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Række %1$d, kolonne %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Tilføj side" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Ikke valgt" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radioknap" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Valgt" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Standardskrifttype" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontakter" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Det maksimale antal tegn er nået." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Annullér" + +msgid "IDS_COM_SK_DONE" +msgstr "Udført" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Viser %d elementer" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Tidsplan" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Dobbelttryk for at lukke menuen." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Næste" + +msgid "IDS_COM_SK_SELECT" +msgstr "Vælg" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d valgt" + +msgid "IDS_ST_SK_NEXT" +msgstr "Næste" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d elementer vil blive skjult." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Denne side, og alle de elementer den indeholder, vil blive slettet." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Slet side" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Slet" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Vis skjulte applikationer" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Skjul applikationer" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Vis deaktiverede applikationer" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s kan ikke afinstalleres. Den deaktiveres i stedet." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 element skjules." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Kan ikke føje denne Home Box til startskærmen. Der er ikke nok plads på startskærmen. Fjern nogle Home Boxes, og prøv igen." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Der kan ikke tilføjes" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Alle sider" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Tom" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Tilføj Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Fjern" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Slet mappe" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Mappe vil blive fjernet. Applikationer i denne mappe vil blive afinstalleret." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuelt" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Efter navn (A-Å)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s bliver afinstalleret." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Kan ikke omarrangere ikoner, som er sorteret efter navn (A-Å)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "UDFØRT" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULLER" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sorter elementer" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sorter elementer" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Kan ikke tilføje widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Tilføj widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Der er ikke tilstrækkelig plads på startskærmen. Fjern nogle widgets, og prøv igen." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Redigér" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Redigér" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temaer" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Program ikke installeret." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s og alle funktioner knyttet hertil vil blive deaktiveret. For at aktivere det igen skal du gå til Indstillinger > Applikationsmanager." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Det maksimale antal applikationer i mappen er blevet nået (%d)." + diff --git a/res/po/de.po b/res/po/de.po new file mode 100755 index 0000000..732caf7 --- /dev/null +++ b/res/po/de.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Abbrechen" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Ordner erstellen" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Anzeigen" + +msgid "IDS_COM_SK_OPEN" +msgstr "Öffnen" + +msgid "IDS_MB_SK_EDIT" +msgstr "Bearbeiten" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Hzfg." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Ordner löschen" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Ordnernamen eingeben" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Erstellen" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Ladevorgang läuft" + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Anwendungen" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musik" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Einfach" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ausblenden" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Kontrollkästchen" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Markieren" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Titel" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Markierung aufheben" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Deinstallieren" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Apps z. Hzfg. wäh." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Auszubl. Apps auswählen" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Einzubl. Apps auswählen" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Anzeigen als" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Sie müssen die Ansicht auf „Anpassbares Raster“ umstellen, um die Seiten neu anzuordnen." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%s deinstallieren?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini-Apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Deaktivieren" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Unbenannter Ordner" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Zweimal tippen, um das App-Fach zu schließen." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Zweimal tippen, um das App-Fach zu öffnen." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Zum Öffnen zweimal tippen." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Taste" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Löschen" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Zweimal tippen und halten, um zu verschieben." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Tippen Sie zum Schließen zweimal." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Ablageansicht geöffnet." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Bevorzugte Apps" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Der Startbildschirm wird aus bis zu %d Elementen gebildet, die im nächsten Bildschirm ausgewählt werden." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "In bevorzugten Anwendungen" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "In der Ordner „%s“ verschieben." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%s verschieben" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Kein Inhalt" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Seite %1$d von %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Position %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Der Ordner ist geöffnet." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Hierdurch werden der Ordner und alle darin enthaltenen Elemente gelöscht." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Hinzufügen von weiteren Elementen nicht möglich. Maximale Anzahl von Apps erreicht." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Daten konnten nicht geladen werden. Für erneuten Versuch tippen" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Hintergrund" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Menü" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Lösch." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Deaktivieren" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Hilfe" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Home" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazine" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Elemente hinzufügen" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Ordner" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Neuanordnen von Symbolen" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Neuanordnen von Seiten" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Textfeld auswählen" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Vorlage auswählen" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Textfeld hinzufügen" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Hintergrund ändern" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Ordner erstellen" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Ordner löschen" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Heruntergeladene Apps" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Apps extr. und Ordner löschen" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Diese Anwendung deaktivieren?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Die neue Seite besteht aus S Planner, Aufgaben und Dynamic Boxes für S Memo." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Die neue Seite besteht aus Dynamic Boxes für Twitter. Wählen Sie auf dem nächsten Bildschirm bis zu %d Zeitleisten von Personen aus, die auf der nächsten Seite angezeigt werden sollen." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Dieser Ordner wird gelöscht, die darin befindlichen Anwendungen bleiben jedoch auf dem Startbildschirm verfügbar. Diesen Ordner löschen?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Fehler beim erneuten Laden. Gerätespeicher voll." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Die Schrift wird in dieser Größe nicht unterstützt." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Aus Platzgründen kann keine zusätzliche Zeile hinzugefügt werden." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 ungelesenes Element" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Bearbeitungsmodus" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Insgesamt %d ausgewählt." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d ungelesene Benachrichtigungen" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menü-Pop-up" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Mit zwei Fingern streichen, um die nächste Seite anzuzeigen." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Pop-up-Kopfzeile" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Text innerhalb eines Popup" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Startbildschirm" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Seite zu %1$d von %2$d verschoben." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Zeile%1$d, Spalte %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Seite hinzufügen" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Nicht ausgewählt" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Optionsfeld" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Ausgewählt" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Schoko-Cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Standardschriftart" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontakte" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Maximal zulässige Zeichenanzahl erreicht." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Abbrechen" + +msgid "IDS_COM_SK_DONE" +msgstr "Fertig" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d Elemente werden angezeigt." + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Termine" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Zweimal tippen, um das Menü zu schließen." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Überspr." + +msgid "IDS_COM_SK_SELECT" +msgstr "Auswählen" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d ausgewählt." + +msgid "IDS_ST_SK_NEXT" +msgstr "Weiter" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d Elemente werden ausgeblendet." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Diese Seite und alle darin enthaltenen Elemente werden gelöscht." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Löschen der Seite" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Löschen" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Ausgebl. Anwendungen anzeigen" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Anwendungen ausblenden" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Deaktiv. Anwendungen zeigen" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s kann nicht deinstalliert werden. Es wird stattdessen deaktiviert." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 Element wird ausgeblendet." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Diese Home Box kann nicht zu Ihrem Startbildschirm hinzugefügt werden. Auf dem Startbildschirm ist nicht genug Platz. Löschen Sie einige Home Boxes und versuchen Sie es erneut." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Hinzufügen nicht möglich" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Alle Seiten" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Leer" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box hinzufügen" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Entfernen" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Ordner entfernen" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Ordner wird entfernt. Anwendungen in diesem Ordner werden nicht deinstalliert." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuell" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Nach Name (A–Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s wird deinstalliert." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Elemente können nicht nach Namen (A-Z) sortiert neu angeordnet werden." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "FERTIG" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ABBRECHEN" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Elemente sortieren" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sortieren von Elementen" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Hinzufügen nicht möglich" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Hinzufügen von Widgets" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Auf dem Startbildschirm ist nicht genug Platz. Entfernen Sie einige Widgets und versuchen Sie es erneut." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Bearbeiten" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Bearbeiten" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Themes" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Anwendung nicht installiert" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s und alle damit zusammenhängenden Funktionen werden deaktiviert. Unter „Einstellungen > Anwendungsmanager“ können Sie sie wieder aktivieren." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Maximale Anzahl an Anwendungen im Ordner (%d) erreicht." + diff --git a/res/po/el_GR.po b/res/po/el_GR.po new file mode 100755 index 0000000..32b459d --- /dev/null +++ b/res/po/el_GR.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Άκυρο" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Δημ/ργία φακέλου" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Εμφάνιση" + +msgid "IDS_COM_SK_OPEN" +msgstr "Άνοιγμα" + +msgid "IDS_MB_SK_EDIT" +msgstr "Επεξεργ." + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Προσθ" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Διαγραφή φακέλου" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Εισαγωγή ονόματος φακέλου." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Δημιουργία" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Φόρτωση..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Εφαρμογές" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Μουσική" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Βασικός" + +msgid "IDS_ST_SK_HIDE" +msgstr "Απόκρυψη" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Πλαίσιο επιλογής" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Επιλογή" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Τίτλος" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Κατάργηση επιλογής" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Κατάργηση εγκατάστασης" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Επ. εφ. για προσθ." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Επιλ. εφαρμ. για απόκρυψη" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Επιλ. εφαρμ. για εμφάνιση" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Προβολή ως" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Για την αναδιάταξη των σελίδων, πρέπει να αλλάξετε τον τύπο προβολής σε προσαρμόσιμο πλέγμα." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Κατάργηση της εγκατάστασης του %s;" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Μίνι εφαρμ." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Αναίρεση επιλογής" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Ανώνυμος φάκελος" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Πατήστε δύο φορές για να κλείσετε τη γραμμή εφαρμογών." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Πατήστε δύο φορές για να ανοίξετε τη γραμμή εφαρμογών." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Πατήστε δύο φορές για άνοιγμα." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Κουμπί" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Διαγραφή" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Πατήστε παρατεταμένα για μετακίνηση." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Πατήστε δύο φορές για κλείσιμο." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Η λεπτομερής προβολή είναι ανοιχτή." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Αγαπημένες εφαρμογές" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Η αρχική οθόνη θα αποτελείται από έως και %d στοιχεία που θα επιλεχθούν στην επόμενη οθόνη" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Στις αγαπημένες εφαρμογές" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Μετακίνηση στο φάκελο %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Μετακίνηση %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Δεν υπάρχει περιεχόμενο" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Σελίδα %1$d από %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Θέση %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Ο φάκελος είναι ανοιχτός." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Αυτή η ενέργεια θα διαγράψει το φάκελο και όλα τα στοιχεία που περιέχει." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Δεν ήταν δυνατή η προσθήκη περισσότερων εφαρμογών. Συμπληρώθηκε ο μέγιστος αριθμός εφαρμογών." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Δεν είναι δυνατή η φόρτωση δεδομένων. Πατήστε για να δοκιμάσετε ξανά." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Θέματα φόντου" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Εφαρμ." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Διαγρ." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Απενεργοπ." + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Βοήθεια" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Home" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazine" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Τηλέφ." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Προσθήκη στοιχείων" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Φάκελος" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Αναδιάταξη εικονιδίων" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Αναδιάταξη σελίδων" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Επιλογή πλαισίου κειμένου" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Επιλογή προτύπου" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Προσθ. πλαισίου κειμ." + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Αλλαγή φόντου" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Δημιουργία φακέλου" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Διαγραφή φακέλου" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Ληφθείσες εφαρμογές" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Εξαγ. εφαρ. και διαγρ. το φάκ." + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Να απενεργοποιηθεί αυτή η εφαρμογή;" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Η νέα σελίδα θα αποτελείται από τα Dynamic Box του S Planner, των Εργασιών και του S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Η νέα σελίδα θα αποτελείται από το Dynamic Box του Twitter. Στην επόμενη οθόνη, επιλέξτε έως και %d χρονολόγια των ατόμων που παρακολουθείτε, ώστε να εμφανίζονται στη νέα σελίδα." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Ο φάκελος θα διαγραφεί, αλλά οι εφαρμογές που περιλαμβάνει θα εξακολουθούν να είναι διαθέσιμες στην αρχική σας οθόνη. Να διαγραφεί αυτός ο φάκελος;" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Η επαναφόρτωση απέτυχε. Η μνήμη συσκευής είναι πλήρης." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Η γραμματοσειρά δεν υποστηρίζεται σε αυτό το μέγεθος." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Δεν είναι δυνατή η προσθήκη επιπλέον γραμμής επειδή ο χώρος είναι περιορισμένος." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 μη αναγνωσμένο στοιχείο" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Λειτουργία επεξεργασίας" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Επιλέχθηκαν %d συνολικά." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d μη αναγνωσμένες ειδοποιήσεις" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Αναδυόμενο μενού" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Κάντε σάρωση με δύο δάχτυλα για προβολή της επόμενης σελίδας." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Αναδυόμενη επικεφαλίδα" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Κείμενο στο κύριο μέρος του αναδυόμενου παραθύρου" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Αρχική οθόνη" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Η σελίδα μετακινήθηκε στη θέση %1$d από %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Γραμμή %1$d, στήλη %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Προσθήκη σελίδας" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Δεν έχει επιλεγεί" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Κουμπί επιλογής" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Επιλεγμένο" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Προεπιλεγμένη γραμματοσειρά" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Επαφές" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Ο μέγιστος αριθμός χαρακτήρων συμπληρώθηκε." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Άκυρο" + +msgid "IDS_COM_SK_DONE" +msgstr "Ok" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Εμφάνιση %d στοιχείων" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Το πρόγραμμά μου" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Πατήστε δύο φορές για να κλείσετε το μενού." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Παράβλ." + +msgid "IDS_COM_SK_SELECT" +msgstr "Επιλογή" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "Επιλέχθ. %d" + +msgid "IDS_ST_SK_NEXT" +msgstr "Επόμενο" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Θα γίνει απόκρυψη %d στοιχείων." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Αυτή η σελίδα και ολα τα στοιχεία που περιέχει θα διαγραφούν." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Διαγραφή σελίδας" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Διαγραφή" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Εμφάνιση κρυφών εφαρμογών" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Απόκρυψη εφαρμογών" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Εμφάνιση απενεργ. εφαρμογών" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Δεν είναι δυνατή η κατάργηση της εγκατάστασης του %s. Θα γίνει απενεργοποίηση." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Θα γίνει απόκρυψη 1 στοιχείου." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Δεν είναι δυνατή η προσθήκη αυτού του Home Box στην αρχική οθόνη. Ο χώρος στην αρχική οθόνη δεν επαρκεί. Αφαιρέστε ορισμένα Home Box και δοκιμάστε ξανά." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Δεν είναι δυνατή η προσθήκη" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Όλες οι σελίδες" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Κενό" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Προσθήκη Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Κατάργηση" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Κατάργηση φακέλου" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Ο φάκελος θα καταργηθεί. Δεν θα καταργηθεί η εγκατάσταση των εφαρμογών που υπάρχουν σε αυτόν το φάκελο." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Μη αυτόματα" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Κατά όνομα (Α-Ω)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "Θα καταργηθεί η εγκατάσταση του %s." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Δεν είναι δυνατή η αναδιάταξη εικονιδίων που έχουν ταξινομηθεί κατά όνομα (Α-Ω)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ΤΕΛΟΣ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ΑΚΥΡΟ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Ταξινόμηση στοιχείων" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Ταξινόμηση στοιχείων" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widget" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Αδύνατη η προσθήκη widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Προσθήκη widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Ο χώρος στην αρχική οθόνη δεν επαρκεί. Καταργήστε ορισμένα widget και προσπαθήστε ξανά." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Επεξεργασία" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Επεξεργασία" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Θέματα" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Η εφαρμογή δεν εγκαταστάθηκε." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "Η εφαρμογή %s και οι σχετικές λειτουργίες της θα απενεργοποιηθούν. Για να την ενεργοποιήσετε ξανά, μεταβείτε στο μενού Ρυθμίσεις > Διαχείριση εφαρμογών." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Συμπληρώθηκε ο μέγιστος αριθμός εφαρμογών στο φάκελο (%d)." + diff --git a/res/po/en.po b/res/po/en.po new file mode 100755 index 0000000..0852283 --- /dev/null +++ b/res/po/en.po @@ -0,0 +1,402 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Create folder" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Show" + +msgid "IDS_COM_SK_OPEN" +msgstr "Open" + +msgid "IDS_MB_SK_EDIT" +msgstr "Edit" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Add" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Delete folder" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Enter folder name." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Create" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Loading..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Applications" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Music" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Basic" + +msgid "IDS_ST_SK_HIDE" +msgstr "Hide" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Tickbox" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Tick" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Title" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Untick" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Uninstall" + +msgid "IDS_AT_BUTTON_CHANGE_VIEW" +msgstr "Change view" + +msgid "IDS_AT_HEADER_PD_SELECTED" +msgstr "%d selected" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Select apps to add" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Select apps to hide" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Select apps to show" + +msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB" +msgstr "Alphabetical grid" + +msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB" +msgstr "Customisable grid" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "View as" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "To rearrange pages, you need to change the view type to a customisable grid." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Uninstall %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Deselect" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Unnamed folder" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Double tap to close app tray." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Double tap to open app tray." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Double tap to open." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Button" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Delete" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Double tap and hold to move." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Double tap to close." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop view open." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Favourite apps" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Home screen will be formed with up to %d items selected in the next screen." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "In Favourite applications" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Move into %s folder." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Moving %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "No content" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Page %1$d of %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Position %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "The folder is open." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "This will delete the folder and all the items it contains." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Unable to add more apps. Maximum number of apps reached." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Unable to load data. Tap to retry." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Wallpapers" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Apps" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Delete" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Disable" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Help" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Home" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazine" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Phone" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Add items" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Rearrange icons" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Rearrange pages" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Select a text box" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Select template" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Add text box" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Change wallpaper" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Create folder" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Delete folder" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Downloaded apps" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extract apps and delete folder" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Disable this application?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "The new page will consist of the S Planner, Tasks, and S Memo Dynamic Boxes." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "The new page will consist of Twitter Dynamic Boxes. On the next screen, select up to %d timelines of people you are following to be displayed on the new page." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "This folder will be deleted, but the applications within it will remain available on your home screen. Delete this folder?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Failed to reload. Device memory full." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Font not supported at this size." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Unable to add extra line due to space restriction." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 unread item" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Edit mode" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d selected in total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d unread notifications" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menu pop-up" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Swipe with two fingers to view next page." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Pop-up header" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Text in body of pop-up" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Home screen" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Page moved to %1$d of %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Row %1$d, column %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Add page" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Not selected" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radio button" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Selected" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Default font" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contacts" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Maximum number of characters reached." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Showing %d items" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Schedule" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Double tap to close the menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Skip" + +msgid "IDS_COM_SK_SELECT" +msgstr "Select" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_ST_SK_NEXT" +msgstr "Next" + +msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB" +msgstr "Manage applications" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d items will be hidden." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "This page and all the items it contains will be deleted." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Delete page" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Delete" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Show hidden applications" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Hide applications" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Show disabled applications" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s cannot be uninstalled. It will be disabled instead." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 item will be hidden." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Unable to add this Home Box to the home screen. There is not enough space on the home screen. Remove some Home Boxes and try again." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Unable to add" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "All pages" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Blank" + +msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "Sort items alphabetically" + +msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "Sort items alphabetically" + +msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED" +msgstr "App icons and folders will be sorted into alphabetical order. Any customisations you have made will be discarded." + diff --git a/res/po/en_PH.po b/res/po/en_PH.po new file mode 100755 index 0000000..d8dc1a1 --- /dev/null +++ b/res/po/en_PH.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Create folder" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Show" + +msgid "IDS_COM_SK_OPEN" +msgstr "Open" + +msgid "IDS_MB_SK_EDIT" +msgstr "Edit" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Add" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Delete folder" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Enter folder name." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Create" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Loading..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Applications" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Music" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Basic" + +msgid "IDS_ST_SK_HIDE" +msgstr "Hide" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Tickbox" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Tick" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Title" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Untick" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Uninstall" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Select apps to add" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Select apps to hide" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Select apps to show" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "View as" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "To rearrange pages, you need to change the view type to a customizable grid." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Uninstall %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Deselect" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Unnamed folder" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Double tap to close app tray." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Double tap to open app tray." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Double tap to open." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Button" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Delete" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Double tap and hold to move." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Double tap to close." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop view open." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Favorite apps" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Home screen will be formed with up to %d items selected in the next screen" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "In Favorite applications" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Move into %s folder." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Moving %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "No content" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Page %1$d of %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Position %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "The folder is open." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "This will delete the folder and all the items it contains." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Unable to add more apps. Maximum number of apps reached." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Unable to load data. Tap to retry." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Wallpapers" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Apps" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Delete" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Disable" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Help" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Home" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazine" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Phone" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Add items" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Rearrange icons" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Rearrange pages" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Select a text box" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Select template" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Add text box" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Change wallpaper" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Create folder" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Delete folder" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Downloaded apps" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extract apps and delete folder" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Disable this application?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "The new page will consist of the S Planner, Tasks, and S Memo Dynamic Boxes" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "The new page will consist of Twitter Dynamic Boxes. On the next screen, select up to %d timelines of people you are following to be displayed on the new page." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "This folder will be deleted, but the applications within it will remain available on your home screen. Delete this folder?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Failed to reload. Device memory full." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Font not supported at this size." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Unable to add extra line due to space restriction." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 unread item" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Edit mode" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d selected in total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d unread notifications" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menu pop-up" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Swipe with two fingers to view next page." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Pop-up header" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Text in body of pop-up" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Home screen" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Page moved to %1$d of %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Row %1$d, column %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Add page" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Not selected" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radio button" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Selected" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Default font" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contacts" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Maximum number of characters reached." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_COM_SK_DONE" +msgstr "Done" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Showing %d items" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Schedule" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Double tap to close the menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Skip" + +msgid "IDS_COM_SK_SELECT" +msgstr "Select" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d selected" + +msgid "IDS_ST_SK_NEXT" +msgstr "Next" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d items will be hidden." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "This page and all the items it contains will be deleted." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Delete page" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Delete" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Show hidden applications" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Hide applications" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Show disabled applications" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s cannot be uninstalled. It will be disabled instead." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 item will be hidden." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Unable to add this Home Box to the home screen. There is not enough space on the home screen. Remove some Home Boxes and try again." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Unable to add" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "All pages" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Blank" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Add Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Remove" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Remove folder" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Folder will be removed. Applications in this folder will not be uninstalled." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manually" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "By name (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s will be uninstalled." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Unable to rearrange icons sorted by name (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "DONE" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCEL" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sort items" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sort items" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Unable to add widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Add widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "There is not enough space on the home screen. Remove some widgets and try again." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Edit" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Edit" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Themes" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Application not installed." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s and all the features related to it will be disabled. To enable it again, go to Settings > Application manager." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Maximum number of applications in folder (%d) reached." + diff --git a/res/po/en_US.po b/res/po/en_US.po new file mode 100755 index 0000000..b93d17c --- /dev/null +++ b/res/po/en_US.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Create folder" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Show" + +msgid "IDS_COM_SK_OPEN" +msgstr "Open" + +msgid "IDS_MB_SK_EDIT" +msgstr "Edit" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Add" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Delete folder" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Enter folder name." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Create" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Loading..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Applications" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Music" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Basic" + +msgid "IDS_ST_SK_HIDE" +msgstr "Hide" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Tickbox" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Tick" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Title" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Untick" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Uninstall" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Select apps to add" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Select apps to hide" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Select apps to show" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "View as" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "To rearrange pages, change the view type to a customizable grid." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Uninstall %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Deselect" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Unnamed folder" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Double tap to close app tray." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Double tap to open app tray." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Double tap to open." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Button" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Delete" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Double tap and hold to move." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Double tap to close." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop view open." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Favorite apps" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Home screen will be formed with up to %d items selected in the next screen." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "In Favorite applications" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Move into %s folder." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Moving %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "No content" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Page %1$d of %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Position %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "The folder is open." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "This will delete the folder and all the items it contains." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Unable to add more apps. Maximum number of apps reached." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Unable to load data. Tap to retry." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Wallpapers" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Apps" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Delete" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Turn off" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Help" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Home" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazine" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Device" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Add items" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Rearrange icons" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Rearrange pages" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Select a text box" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Select template" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Add text box" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Change wallpaper" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Create folder" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Delete folder" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Downloaded apps" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extract apps and delete folder" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Disable this application?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "The new page will consist of the S Planner, Tasks, and S Memo Dynamic Boxes." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "The new page will consist of Twitter Dynamic Boxes. On the next screen, select up to %d timelines of people you are following to be shown on the new page." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "This folder will be deleted, but the applications within it will remain available on your Home screen. Delete this folder?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Failed to reload. Device memory full." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Font not supported at this size." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Unable to add extra line due to space restriction." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 unread item" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Edit mode" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d selected in total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d unread notifications" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menu pop-up" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Swipe with two fingers to view next page." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Pop-up header" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Text in body of pop-up" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Home screen" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Page moved to %1$d of %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Row %1$d, column %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Add page" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Not selected" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radio button" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Selected" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Default font" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contacts" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Maximum number of characters reached." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Cancel" + +msgid "IDS_COM_SK_DONE" +msgstr "Done" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Showing %d items" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Schedule" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "UDRGothic" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Double tap to close the menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Skip" + +msgid "IDS_COM_SK_SELECT" +msgstr "Select" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d selected" + +msgid "IDS_ST_SK_NEXT" +msgstr "Next" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d items will be hidden." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "This page and all the items it contains will be deleted." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Delete page" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Delete" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Show hidden applications" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Hide applications" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Show disabled applications" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s cannot be uninstalled. It will be turned off instead." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 item will be hidden." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Unable to add this Home Box to the Home screen. There is not enough space on the Home screen. Remove some Home Boxes and try again." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Unable to add" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "All pages" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Blank" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Add Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Remove" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Remove folder" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Folder will be removed. Applications in this folder will not be uninstalled." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manually" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "By name (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s will be uninstalled." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Unable to rearrange icons sorted by name (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "DONE" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCEL" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sort items" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sort items" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Unable to add widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Add widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "There is not enough space on the Home screen. Remove some widgets and try again." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Edit" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Edit" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Themes" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Application not installed." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s and all the features related to it will be turned off. To turn it on again, go to Settings > Application manager." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Maximum number of applications in folder (%d) reached." + diff --git a/res/po/es_ES.po b/res/po/es_ES.po new file mode 100755 index 0000000..b0239ce --- /dev/null +++ b/res/po/es_ES.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_CAM_SK_OK" +msgstr "Aceptar" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Crear carpeta" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Mostrar" + +msgid "IDS_COM_SK_OPEN" +msgstr "Abrir" + +msgid "IDS_MB_SK_EDIT" +msgstr "Editar" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Añadir" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Eliminar carpeta" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Nombre de la carpeta" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Crear" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Cargando..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplicaciones" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Música" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Básico" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ocultar" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Casilla de verificación" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Marcar" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Título" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Desmarcar" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Sel. apps para añ." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Selec. apps para ocultar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Selec. apps para mostrar" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Ver como" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Para reorganizar las páginas, debe cambiar el tipo de vista a una cuadrícula personalizable." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "¿Desinstalar %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Cancelar selección" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Carpeta sin nombre" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Pulse dos veces para cerrar la bandeja de aplicaciones." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Pulse dos veces para abrir la bandeja de aplicaciones." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Pulse dos veces para abrir." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Botón" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Eliminar" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Pulse dos veces y mantenga pulsado para desplazarlo." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Pulse dos veces para cerrar." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Vista desplegable abierta." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Aplicaciones favoritas" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "La pantalla de inicio se formará con hasta %d elementos seleccionados en la pantalla siguiente" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "En Aplicaciones favoritas" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Mover a la carpeta %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Moviendo %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Ningún contenido" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Página %1$d de %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Posición %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "La carpeta está abierta" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Esta acción eliminará la carpeta y todos los elementos que contiene" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "No se pueden añadir más aplicaciones. Número máximo de aplicaciones alcanzado." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "No se pueden cargar datos. Pulse para volver a intentarlo." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fondos de pant." + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplicaciones" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Elim." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Desactivar" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Ayuda" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Inicio" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazine" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Tel" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Aņadir elementos" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Carpeta" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Reorganizar iconos" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Reorganizar páginas" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Seleccione cuadro texto" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Seleccionar plantilla" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Añadir cuadro de texto" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Cambiar fondo pant" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Crear carpeta" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Eliminar carpeta" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Aplicaciones descargadas" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extraer aplic y borrar carpeta" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "¿Desactivar esta aplicación?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "La nueva página estará compuesta de Calendario, Tareas, y Dynamic Boxes de S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "La nueva página se compondrá de Dynamic Boxes de Twitter. En la siguiente pantalla, seleccione hasta %d líneas de tiempo de personas a las que esté siguiendo para que aparezcan en la nueva página." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Se eliminará esta carpeta, pero las aplicaciones que esta contenga seguirán estando disponibles en su pantalla Inicio. ¿Desea eliminar esta carpeta?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Error al volver a cargar. Memoria del dispositivo llena." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "La fuente no es compatible con este tamaño." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "No se puede añadir una línea adicional debido a las restricciones de espacio." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 elemento no leído" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Modo de edición" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d seleccionados en total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notificaciones no leídas" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Ventana emergente de menú" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Deslice con dos dedos para ver la página siguiente." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Encabezado emergente" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Texto en el cuerpo del mensaje emergente" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Pantalla Inicio" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Página movida a %1$d de %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Fila %1$d, columna %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Añadir página" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "No seleccionado" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Botón de opción" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Seleccionado(s)" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Fuente predeterminada" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contactos" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Alcanzado el número máximo de caracteres" + +msgid "IDS_COM_SK_OK" +msgstr "Aceptar" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_COM_SK_DONE" +msgstr "Hecho" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Mostrando %d elementos" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Planificación" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Pulse dos veces para cerrar el menú." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Omitir" + +msgid "IDS_COM_SK_SELECT" +msgstr "Seleccionar" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d selecc." + +msgid "IDS_ST_SK_NEXT" +msgstr "Siguiente" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Se ocultarán %d elementos." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Se eliminarán esta página y todos los elementos que contiene." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Eliminar página" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Eliminar" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Mostrar aplicaciones ocultas" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ocultar aplicaciones" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Mostrar aplica desactivadas" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s no se puede desinstalar. En su lugar, se desactivará." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Se ocultará 1 elemento." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "No se puede añadir este cuadro de inicio a la pantalla Inicio. No hay suficiente espacio en la pantalla Inicio. Elimine algunos cuadros de inicio y vuelva a intentarlo." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "No se puede añadir" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Cuadros de inicio" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Todas las páginas" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Vacío" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Añadir Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Eliminar" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Eliminar carpeta" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Se eliminará la carpeta. Las aplicaciones de esta carpeta no se desinstalarán." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manualmente" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Por nombre (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s se desinstalará" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "No se pueden reorganizar los iconos clasificados por nombre (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "HECHO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Ordenar elementos" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Ordenar elementos" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "No se puede añadir el widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Añadir widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "No hay espacio suficiente en la pantalla Inicio. Elimine algunos widgets e inténtelo de nuevo." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Editar" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Editar" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temas" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplicación no instalada" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s y todas las funciones relacionadas se desactivarán. Para volver a activarlo, vaya a Ajustes > Gestor de aplicaciones." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Se ha alcanzado el número máximo de aplicaciones en la carpeta (%d)." + diff --git a/res/po/es_US.po b/res/po/es_US.po new file mode 100755 index 0000000..6088b51 --- /dev/null +++ b/res/po/es_US.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_CAM_SK_OK" +msgstr "Aceptar" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Crear carpeta" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Mostrar" + +msgid "IDS_COM_SK_OPEN" +msgstr "Abrir" + +msgid "IDS_MB_SK_EDIT" +msgstr "Editar" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Añadir" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Eliminar carpeta" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introducir nombre de carpeta." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Crear" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Cargando..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplicaciones" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Música" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Básico" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ocultar" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Casilla de verificación" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Marcar" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Título" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Desmarcar" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Sel. apps para añ." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Sel. aplic. para ocultar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Sel. aplic. para mostrar" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Ver por" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Para reordenar páginas, necesita cambiar la vista a una cuadrícula personalizable." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "¿Desinstalar %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini aplicac." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Cancelar selección" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Carpeta sin nombre" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Pulse dos veces para cerrar la bandeja de aplicaciones." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Pulse dos veces para abrir la bandeja de aplicaciones." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Pulse dos veces para abrir." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Botón" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Eliminar" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Pulse dos veces y mantenga pulsado para mover." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Pulse dos veces para cerrar." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Vista desplegable abierta." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Aplicaciones favoritas" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "La pantalla de inicio se formará con hasta %d elementos seleccionados en la pantalla siguiente" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "En Aplicaciones favoritas" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Mover a la carpeta %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Moviendo %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Ningún contenido" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Página %1$d de %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Posición %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "La carpeta está abierta." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Esto eliminará la carpeta y todos los elementos que contiene." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "No se puede añadir más aplicaciones. Se alcanzó la cantidad máxima." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "No es posible cargar los datos. Pulse para intentarlo de nuevo." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fondos de pant." + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplic." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Eliminar" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Desactivar" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Ayuda" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Inicio" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Revista" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Tel." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Añadir elementos" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Carpeta" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Redistribuir íconos" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Redistribuir páginas" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Selec. un cuadro de texto" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Seleccionar plantilla" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Añadir cuadro de texto" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Cambiar fondo pant." + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Crear carpeta" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Eliminar carpeta" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Aplicaciones descargadas" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extraer aplic. y elim. carpeta" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "¿Desea desactivar esta aplicación?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "La página nueva estará compuesta de S Planner, Tareas y Dynamic Boxes de S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "La página nueva se compondrá de Dynamic Boxes de Twitter. En la siguiente pantalla, seleccione hasta %d líneas de tiempo de personas a las que esté siguiendo para que aparezcan en la página nueva." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Se eliminará esta carpeta, pero las aplicaciones dentro de ella permanecerán disponibles en su pantalla de inicio. ¿Desea eliminar esta carpeta?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "No se pudo cargar. Memoria del dispositivo llena." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "La fuente no es compatible con este tamaño." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "No se puede añadir una línea adicional debido a las restricciones de espacio." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 elemento no leído" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Modo de edición" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d seleccionados en total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notificaciones no leídas" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Ventana emergente del menú" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Deslícese con dos dedos para ver la página siguiente." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Encabezado emergente" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Texto del cuerpo de la ventana emergente" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Pantalla de inicio" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Se movió la página a %1$d de %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Fila %1$d, columna %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Añadir página" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "No seleccionados" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Botón de encendido" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Seleccionado(s)" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Fuente predeterminada" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contactos" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Se ha alcanzado el número máximo de caracteres." + +msgid "IDS_COM_SK_OK" +msgstr "Aceptar" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_COM_SK_DONE" +msgstr "Realizado" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Mostrando %d elementos" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Calendario" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Pulse dos veces para cerrar el menú." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Omitir" + +msgid "IDS_COM_SK_SELECT" +msgstr "Seleccionar" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d selecc." + +msgid "IDS_ST_SK_NEXT" +msgstr "Siguiente" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Se ocultarán %d elementos." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Se eliminarán esta página y todos los elementos que contiene." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Eliminar página" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Eliminar" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Mostrar aplicaciones ocultas" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ocultar aplicaciones" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Mostrar aplic. desactivadas" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "No es posible desinstalar %s. En su lugar, se desactivará." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Se ocultará 1 elemento." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "No es posible añadir esta Home Box a la pantalla de inicio. No hay espacio suficiente en la pantalla de inicio. Elimine algunas Home Box e inténtelo de nuevo." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "No es posible añadir" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Todas las páginas" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Vacío" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Añadir Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Eliminar" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Eliminar carpeta" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Se eliminará la carpeta. No se desinstalarán las aplicaciones de esta carpeta." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manualmente" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Por nombre (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s se desinstalará." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "No es posible reorganizar los íconos ordenados por nombre (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "REALIZADO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Ordenar elementos" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Ordenar elementos" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "No es posible añadir widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Añadir widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "No hay espacio suficiente en la pantalla de inicio. Elimine algunos widgets e inténtelo de nuevo." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Editar" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Editar" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temas" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplicación no instalada." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s y todas las funciones relacionadas se desactivarán. Para volver a activarlas, vaya a Configuración > Administrador de aplicaciones." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Se alcanzó el número máximo de aplicaciones en la carpeta (%d)." + diff --git a/res/po/et.po b/res/po/et.po new file mode 100755 index 0000000..ece166b --- /dev/null +++ b/res/po/et.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Tühista" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Loo kaust" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Näita" + +msgid "IDS_COM_SK_OPEN" +msgstr "Ava" + +msgid "IDS_MB_SK_EDIT" +msgstr "Muuda" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Lisa" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Kustuta kaust" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Sisestage kausta nimi." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Loo" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Laadimine..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Rakendused" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Muusika" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Põhiline" + +msgid "IDS_ST_SK_HIDE" +msgstr "Peida" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Märkeruut" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Märgista" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Pealkiri" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Eemalda märgistus" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Deinstalli" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Vali lisatav rak." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Valige rak., mida peita" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Valige rak., mida näidata" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Kuvamisviis" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Lehtede ümberkorraldamiseks peate kuvaviisiks valima kohandatava ruudustiku." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Kas desinstallida %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini-raken.-d" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Tühista valik" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Nimetamata kaust" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Toksake kaks korda, et sulgeda rakenduste salve." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Toksake kaks korda, et avada rakenduste salve." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Toksake kaks korda, et avada." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Nupp" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Kustuta" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Toksake kaks korda ja hoidke sõrme peal, et liigutada." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Toksake kaks korda, et sulgeda." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Rippvaade on avatud." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Lemmikrakendused" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Avaekraan moodustatakse kuni %d üksusest, mis valitakse järgmisel ekraanil" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Lemmikrakendustes" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Teisaldatakse kausta %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Üksuse %s teisaldamine" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Sisu pole" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Leht %1$d/%2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Asukoht %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Kaust on avatud." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "See kustutab kausta ja koik selle uksused." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Rohkem rakendusi ei saa lisada. Maksimaalne rakenduste arv on saavutatud." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Andmeid ei saa laadida. Toksake, et proovida uuesti." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Taustpildid" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Rak.-d" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Kust." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Desaktiveeri" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Spikker" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Avaekr" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Ajakiri" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Lisa üksused" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Kaust" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Järjesta ikoonid ümber" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Järjesta lehed ümber" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Valige tekstikast" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Vali mall" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Lisa tekstikast" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Muuda taustpilti" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Loo kaust" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Kustuta kaust" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Allalaetud rakendused" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Ekstr. rak.-d ja kustuta kaust" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Kas desaktiveerida see rakendus?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Uuel lehel on rakenduste S Planner, Ülesanded ja S Memo Dynamic Box’id" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Uuel lehel on Twitteri Dynamic Box’id. Järgmisel ekraanil saate valida kuni %d teie poolt jälgitava inimese ajaskaalat, mida kuvatakse uuel lehel." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "See kaust kustutatakse, kuid selles olevad rakendused jäävad teie avaekraanil kättesaadavaks. Kas kustutada see kaust?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Uuesti laadimine nurjus. Seadme mälu on täis." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Fonti ei toetata selles suuruses" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Lisarida ei saa lisada, kuna ruumi pole piisavalt" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 lugemata üksus" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Redigeerimisrežiim" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d üksust on valitud kokku." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d lugemata teavitust" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menüühüpik" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Libistage kahe sõrmega, et vaadata järgmist lehte." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Hüpikpäis" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Hüpiku tekst" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Avaleht" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Leht on teisaldatud: %1$d/%2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Rida %1$d, veerg %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Lisa leht" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Pole valitud" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Raadio nupp" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Valitud" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Vaikefont" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontaktid" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Lubatud arv märke on täis." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Tühista" + +msgid "IDS_COM_SK_DONE" +msgstr "Valmis" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Näidatakse %d üksust" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Ajakava" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Toksake kaks korda, et sulgeda menüüd." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Jäta v." + +msgid "IDS_COM_SK_SELECT" +msgstr "Vali" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d on valitud" + +msgid "IDS_ST_SK_NEXT" +msgstr "Järgmine" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d üksust peidetakse." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "See leht ja kõik selle üksused kustutatakse." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Kustuta leht" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Kustuta" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Kuva peidetud rakendused" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Peida rakendused" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Kuva desaktiv.-tud rakendused" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Rakendust %s ei saa desinstallida. See desaktiveeritakse hoopis." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 üksus peidetakse." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Seda Home Box’i ei saa lisada avaekraanile. Avaekraanil pole piisavalt ruumi. Eemaldage mõni Home Box ja proovige uuesti." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Ei saa lisada" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box’id" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Kõik lehed" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Tühi" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Lisa Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Eemalda" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Eemalda kaust" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Kaust eemaldatakse. Selles kaustas olevaid rakendusi ei desinstallita." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Käsitsi" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Nime järgi (A–Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s desinstallitakse." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Nime järgi sorditud ikoone ei saa ümber korraldada (A–Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "VALMIS" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "TÜHISTA" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sordi üksused" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Üksuste sortimine" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Vidinad" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Vidinat ei saa lisada" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Vidina lisamine" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Avaekraanil pole piisavalt ruumi. Kustutage mõned vidinad ja proovige uuesti." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Redigeeri" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Redigeeri" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Teemad" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Rakendus pole installitud." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s ja kõik sellega seotud funktsioonid desaktiveeritakse. Selle uuesti aktiveerimiseks avage Seaded > Rakenduse haldur." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Rakenduste maksimaalne arv kaustas (%d) on täis." + diff --git a/res/po/eu.po b/res/po/eu.po new file mode 100755 index 0000000..c3a5738 --- /dev/null +++ b/res/po/eu.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Ezeztatu" + +msgid "IDS_CAM_SK_OK" +msgstr "Ados" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Karpeta sortu" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Erakutsi" + +msgid "IDS_COM_SK_OPEN" +msgstr "Ireki" + +msgid "IDS_MB_SK_EDIT" +msgstr "Editatu" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Gehitu" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Karpeta ezabatu" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Idatzi karpetaren izena." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Sortu" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Kargatzen..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplikazioak" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musika" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Oinarrizkoa" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ezkutatu" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Markatze laukia" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Markatu" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Izenburua" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Desmarkatu" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalatu" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Haut. gehitz. apl." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Hautatu ezkutatzeko apl." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Hautatu erakusteko apl." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Nola ikusi" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Orriak berrantolatzeko, ikuspegi mota sareta pertsonalizagarrira aldatu behar duzu." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Desinstalatu %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini aplikaz." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Desmarkatu" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Izenik gabeko karpeta" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Ukitu bi aldiz aplikazio ontzia ixteko." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Ukitu bi aldiz aplikazio ontzia irekitzeko." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Ukitu bi aldiz irekitzeko." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Botoia" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Ezabatu" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Ukitu bi aldiz eta eutsi mugitzeko." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Bi aldiz ukitu ixteko." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Zabaldu ikuspegia irekita." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Gogoko aplikazioak" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Pantaila nagusia hurrengo pantailan hautatutako %d elementurekin ere osatuko da" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Gogoko aplikazioetan" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Mugitu %s karpetara." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%s mugitzea" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Edukirik ez" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "%1$d. orria %2$d-(e)tik" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "%d kokapena" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Karpeta irekita dago" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Horrek karpeta eta horretan dauden elementu guztiak ezabatuko ditu" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Ezin dira aplikazio gehiago erantsi. Aplikazioen gehieneko kopurura iritsi zara." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Ezin dira datuak kargatu. Ukitu berriz saiatzeko." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Horma paperak" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplik." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Ezab." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Ezgaitu" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Laguntza" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Hasi." + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Aldizk." + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telef." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Elementuak gehitu" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Karpeta" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Berrantolatu ikonoak" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Berrantolatu orriak" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Hautatu testu kutxa" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Hautatu txantiloia" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Gehitu testu kutxa" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Aldatu horma papera" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Sortu karpeta" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Ezabatu karpeta" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Deskargatutako aplikazioak" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Atera apl. eta ezabatu karpeta" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Ezgaitu aplikazio hau?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Orri berriak Egutegiak, Atazek eta S Memo Dynamic Box-ek osatuko dute" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Orri berria Twitter Dynamic Box-ek osatuko dute. Hurrengo pantailan, hautatu orri berrian erakutsiko diren jarraitzen dituzun gehienez %d pertsonaren denbora lerroak." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Karpeta hau ezabatuko da, baina horren barruko aplikazioak erabilgarri egongo dira pantaila nagusian. Ezabatu karpeta?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Ezin da berriz kargatu. Gailuaren memoria beteta." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Ez da letra neurri honetan onartzen." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Ezin da beste lerro bat gehitu espazio mugak direla eta." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "Irakurrita gabeko elementu 1" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Editatu modua" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Guztira %d hautatu dira." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d irakurri gabeko jakinarazpen" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menu agerkaria" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Irristatu bi hatzez, hurrengo orria ikusteko." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Agerkari goiburua" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Agerkariaren gorputzeko testua" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Hasierako pantaila" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Orria hona mugituta: %1$d %2$d-(e)ra." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "%1$d. lerroa, %2$d. zutabea" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Gehitu orria" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Ez da aukeratu" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Irratiaren botoia" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Aukeratuta" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Lehenetsitako letra mota" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontaktuak" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Gehienezko karaktere kopurura heldu zara" + +msgid "IDS_COM_SK_OK" +msgstr "Ados" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Ezeztatu" + +msgid "IDS_COM_SK_DONE" +msgstr "Amaituta" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d elementu erakustea" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Antolaketa" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Ukitu bi aldiz menua ixteko." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Pasatu" + +msgid "IDS_COM_SK_SELECT" +msgstr "Aukeratu" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d aukeratuta" + +msgid "IDS_ST_SK_NEXT" +msgstr "Hurrengoa" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d elementu ezkutatuko dira." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Orri hau eta bertako elementu guztiak ezabatuko dira." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Ezabatu orria" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Ezabatu" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Erakutsi ezkutat. aplikazioak" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ezkutatu aplikazioak" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Erakutsi ezgaitut. aplikazioak" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Ezin da %s desinstalatu. Ezgaitu egingo da." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Elementu 1 ezkutatuko da." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Ezin da Hasierako koadro hau pantaila nagusian gehitu. Ez dago nahikoa espazio pantaila nagusian. Kendu hainbat Hasierako koadro eta saiatu berriz." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Ezin da gehitu" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Hasierako koadroak" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Orri guztiak" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Hutsik" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Gehitu Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Ezabatu" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Kendu karpeta" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Karpeta kenduko da. Karpeta honetako aplikazioak ez dira desinstalatuko." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Eskuz" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Izen. arab. (Atik Zra)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s desinstalatuko da" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Ezin dira ikonoak izenaren arabera berrantolatu (Atik Zra)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "EGINA" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "UTZI" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sailkatu elementuak" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sailkatu elementuak" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgetak" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Ezin da widgeta gehitu" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Gehitu widgeta" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Ez dago nahikoa espazio pantaila nagusian. Kendu hainbat widget eta saiatu berriz." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Editatu" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Editatu" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Gaiak" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplikazioa ez dago instalatuta" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s eta berari lotutako eginkizun guztiak desgaituko dira. Berriz ere gaitzeko, zoaz Ezarpenak > Aplikazio kudeatzailera." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Karpeta bakoitzeko aplikazioen gehieneko kopurura (%d) iritsi zara." + diff --git a/res/po/fi.po b/res/po/fi.po new file mode 100755 index 0000000..645a8be --- /dev/null +++ b/res/po/fi.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Peruuta" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Luo kansio" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Näytä" + +msgid "IDS_COM_SK_OPEN" +msgstr "Avaa" + +msgid "IDS_MB_SK_EDIT" +msgstr "Muokkaa" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Lisää" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Poista kansio" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Kirjoita kansion nimi." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Luo" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Ladataan..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Sovellukset" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musiikki" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Perus" + +msgid "IDS_ST_SK_HIDE" +msgstr "Piilota" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Valintaruutu" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Valitse" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Otsikko" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Poista valinta" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Poista asennus" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Val. lisätt. sov." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Valitse piilot. sovell." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Valitse näytett. sovell." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Katsele muodossa" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Sinun on vaihdettava näkymän tyyppi mukautettavaksi ruudukoksi sivujen uudelleenjärjestämistä varten." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Poistetaanko kohteen %s asennus?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Pienois-sovell." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Poista valinta" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Nimetön kansio" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Sulje sovelluspalkki kaksoisnapauttamalla." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Avaa sovelluspalkki kaksoisnapauttamalla." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Avaa kaksoisnapauttamalla." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Painike" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Poista" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Liiku kaksoisnapauttamalla ja pitämällä painettuna." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Sulje kaksoisnapauttamalla." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Pudotusnäkymä avattu." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Suosikkisovellukset" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Alkunäyttö muodostuu enintään %d seuraavassa näytössä valitusta kohteesta." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Suosikkisovelluksissa" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Siirrä kansioon %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Siirretään %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Ei sisältöä" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Sivu %1$d/%2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Sijainti %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Kansio on avattu." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Tämä poistaa kansion ja kaikki siinä olevat kohteet." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Muita sovelluksia ei voi lisätä. Sovellusten enimmäismäärä on saavutettu." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Tietoja ei voi ladata. Yritä napauttamalla uudelleen." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Taustakuvat" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Sov." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Poista" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Poista käyt." + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Ohje" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Koti" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Aikak.l." + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Puhelin" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Lisää kohteita" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Kansio" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Järjestä kuvakkeet uudelleen" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Järjestä sivut uudelleen" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Valitse tekstiruutu" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Valitse malli" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Lisää tekstiruutu" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Vaihda taustakuva" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Luo kansio" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Poista kansio" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Ladatut sovellukset" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Pura sovell. ja poista kansio" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Poistetaanko tämä sovellus käytöstä?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Uusi sivu muodostuu Kalenterin, Tehtävien ja S Memon Dynamic Boxeista." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Uusi sivu muodostuu Twitterin Dynamic Boxeista. Valitse seuraavalla sivulla enintään %d seurattavan ihmisen aikajanat, jotka näytetään uudella sivulla." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Tämä kansio poistetaan, mutta kaikki siinä olevat sovellukset ovat edelleen käytettävissä alkunäytössä. Poistetaanko tämä kansio?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Uudelleenlataus epäonnistui. Laitteen muisti on täynnä." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Fonttia ei tueta tässä koossa." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Ylimääräistä riviä ei voi lisätä tilarajoituksen vuoksi." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 lukematon kohde" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Muokkaustila" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d valittu yhteensä." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d lukematonta ilmoitusta" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Ponnahdusvalikko" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Näytä seuraava sivu pyyhkäisemällä kahdella sormella." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Ponnahdusotsikko" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Ponnahdusikkunan tekstiosa" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Alkunäyttö" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Sivu siirretty: %1$d/%2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Rivi %1$d, sarake %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Lisää sivu" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Ei ole valittu" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Valintanappi" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Valittu" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Oletusfontti" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Yhteystiedot" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Merkkien enimmäismäärä saavutettu." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Peruuta" + +msgid "IDS_COM_SK_DONE" +msgstr "Valmis" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Näytetään %d kohdetta" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Ajoitettu tapahtuma" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Sulje valikko kaksoisnapauttamalla tätä." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Ohita" + +msgid "IDS_COM_SK_SELECT" +msgstr "Valitse" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d valittu" + +msgid "IDS_ST_SK_NEXT" +msgstr "Seuraava" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d kohdetta piilotetaan." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Tämä sivu ja kaikki sillä olevat kohteet poistetaan." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Poista sivu" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Poista" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Näytä piilotetut sovellukset" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Piilota sovellukset" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Näytä käytöstä poistetut sov." + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Sovelluksen %s asennusta ei voi poistaa. Se poistetaan käytöstä." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 kohde piilotetaan." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Tätä Home Boxia ei voi lisätä alkunäyttöön. Alkunäytössä ei ole riittävästi tilaa. Poista joitakin Home Boxeja ja yritä uudelleen." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Lisääminen ei onnistu" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxeista" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Kaikki sivut" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Tyhjä" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Lisää Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Poista" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Poista kansio" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Kansio poistetaan. Tässä kansiossa olevien sovellusten asennusta ei poisteta." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuaalisesti" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Nimen mukaan (A–Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "Sovelluksen %s asennus poistetaan." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Kuvakkeita ei voi järjestää nimen mukaan uudelleen (A–Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "VALMIS" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "PERUUTA" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Lajittele kohteet" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Lajittele kohteet" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Pienoisohjelmat" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Pienoisohjelmaa ei voi lisätä" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Lisää pienoisohjelma" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Alkunäytössä ei ole riittävästi tilaa. Poista joitakin pienoisohjelmia ja yritä uudelleen." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Muokkaa" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Muokkaa" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Teemat" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Sovellusta ei ole asennettu." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s ja kaikki siihen liittyvät toiminnot poistetaan käytöstä. Voit ottaa sen uudelleen käyttöön valitsemalla Asetukset > Sovellusten hallinta." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Kansiossa olevien sovellusten enimmäismäärä (%d) on saavutettu." + diff --git a/res/po/fr.po b/res/po/fr.po new file mode 100755 index 0000000..24ce9bb --- /dev/null +++ b/res/po/fr.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Annuler" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Créer dossier" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Afficher" + +msgid "IDS_COM_SK_OPEN" +msgstr "Ouvrir" + +msgid "IDS_MB_SK_EDIT" +msgstr "Modifier" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Ajouter" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Supprimer dossier" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Entrer nom du dossier" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Créer" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Chargement..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Applications" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musique" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Basique" + +msgid "IDS_ST_SK_HIDE" +msgstr "Masquer" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Cocher la case" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Cocher" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Titre" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Décocher" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Désinstaller" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Apps à ajouter" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Sélect. applis à masquer" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Sélect. applis à afficher" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Type d'affichage" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Pour réorganiser les pages, vous devez modifier le type de vue en grille personnalisable." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Désinstaller %s ?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini applis" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Désélectionner" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Dossier sans nom" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Appuyez deux fois pour fermer la barre des applications." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Appuyez deux fois pour ouvrir la barre des applications." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Appuyez deux fois pour ouvrir." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Touche" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Supprimer" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Appuyez deux fois, puis maintenez le doigt appuyé pour déplacer." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Appuyez deux fois pour fermer." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Ouverture d'une vue développée." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Applications favorites" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "L'écran d'accueil sera composé d'un maximum de %d d'éléments sélectionnés dans l'écran suivant" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Dans les applications favorites" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Accédez au dossier %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Déplacement de %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Aucun contenu" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Page %1$d sur %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Position %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Le dossier est ouvert." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Cette opération va supprimer le dossier et tous les éléments qu'il contient." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Impossible d'ajouter d'autres applications. Nombre maximum d'applications atteint." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Impossible de charger les données. Appuyez pour réessayer." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fonds d'écran" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Applis" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Suppr." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Désactiver" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Aide" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Acc." + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazine" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Tél." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Ajouter des éléments" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Dossier" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Réorganiser les icônes" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Réorganiser les pages" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Sélect. une zone de texte" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Sélectionner un modèle" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Ajouter zone de texte" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Modif. fond d'écran" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Créer un dossier" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Supprimer le dossier" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Applications téléchargées" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extr. applis et suppr. dossier" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Désactiver cette application ?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "La nouvelle page sera composée des Dynamic Box S Planner, Tâches et S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "La nouvelle page sera composée des Dynamic Box Twitter. À l'écran suivant, sélectionnez jusqu'à %d timelines de personnes que vous suivez et que vous souhaitez afficher sur la nouvelle page." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Ce dossier sera supprimé mais les applications qu'il contient resteront disponibles sur votre écran d'accueil. Supprimer ce dossier ?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Impossible de recharger. Mémoire de l'appareil saturée." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "La police n'est pas prise en charge lorsque cette taille est définie." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Impossible d'ajouter une ligne supplémentaire en raison de contraintes d'espace." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 élément non lu" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Mode Édition" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d sélectionné(s) au total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notifications non lues" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menu contextuel" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Faites glisser deux doigts pour passer à la page suivante." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "En-tête de pop-up" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Texte dans le corps de la fenêtre pop-up" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Écran d'accueil" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Page déplacée de %1$d sur %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Ligne %1$d, colonne %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Ajouter une page" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Non sélectionné" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Touche radio" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Sélectionné" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Police par défaut" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contacts" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Nb max de caractères atteint" + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Annuler" + +msgid "IDS_COM_SK_DONE" +msgstr "Effectué" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d éléments affichés" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Elément planifié" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Appuyez deux fois pour fermer le menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Ignorer" + +msgid "IDS_COM_SK_SELECT" +msgstr "Sélect." + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d sélection." + +msgid "IDS_ST_SK_NEXT" +msgstr "Suivant" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d éléments seront masqués." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Cette page et tous les éléments qu'elle contient seront supprimés." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Supprimer la page" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Supprimer" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Afficher les applis masquées" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Masquer les applications" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Afficher applis désactivées" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Impossible de désinstaller %s. Il va être désactivé." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 élément va être masqué." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Impossible d'ajouter cette Home Box à l'écran d'accueil. L'espace disponible sur l'écran d'accueil est insuffisant. Supprimez des Home Box, puis réessayez." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Impossible à ajouter" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Toutes les pages" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Vide" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Ajouter une Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Supprimer" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Supprimer dossier(s)" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Ce dossier sera supprimé. Les applications dans ce dossier ne seront pas désinstallées." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuellement" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Par nom (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s sera désinstallé." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "La réorganisation des icônes par ordre alphabétique (A-Z) est impossible." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "OK" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULER" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Organiser les éléments" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Organiser les éléments" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Impossible d'ajouter le widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Ajouter un widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "L'espace disponible sur l'écran d'accueil est insuffisant. Supprimez des widgets, puis réessayez." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Modifier" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Modifier" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Thèmes" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Application non installée" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s et l'ensemble des fonctions qui lui sont associées vont être désactivés. Pour les réactiver, accédez à Paramètres > Gestionnaire d'application." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Le nombre maximal d'applications dans le dossier (%d) a été atteint." + diff --git a/res/po/fr_CA.po b/res/po/fr_CA.po new file mode 100755 index 0000000..901ce08 --- /dev/null +++ b/res/po/fr_CA.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Annuler" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Créer un dossier" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Afficher" + +msgid "IDS_COM_SK_OPEN" +msgstr "Ouvrir" + +msgid "IDS_MB_SK_EDIT" +msgstr "Modifier" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Ajouter" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Supprimer le dossier" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Saisir le nom de dossier." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Créer" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Chargement..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Applications" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musique" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Basique" + +msgid "IDS_ST_SK_HIDE" +msgstr "Masquer" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Cocher la case" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Cocher" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Titre" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Décocher" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Désinstaller" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Sélect. applis à aj." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Sélect. applis à masquer" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Sélect. applis à afficher" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Afficher comme" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Pour réorganiser les pages, vous devez modifier le type de vue en grille personnalisable." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Désinstaller %s ?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini applis" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Désélectionner" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Dossier sans nom" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Touche deux fois pour fermer la barre des applications." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Touchez deux fois pour ouvrir la barre des applications." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Touchez deux fois pour ouvrir." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Bouton" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Supprimer" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Appuyez deux fois, puis maintenez le doigt appuyé pour déplacer." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Touchez deux fois pour fermer." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Ouverture d'une vue développée." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Boite dynamique" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Applications favorites" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "L'écran d'accueil sera composé d'un maximum de %d d'éléments sélectionnés dans l'écran suivant" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Dans les applications favorites" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Accédez au dossier %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Déplacement de %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Aucun contenu" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Page %1$d sur %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Position %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Le dossier est ouvert." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Cette opération va supprimer le dossier et tous les éléments qu'il contient." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Impossible d'ajouter d'autres applications. Nombre maximum d'applications atteint." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Impossible de charger les données. Appuyez pour réessayer." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fonds d'écran" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Applis" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Suppr." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Désactiver" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Aide" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Accueil" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazine" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Tél." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Ajouter des éléments" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Dossier" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Réorganiser les icônes" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Réorganiser les pages" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Sélect. une zone de texte" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Sélectionner un modèle" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Ajouter zone de texte" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Modif. fond d'écran" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Créer un dossier" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Supprimer le dossier" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Applications téléchargées" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extr. applis et suppr. dossier" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Désactiver cette application ?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "La nouvelle page sera composée des boites dynamiques S Agenda, Tâches et S Mémo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "La nouvelle page sera composée des boites dynamiques Twitter. À l'écran suivant, sélectionnez jusqu'à %d journaux de personnes que vous suivez et que vous souhaitez afficher sur la nouvelle page." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Ce dossier sera supprimé, mais les applications qu'il contient resteront disponibles sur votre écran d'accueil. Supprimer ce dossier ?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Échec de la recharge. Mémoire de l'appareil saturée." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "La police n'est pas prise en charge qd cette taille définie." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Impossible d'ajouter une ligne supplémentaire en raison de contraintes d'espace." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 élément non lu" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Mode Édition" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d sélectionné(s) au total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notifications non lues" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menu contextuel" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Faites glisser deux doigts pour passer à la page suivante." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Entête contextuel" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Texte dans le corps de la fenêtre contextuelle" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Écran d'accueil" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Page déplacée de %1$d sur %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Ligne %1$d, colonne %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Ajouter une page" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Non sélectionné" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Bouton radio" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Sélectionné" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Police par défaut" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contacts" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Nb max de caractères atteint." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Annuler" + +msgid "IDS_COM_SK_DONE" +msgstr "OK" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d éléments affichés" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Évènement" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Touchez deux fois pour fermer le menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Ignorer" + +msgid "IDS_COM_SK_SELECT" +msgstr "Sélectionner" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d sélection." + +msgid "IDS_ST_SK_NEXT" +msgstr "Suivant" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d éléments seront masqués." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Cette page et tous les éléments qu'elle contient seront supprimés." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Supprimer la page" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Supprimer" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Afficher les applis masquées" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Masquer les applications" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Afficher applis désactivées" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Impossible de désinstaller %s. Il va être désactivé." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 élément va être masqué." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Impossible d'ajouter cette Home Box à l'écran d'accueil. L'espace disponible sur l'écran d'accueil est insuffisant. Supprimez des Home Box, puis réessayez." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Impossible à ajouter" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Toutes les pages" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Vide" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Ajouter une boite dynamique" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Supprimer" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Supprimer le dossier" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Ce dossier sera supprimé. Les applications dans ce dossier ne seront pas désinstallées." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuellement" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Par nom (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s sera désinstallé." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "La réorganisation des icônes par ordre alphabétique (A-Z) est impossible." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "OK" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULER" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Organiser les éléments" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Organiser les éléments" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Impossible d'ajouter le widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Ajouter un widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "L'espace disponible sur l'écran d'accueil est insuffisant. Supprimez des widgets, puis réessayez." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Modifier" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Modifier" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Thèmes" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Application non installée." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s et l'ensemble des fonctions qui lui sont associées vont être désactivés. Pour les réactiver, accédez à Paramètres > Gestionnaire d'application." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Le nombre maximal d'applications dans le dossier (%d) a été atteint." + diff --git a/res/po/ga.po b/res/po/ga.po new file mode 100755 index 0000000..4112bae --- /dev/null +++ b/res/po/ga.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cuir ar ceal" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Déan fillteán" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Taispeáin" + +msgid "IDS_COM_SK_OPEN" +msgstr "Oscail" + +msgid "IDS_MB_SK_EDIT" +msgstr "Eagraigh" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Cuir" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Scrios fillteán" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Iontráil ainm an fhillteáin" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Déan" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Ag lódáil..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Feidhmchláir" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Ceol" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Bunúsach" + +msgid "IDS_ST_SK_HIDE" +msgstr "Folaigh" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Ticbhosca" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Cuir tic" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Teideal" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Bain tic" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Díshuiteáil" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Roghn. f'chláir le cur leis" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Roghn. f'chláir le folú" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Roghn. f'chláir le taisp." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Amharc mar" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Le leathanaigh a atheagrú, beidh ort an cineál amhairc a athrú go greille in-saincheaptha." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Díshuiteáil %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mion-f'chláir" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Díroghnaigh" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Fillteán gan ainm" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Déthapáil leis an tráidire feidhmchlár a dhúnadh." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Déthapáil leis an tráidire feidhmchlár a oscailt." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Déthapáil le hoscailt." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Cnaipe" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Scrios" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Déthapáil agus coinnigh le bogadh." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Déthapáil le dúnadh." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Amharc Aníos ar oscailt." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Feidhmchláir cheanáin" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Cruthófar scáileán baile le suas le %d mír roghnaithe sa chéad scáileán eile" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "I bhFeidhmchláir cheanáin" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Bog chuig fillteán %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Bogadh %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Níl inneachar ann" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Leathanach %1$d as %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Suíomh %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Tá an fillteán ar oscailt" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Scriosfar an fillteán agus gach mír atá istigh ann leis seo" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Ní féidir tuilleadh feidhmchlár a chur leis. Uaslíon na bhfeidhmchlár bainte amach." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Ní féidir sonraí a choinneáil. Tapáil le triail arís." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Cúlbhrait" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "F.chláir" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Scrios" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Díchumasaigh" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Cabhair" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Baile" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Iris" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Fón" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Cuir míreanna leis" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Fillteán" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Atheagraigh íocóin" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Atheagraigh leathanaigh" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Roghnaigh bosca téacs" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Roghnaigh teimpléad" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Cuir bosca téacs leis" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Athraigh an cúlbhrat" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Cruthaigh fillteán" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Scrios fillteán" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Feidhmchláir íoslódáilte" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Asbhn. f.chláir + scrios fillt." + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Díchumasaigh an feidhmchlár seo?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Beidh S Planner, Tascanna agus S Memo Dynamic Boxes ar an leathanach nua" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Beidh Twitter Dynamic Boxes ar an leathanach nua. Ar an gcéad scáileán eile, roghnaigh suas le %d amlíne de chuid daoine atá á leanúint agat lena dtaispeáint ar an leathanach nua." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Scriosfar an fillteán seo, ach beidh na feidhmchláir laistigh de ar fáil ar do scáileán baile i gcónaí. Scrios an fillteán seo?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Theip ar athlódáil. Tá cuimhne an ghléis lán." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Níl tacú ann don chló ag an méid seo." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Ní féidir líne bhreise a chur leis de dheasca teorann spáis." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 mhír neamhléite" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Mód cuir in eagar" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d roghnaithe ar an iomlán." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d fógra neamhléite" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Roghchlár aníos" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Svaidhpeáil le dhá mhéar le hamharc ar an gcéad leathanach eile." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Ceanntásc aníos" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Téacs i gcorp na míre aníos" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Scáileán baile" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Leathanach bogtha chuig %1$d de %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Ró %1$d, colún %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Cuir leathanach leis" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Gan roghnú" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Cnaipe Raidió" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Roghnaithe" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Snag snasta" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Cló réamhshocraithe" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Teagmhálaithe" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Uaslíon na gcarachtar bainte amach." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Cuir ar ceal" + +msgid "IDS_COM_SK_DONE" +msgstr "Déanta" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d mír á dtaispeáint" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Sceideal" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Déthapáil leis an roghchlár a dhúnadh." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Scipeáil" + +msgid "IDS_COM_SK_SELECT" +msgstr "Roghnaigh" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "An tIdirlíon" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d roghnaithe" + +msgid "IDS_ST_SK_NEXT" +msgstr "Ar aghaidh" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Folófar %d mír." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Scriosfar an leathanach seo agus na míreanna ar fad istigh ann leis seo." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Scrios leathanach" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Scrios" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Taispeáin f.chláir fholaithe" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Folaigh feidhmchláir" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Taisp. f.chláir dhíchumasaithe" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Ní féidir %s a dhíshuiteáil. Díchumasófar ina ionad é." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Folófar 1 mhír." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Ní féidir an Bosca Baile seo a chur leis an scáileán baile. Níl go leor spáis ar an scáileán baile. Scrios roinnt Boscaí Baile agus triail arís." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Ní féidir cur leis" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Boscaí Baile" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Gach leathanach" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Bán" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Cuir Dynamic Box leis" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Bain" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Bain fillteán" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Bainfear an fillteán. Ní dhíshuiteálfar feidhmchláir san fhillteán seo." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "De láimh" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "De réir ainm (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "Díshuiteálfar %s" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Ní féidir íocóin atá sórtáilte de réir ainm (A-Z) a atheagrú." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "DÉANTA" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CUIR AR CEAL" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sórtáil míreanna" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sórtáil míreanna" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Giuirléidí" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Ní féid. giuirléid a chur leis" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Cuir giuirléid leis" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Níl dóthain spáis ar an scáileán baile. Bain roinnt giuirléidí agus triail arís." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Cuir in eagar" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Cuir in eagar" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Téamaí" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Níl an feidhmchlár suiteáilte." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "Díchumasófar %s mar aon leis na gnéithe go léir a bhaineann leis. Lena chumasú athuair, gabh chuig Socruithe > Bainisteoir feidhmchlár." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Uaslíon na bhfeidhmchlár i bhfillteán (%d) bainte amach." + diff --git a/res/po/gl.po b/res/po/gl.po new file mode 100755 index 0000000..ef2415b --- /dev/null +++ b/res/po/gl.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_CAM_SK_OK" +msgstr "Aceptar" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Crear carpeta" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Mostrar" + +msgid "IDS_COM_SK_OPEN" +msgstr "Abrir" + +msgid "IDS_MB_SK_EDIT" +msgstr "Editar" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Eng." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Eliminar carpeta" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introducir nome de carpeta" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Crear" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Cargando..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplicacións" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Música" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Básico" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ocultar" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Casa" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Marcar" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Título" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Desmarcar" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Sel. aplic.engadir" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Selec. aplicac. a ocultar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Selec. aplicac. a amosar" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Ver como" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Para reorganizar as páxinas, precisas cambiar o tipo de vista a unha cuadrícula personalizable." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Desexas desinstalar %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Miniapl." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Non seleccionar" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Cartafol sen nome" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Toca dúas veces para pechar a bandexa de aplicacións." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Toca dúas veces para abrir a bandexa de aplicacións." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Toca dúas veces para abrir." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Botón" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Eliminar" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Toca dúas veces e manteno tocado para movelo." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Toca dúas veces para pechar." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Vista de Drop aberta." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Aplicacións favoritas" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "A pantalla de inicio formarase con ata %d elementos seleccionados na seguinte pantalla" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Nas aplicacións favoritas" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Mover á carpeta %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Movendo %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Non hai contidos" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Páxina %1$d de %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Posición %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "A carpeta está aberta" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Isto eliminará a carpeta e todos os elementos que contén" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Non se poden engadir máis aplicacións. Alcanzouse o número máximo de aplicacións." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Non se poden cargar datos. Toca para tentalo de novo." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fondos pantalla" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Apps" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Elim" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Desactivar" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Axuda" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Inicio" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Revista" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Tfno." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Engadir elementos" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Carpeta" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Reordenar iconas" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Reordenar páxinas" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Selecciona caixa texto" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Seleccionar modelo" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Engadir caixa de texto" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Cambiar fondo pant." + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Crear carpeta" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Eliminar carpeta" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Aplicacións descargadas" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extraer aplic. e elim. carpeta" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Desactivar esta aplicación?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "A páxina nova estará composta por Calendario, Tarefas e Dynamic Boxes de S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "A páxina nova estará composta por Dynamic Boxes de Twitter. Na seguinte pantalla, selecciona ata %d liñas cronolóxicas de persoas ás que esteas a seguir para que se visualicen na páxina nova." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Esta carpeta eliminarase, pero as aplicacións incluídas nela continuarán dispoñibles na túa pantalla de inicio. Desexas eliminar esta carpeta?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Non se puido volver cargar. Memoria do dispositivo chea." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Fonte non admitida neste tamaño." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Non se pode engadir unha liña adicional debido á restrición de espazo." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 elemento non lido" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Modo edición" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d seleccionados en total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notificacións sen ler" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Ventá emerxente do menú" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Pasa dous dedos pola pantalla para ver a páxina seguinte." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Cabeceira emerxente" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Texto do corpo da ventá emerxente" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Pantalla de inicio" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Páxina movida a %1$d de %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Fila %1$d, columna %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Engadir páxina" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Non seleccionado" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Botón de radio" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Seleccionado" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Fonte predeterminada" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contactos" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Número máximo de caracteres alcanzado" + +msgid "IDS_COM_SK_OK" +msgstr "Aceptar" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_COM_SK_DONE" +msgstr "Finalizado" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Amosando %d elementos" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Programa" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Toca dúas veces para pechar o menú." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Salt." + +msgid "IDS_COM_SK_SELECT" +msgstr "Selecc." + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d seleccion." + +msgid "IDS_ST_SK_NEXT" +msgstr "Seguinte" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Ocultaranse %d elementos." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Eliminaranse esta páxina e todos os elementos que contén." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Eliminar páxina" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Eliminar" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Amosar aplicacións ocultas" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ocultar aplicacións" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Amosar aplicac. desactivadas" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Non se pode desinstalar %s. No seu lugar, desactivarase." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Ocultarase 1 elemento." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Non se pode engadir este Home Box á pantalla de inicio. Non hai espazo suficiente na pantalla de inicio. Elimina algunha Home Box e téntao de novo." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Non se pode engadir" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Todas as páxinas" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Baleira" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Engadir Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Eliminar" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Eliminar carpeta" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "A carpeta eliminarase. As aplicacións desta carpeta non se desinstalarán." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manualmente" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Por nome (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s desinstalarase." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Non se poden reorganizar as iconas ordenadas por nome (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "FEITO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Ordenar elementos" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Ordenar elementos" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Non se pode engadir o widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Engadir widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Non hai espazo suficiente na pantalla de inicio. Elimina algúns widgets e téntao de novo." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Editar" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Editar" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temas" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplicación non instalada" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s e todas as funcións relacionadas desactivaranse. Para activala de novo, vai a Axustes > Xestor de aplicacións." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Alcanzouse o número máximo de aplicacións da carpeta (%d)." + diff --git a/res/po/hi.po b/res/po/hi.po new file mode 100755 index 0000000..476442f --- /dev/null +++ b/res/po/hi.po @@ -0,0 +1,402 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "रद्द" + +msgid "IDS_CAM_SK_OK" +msgstr "ओके" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "फोल्डर बनाएँ" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "दिखाएँ" + +msgid "IDS_COM_SK_OPEN" +msgstr "खोलें" + +msgid "IDS_MB_SK_EDIT" +msgstr "संपादन" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "जोड़ें" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "फोल्डर हटाएँ" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "फोल्डर नाम प्रविष्ट करें।" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "बनाएँ" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "लोड हो रहा है..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "एप्लीकेशंस" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "संगीत" + +msgid "IDS_ST_OPT_BASIC" +msgstr "मूल" + +msgid "IDS_ST_SK_HIDE" +msgstr "छिपाएँ" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "टिकबॉक्स" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "टिक करें" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "शीर्षक" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "अनटिक करें" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "स्थापना रद्द करें" + +msgid "IDS_AT_BUTTON_CHANGE_VIEW" +msgstr "दृश्य बदलें" + +msgid "IDS_AT_HEADER_PD_SELECTED" +msgstr "%d चयनित" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "जोड़ने के लिए एप्स चुनें" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "छिपाने के लिए एप्स चुनें" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "दिखाने के लिए एप्स चुनें" + +msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB" +msgstr "वर्णक्रमानुसार ग्रिड" + +msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB" +msgstr "अनुकूलित करने योग्य ग्रिड" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "इस रूप में देखें" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "पेज पुनः व्यवस्थित करने के लिए, आपको दृश्य प्रकार को अनुकूलित करने योग्य ग्रिड में बदलना होगा।" + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%s की स्थापना रद्द करें?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "मिनी एप्स" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "चयन हटाएँ" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "अनाम फोल्डर" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "एप ट्रे बंद करने के लिए दो बार टैप करें।" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "एप ट्रे खोलने के लिए दो बार टैप करें।" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "खोलने के लिए दो बार टैप करें।" + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "बटन" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "हटाएँ" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "अन्यत्र ले जाने के लिए डबल टैप और होल्ड करें।" + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "बंद करने के लिए दो बार टैप करें।" + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "ड्रॉप व्यू खोलें।" + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "पसंदीदा एप्स" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "अगली स्क्रीन में चुनी गई अधिकतम %d मदों के साथ होम स्क्रीन बनाई जाएगी।" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "पसंदीदा एप्लीकेशंस में" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "%s फोल्डर में ले जाएँ।" + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%s ले जाना" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "कोई सामग्री नहीं" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "%2$d में से %1$d पेज" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "स्थिति %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "फोल्डर खुला है।" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "यह फ़ोल्डर और इसकी सभी सामग्री को हटा देगा" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "अधिक ऐप जोड़ने में अक्षम। ऐप्स की अधिकतम संख्‍या पास हो गई है।" + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "डाटा लोड करने में अक्षम। फिर से प्रयास करने हेतु टैप करें।" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "वॉलपेपर्स" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "एप्स" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "हटाएँ" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "अक्षम करें" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "सहायता" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "होम" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "मैगज़ीन" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "फोन" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "मदें जोड़ें" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "फोल्डर" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "चिह्न पुनःव्यवस्थित करें" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "पेजेस पुनःव्यवस्थित करें" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "टेक्स्ट बॉक्स चुनें" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "टेम्प्लेट चुनें" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "टेक्स्ट बॉक्स जोड़ें" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "वॉलपेपर बदलें" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "फोल्डर बनाएँ" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "फोल्डर हटाएँ" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "डाउनलोड किए गए एप्स" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "एप्स निकालें और फोल्डर हटाएँ" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "यह एप्लीकेशन अक्षम करें?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "नए पेज में S Planner, कार्य और S Memo डायनेमिक बॉक्स शामिल होंगे" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "नए पेज में ट्विटर डायनेमिक बॉक्स शामिल होंगेा। अगली स्क्रीन पर, नए पेज पर प्रदर्शित करने के लिए आपके द्वारा अनुसरण किए जाने वाले %d अधिकतम लोगों का टाइमलाइन चुनें।" + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "यह फोल्डर हटा दिया जाएगा, लेकिन इसके अंदर की एप्लीकेशंस आपकी होम स्क्रीन पर उपलब्ध बनी रहेंगी। यह फोल्डर हटाएँ?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "पुन: लोड करने में विफल। डिवाइस मेमोरी पूरी भर गई।" + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "फ़ॉन्ट इस आकार में समर्थित नहीं है" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "रिक्ति प्रतिबंध के कारण अतिरिक्त पंक्ति जोड़ने में असमर्थ" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 अपठित मद" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "संपादन मोड" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "कुल %d चयनित।" + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d अपठित अधिसूचनाएँ" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "मेन्यू पॉप-अप" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "अगला पेज देखने के लिए दो उंगलियों से स्वाइप करें।" + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "पॉप-अप शीर्ष लेख" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "पॉप-अप के मुख्य भाग वाला टेक्‍स्‍ट" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "होम स्क्रीन" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "पेज %2$d के %1$d पर ले जाया गया।" + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "पंक्ति %1$d, स्तंभ %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "पेज जोड़ें" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "चयनित नहीं हुआ" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "रेडियो बटन" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "चयनित" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "चोको कुकी" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "कूल जैज" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "डिफॉल्ट फॉन्ट" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "रोजमेरी" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "संपर्क" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "वर्णो की संख्‍या अधिकतम पहुँची।" + +msgid "IDS_COM_SK_OK" +msgstr "ओके" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d मदें दिखाना" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "अनुसूची" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "मेन्यू बंद करने के लिए दोहरा टैप करें।" + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "छोड़ें" + +msgid "IDS_COM_SK_SELECT" +msgstr "चुनें" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "इंटरनेट" + +msgid "IDS_ST_SK_NEXT" +msgstr "अगला" + +msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB" +msgstr "एप्लीकेशंस व्यवस्थित करें" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d मदें छिपाई जाएँगी।" + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "यह पेज और इसमें शामिल सभी मदें हटा दी जाएँगी।" + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "पेज हटाएँ" + +msgid "IDS_HS_OPT_DELETE" +msgstr "हटाएँ" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "छिपे हुए एप्लीकेशंस दिखाएँ" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "एप्लीकेशंस छिपाएँ" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "अक्षम एप्लीकेशंस दिखाएँ" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s की स्थापना रद्द नहीं की जा सकती है। इसके बजाय इसे अक्षम किया जाएगा।" + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 मद छिपा दी जाएगी।" + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "इस होम बॉक्स को होम स्क्रीन पर जोड़ने में असमर्थ। होम स्क्रीन पर पर्याप्त स्थान नहीं है। कुछ होम बॉक्सेज निकालें और फिर से प्रयास करें।" + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "जोड़ने में अक्षम" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "होम बॉक्सेज" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "सभी पेजेस" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "रिक्‍त" + +msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "वर्णानुक्रम में मदें सॉर्ट करें" + +msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "वर्ण क्रम में मदें सॉर्ट करे" + +msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED" +msgstr "एप चिह्न और फोल्डर्स अक्षरक्रमानुसार क्रम में क्रमबद्ध किए जाएँगे। आपके द्वारा किए गए कोई भी अनुकूलन निरस्त किए जाएँगे।" + diff --git a/res/po/hr.po b/res/po/hr.po new file mode 100755 index 0000000..0116309 --- /dev/null +++ b/res/po/hr.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Prekid" + +msgid "IDS_CAM_SK_OK" +msgstr "U redu" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Nova mapa" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Prikaz" + +msgid "IDS_COM_SK_OPEN" +msgstr "Otvori" + +msgid "IDS_MB_SK_EDIT" +msgstr "Uredi" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Dodaj" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Obriši mapu" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Unesite naziv mape." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Novi" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Učitavanje..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplikacije" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Glazba" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Osnovno" + +msgid "IDS_ST_SK_HIDE" +msgstr "Sakrij" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Potvrdni okvir" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Označi" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Naslov" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Odznači" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Deinstaliraj" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Odab. apl. za dod." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Odaberi apl. za skrivanje" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Odaberi apl. za prikaz" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Pregled kao" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Da biste preuredili stranice, trebate promijeniti vrstu prikaza prilagodljive mreže." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Deinstalirati %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini aplik." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Odznači" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Mape bez naziva" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Dvostrukim dodirom zatvorite traku aplikacije." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Dvostrukim dodirom otvorite traku aplikacije." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Dodirnite dvaput za otvaranje." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Tipka" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Izbriši" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Dvaput dodirnite i držite za premještanje." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Dodirnite dvaput za zatvaranje." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Otvoren je padajući prikaz." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Omiljene aplikacije" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Napravit će se početni zaslon s do %d stavki odabranih na sljedećem zaslonu." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "U Omiljenim aplikacijama" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Premjesti u mapu %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Premještanje %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Bez sadržaja" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Stranica %1$d od %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Položaj %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Mapa je otvorena." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Obrisat ćete mapu i sve stavke koje sadrži." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Nemoguće dodati više aplikacija. Dosegnut maks. broj privitaka." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Nije moguće učitati podatke. Dodirnite radi ponavljanja." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Pozadine" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplik." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Obriši" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Isključi" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Pomoć" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Početna" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Časopis" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Dodaj stavke" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Mapa" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Razmjesti ikone" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Razmjesti stranice" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Odaberite tekstni okvir" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Odaberite predložak" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Dodaj tekstni okvir" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Promijeni pozadinu" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Kreiraj mapu" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Izbriši mapu" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Skinute aplikacije" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Izdvoj. apl. i izbrišite mapu" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Isključiti ovu aplikaciju?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Na novoj stranici bit će S Planer, Zadaci i Dynamic Boxovi aplikacije S Memo." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Na novoj stranici bit će Dynamic Boxovi aplikacije Twitter. Na sljedećem zaslonu odaberite do %d vremenskih crta osoba koje slijedite koje će se prikazati na novoj stranici." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Izbrisat će se ova mapa, ali aplikacije unutar nje ostat će dostupne na vašem početnom zaslonu. Izbrisati mapu?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Neuspješno učitavanje. Memorija uređaja je puna." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Slova nisu podržana u ovoj veličini." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Nemoguće dodati dodatnu liniju radi ograničenog prostora." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 nepročitana stavka" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Način uređivanja" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Odabrano ukupno %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d nepročitane obavijesti" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Skočni izbornik" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Kliznite s dva prsta za prikaz sljedeće stranice." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Zaglavlje skočnog prozora" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Tekst u glavnom dijelu skočnog prozora" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Početni zaslon" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Stranica premještena na %1$d od %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Red %1$d, stupac %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Dodaj stranicu" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Nije odabrano" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Tipka za radio" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Odabrano" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Zadana slova" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Imenik" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Maks. broj znakova." + +msgid "IDS_COM_SK_OK" +msgstr "U redu" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Prekid" + +msgid "IDS_COM_SK_DONE" +msgstr "OK" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Prikaz %d stavki" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Raspored" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Dvaput dodirnite da biste zatvorili izbornik." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Preskoči" + +msgid "IDS_COM_SK_SELECT" +msgstr "Odaberi" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d odabrano" + +msgid "IDS_ST_SK_NEXT" +msgstr "Dalje" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d stavki bit će skriveno." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Izbrisat će se ova stranica i sve stavke koje sadrži." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Brisanje stranice" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Obriši" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Prikaz skrivenih aplikacija" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Skrivanje aplikacija" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Prikaz isključenih aplikacija" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s se ne može deinstalirati. Umjesto toga će se onemogućiti." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Sakrit će se 1 stavka." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Nije moguće dodati ovaj Home Box na početni zaslon. Nema dovoljno prostora na početnom zaslonu. Uklonite Home Boxeve i pokušajte ponovno." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Nije moguće dodati" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxovi" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Sve stranice" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Prazno" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dodajte Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Ukloni" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Obriši mapu" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Mapa će biti uklonjena. Aplikacije u toj mapi neće se deinstalirati." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Ručno" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Po imenu (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s će se deinstalirati." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Nije moguće presložiti ikone razvrstane prema nazivu (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GOTOVO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ODUSTANI" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Razvrstaj stavke" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Razvrstavanje stavki" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgeti" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Nije moguće dodati widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Dodavanje widgeta" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Nema dovoljno prostora na početnom zaslonu. Uklonite neke widgete i pokušajte ponovno." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Uredi" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Uredi" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Teme" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplikacija nije instalirana." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s i sve značajke povezane s time bit će isključene. Da biste ga ponovno uključili, idite na Postavke > Upravljanje aplikacijama." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Dosegnut je maksimalan broj aplikacija u mapi (%d)." + diff --git a/res/po/hu.po b/res/po/hu.po new file mode 100755 index 0000000..5c8f6e8 --- /dev/null +++ b/res/po/hu.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Mégse" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Mappát létrehoz" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Mutass" + +msgid "IDS_COM_SK_OPEN" +msgstr "Megnyit" + +msgid "IDS_MB_SK_EDIT" +msgstr "Szerkeszt" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Hozzáad" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Mappa törlése" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Adja meg a mappa nevét." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Új" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Betöltés..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Alkalmazások" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Zenék" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Alapvető" + +msgid "IDS_ST_SK_HIDE" +msgstr "Elrejtés" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Jelölőnégyzet" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Bejelölés" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Cím" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Bejelölés törlése" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Eltávolítás" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Válasszon alk.kat" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Elrejtendő alk. kivál." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Megjelen.endő alk. kivál." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Megtekintés" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Az oldalak átrendezéséhez módosítsa a megjelenítés típusát testreszabható rácsra." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Eltávolítja a(z) %s animált emotikont?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Minialk." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Kijelölés törlése" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Névtelen mappa" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Érintse meg kétszer az alkalmazástálca bezárásához." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Érintse meg kétszer az alkalmazástálca megnyitásához." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Érintse meg kétszer a megnyitáshoz." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Gomb" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Törlés" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Áthelyezéshez kétszer érintse meg, majd tartsa." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Érintse meg kétszer a bezáráshoz." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Lenyíló nézet megnyitva." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Kedvenc alkalmazások" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "A kezdőképernyő kialakításához válasszon ki legfeljebb %d tételt a következő képernyőn" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "A Kedvenc alkalmazásokban" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Áthelyezés a %s mappába." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%s áthelyezése" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Nincs tartalom" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "%1$d. oldal, összesen: %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "%d számú pozíció" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Megnyitotta a mappát." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Ezzel törli a mappát és annak minden elemét." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Nem lehet több alkalmazást hozzáadni. Elérte az alkalmazások maximális számát." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Nem lehet betölteni az adatokat. Érintse meg az újabb próbálkozáshoz." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Háttérképek" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Alk." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Törlés" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Letiltás" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Súgó" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Kezdő" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Folyóirat" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Elemek hozzáadása" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Mappa" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Ikonok átrendezése" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Oldalak átrendezése" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Válasszon egy szövegmezőt" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Sablon kiválasztása" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Szövegmező hozzáadása" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Háttérkép módosítása" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Mappa létrehozása" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Mappa törlése" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Letöltött alk." + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Alk. kibont. és mappa törlése" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Törli az alkalmazást?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Az új oldalt az S Tervező, a Feladatok és az S Memo Dynamic Boxai alkotják majd." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Az új oldalt a Twitter Dynamic Boxai alkotják majd. A következő képernyőn válassza ki legfeljebb %d Ön által követett személy idővonalának megjelenítését." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "A mappa törlődik, a benne található alkalmazások azonban elérhetők maradnak a kezdőképernyőn. Törli a mappát?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Nem sikerült újra betölteni. Az eszköz memóriája megtelt." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "A betűtípus ebben a méretben nincs támogatva." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Helykorlátozás miatt nem lehet további sort hozzáadni." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 olvasatlan tétel" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Szerkesztési mód" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d van összesen kijelölve." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d olvasatlan értesítés" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Előugró menü" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Simítson két ujjal a következő oldal megjelenítéséhez." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Előugró ablak fejléce" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Előugró ablak törzsének szövege" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Kezdőképernyő" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Oldal áthelyezve %2$d közül a %1$d számú helyre." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "%1$d. sor, %2$d. oszlop" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Oldal hozzáadása" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Nincs kijelölve" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Választógomb" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Kiválasztva" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Alapértelmezett betűtípus" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Névjegyek" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Nincs hely több karakternek." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Mégse" + +msgid "IDS_COM_SK_DONE" +msgstr "Kész" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d tétel jelent meg" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Programok" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Kétszeri érintéssel bezárhatja a menüt." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Átugrik" + +msgid "IDS_COM_SK_SELECT" +msgstr "Választ" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d kijelölve" + +msgid "IDS_ST_SK_NEXT" +msgstr "Tovább" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d tétel rejtett lesz." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Törli ezt az oldalt és annak minden elemét." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Oldal törlése" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Töröl" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Rejtett alkalm. megjelenítése" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Alkalmazások elrejtése" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Tiltott alkalm. megjelenítése" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "A(z) %s alkalmazást nem lehet eltávolítani, a rendszer azonban kikapcsolja azt." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 elemet elrejt." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Nem lehet hozzáadni a Home Boxot kezdőképernyőhöz. Nincs elég hely a kezdőképernyőn. Távolítson el Home Boxokat, és próbálja újra." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Nem adható hozzá" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxok" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Összes oldal" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Üres" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box hozzáadása" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Eltávolítás" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Mappa eltávolítása" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "El fogja távolítani a mappát. A mappában található alkalmazások el lesznek távolítva a rendszerből." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuálisan" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Név szerint (A–Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "El fogja távolítani a(z) %s alkalmazást." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "A név szerint (A–Z) rendezett ikonokat nem lehet átrendezni." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "KÉSZ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "MÉGSE" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Elemek rendezése" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Elemek rendezése" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgetek" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Nem adható hozzá a widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Widget hozzáadása" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Nincs elég hely a kezdőképernyőn. Távolítson el widgeteket, és próbálja újra." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Szerkesztés" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Szerkesztés" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Témák" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Az alkalmazás nincs telepítve." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "A(z) %s és minden kapcsolódó funkció le lesz tiltva. Az újbóli engedélyezéshez válassza a Beállítások > Alkalmazáskezelő menüpontot." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Elérte az egy mappához adható alkalmazások maximális számát (%d)." + diff --git a/res/po/hy.po b/res/po/hy.po new file mode 100755 index 0000000..b5ed403 --- /dev/null +++ b/res/po/hy.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Չեղարկել" + +msgid "IDS_CAM_SK_OK" +msgstr "Ընդունել" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Ստեղծել թղթապանակ" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Ցույց տալ" + +msgid "IDS_COM_SK_OPEN" +msgstr "Բացել" + +msgid "IDS_MB_SK_EDIT" +msgstr "Խմբագրել" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Ավլնլ" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Ջնջել թղթապանակը" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Մուտքագրեք թղթապանակի անունը:" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Ստղծլ" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Բեռնում է..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Ծրագրեր" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Երաժշտություն" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Հիմնական" + +msgid "IDS_ST_SK_HIDE" +msgstr "Թքցնել" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Նշման վանդակ" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Նշել" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Վերնագիր" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Նշումը հանել" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Ապատեղադրել" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Ընտրլ ավլց. ծրգրեր" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Ընտրել թաքցնելու ծրագրեր" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Ընտրել ցույց տալու ծրգրեր" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Դիտել որպես" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Էջերը վերադասավորելու համար հարկավոր է դիտման տեսակը փոխել ընտրակայելի ցանցի:" + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Ապատեղադրե՞լ %s-ը:" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Փոքր ծրագրեր" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Հանել նշումը" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Անանուն թղթապանակ" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Կրկնակի թակեք՝ ծրագրերի մատուցարանը փակելու համար:" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Կրկնակի թակեք՝ ծրագրերի մատուցարանը բացելու համար:" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Կրկնակի թակեք բացելու համար:" + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Կոճակ" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Վերացնել" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Տեղափոխելու համար կրկնակի թակեք և պահեք:" + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Կրկնակի թակեք փակելու համար:" + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Ընկնող դիտումը բաց է:" + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Սիրված ծրագրեր" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Հիմնական էկրանը կձևավորվի հաջորդ էկրանում ընտրված մինչև %d տարրերով" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Սիրված ծրագրերում" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Տեղափոխեք %s պանակի մեջ:" + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Տեղափոխվող %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Բովանդակություն չկա" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Էջ %1$d՝ %2$d-ից" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Դիրք %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Թղթապանակը բաց է:" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Դա կվերացնի թղթապանակն ու այնտեղ պարունակվող բոլոր տարրերը:" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Անհնար է այլ ծրագրեր ավելացնել. հասել է ծրագրերի առավելագույն քանակին:" + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Անհնար է տվյալներ բեռնել: Թակեք՝ նորից փորձելու համար" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Պաստառներ" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Ծրգրեր" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Վրցնլ" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Անջատել" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Օգնութ." + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Հիմն." + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Ամսագիր" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Հեռախոս" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Տարրեր ավելացնել" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Թղթապանակ" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Վերադասավորել պատկերակները" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Վերադասավորել էջերը" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Ընտրել տեքստային պատուհան" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Ընտրել ձևանմուշ" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Ավլցնլ տեքստ. պատուհան" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Փոխել պաստառը" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Ստեղծել պանակ" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Վերացնել պանակ" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Ներբեռնված ծրագրեր" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Դ. բերեք ծրգ. և վերացրեք պանակ" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Վերացնե՞լ այս ծրագիրը:" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Նոր էջը բաղկացած կլինի S Planner-ից, Առաջադրանքներից և S Memo-ի Dynamic Box-երից" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Նոր էջը բաղկացած կլինի Twitter-ի Dynamic Box-երից: Հաջորդ էկրանի վրա ընտրեք այն մարդկանց մինչև %d ժամանակի սանդղակներ, ում հետևում եք՝ դրանք նոր էջում ցուցադրելու համար:" + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Այս պանակը կվերացվի, բայց այնտեղ գտնվող ծրագրերը մատչելի կմնան հիմնական էկրանի վրա. վերացնե՞լ այս պանակը:" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Չհաջողվեց վերաբեռնել. սարքի հիշողությունը լիքն է:" + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Այս չափի տառատեսակը չի ապահովվում" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Անհնար է հավելյալ տող ավելացնել՝ տարածքի սահմանափակման պատճառով" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 չկարդացված տարր" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Խմբագրման ռեժիմ" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Ընդամենն ընտրվել է %d:" + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d չկարդացված ծանուցումներ" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Ընտրացանկի ելնող պատուհան" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Հաջորդ էջը դիտելու համար սահեցրեք երկու մատը:" + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Ելնող խորագիր" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Տեքստ՝ ելնող պատուհանում" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Աշխատասեղան" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Էջը տեղափոխվել էր դեպի %2$d-ի %1$d:" + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Տող %1$d, սյունակ %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Ավելացնել էջ" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Չի ընտրվել" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Ռադիոկոճակ" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Ընտրված" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Կանխադրված տառատեսակ" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Կոնտակտներ" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Հասել եք նիշերի առավելագույն քանակին:" + +msgid "IDS_COM_SK_OK" +msgstr "Ընդունել" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Չեղարկել" + +msgid "IDS_COM_SK_DONE" +msgstr "Պատրաստ" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Ցույց է տրվում %d տարր" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Ժամանակացույց" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Կրկնակի թակեք՝ ընտրացանկը փակելու համար:" + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Բա թղ" + +msgid "IDS_COM_SK_SELECT" +msgstr "Ընտրել" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Ինտերնետ" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d ընտրված" + +msgid "IDS_ST_SK_NEXT" +msgstr "Հաջորդ" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d տարրեր կթաքնվեն:" + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Այս էջն ու պարունակվող բոլոր տարրերը կջնջնվեն:" + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Ջնջել էջը" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Ջնջել" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Ցուցադրել թաքցված ծրագրերը" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Թաքցնել ծրագրերը" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Ցուցադրել անջատած ծրագրերը" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s-ը չի կարող ապատեղադրվել: Փոխարենը՝ այն կկասեցվի:" + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 տարր կթաքցվի:" + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Անհնար է այս Home Box-ն ավելացնել հիմնական էկրանին: Հիմնական էկրանի վրա բավարար տեղ չկա: Հեռացրեք որոշ Home Box-եր և նորից փորձեք:" + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Անհնար է ավելացնել" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box-եր" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Բոլոր էջերը" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Դատարկ" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Ավելացնել Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Հեռացնել" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Հեռացնել թղթապանակ" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Թղթապանակը կհեռացվի: Այս թղթապանակում եղած ծրագրերը չեն ապատեղադրվի:" + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Ձեռքով" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Ըստ անվան (Ա-Ֆ)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s կապատեղադրվի:" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Անհնար է վերադասավորել ըստ անվան (Ա-Ֆ) տեսակավորված պատկերակները:" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ԱՐՎԱԾ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ԴԱԴԱՐԵՑՆԵԼ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Տեսակավորել տարրերը" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Տեսակավորել տարրերը" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Պատկերագրեր" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Անհնար է ավելացնել պատկերագիր" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Ավելացնել պատկերագիր" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Հիմնական էկրանի վրա բավարար տեղ չկա: Հեռացրեք որոշ պատկերագրեր և նորից փորձեք:" + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Խմբագրել" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Խմբագրել" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Թեմաներ" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Գործադիրը տեղադրված չէ:" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s-ն ու դրան առնչվող բոլոր գործառական հնարավորությունները կկասեցվեն: Այն նորից ընձեռելու համար գնացեք Դրվածքներ > Ծրագրի վարիչ" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Հասել է պանակում ծրագրերի առավելագույն քանակին (%d):" + diff --git a/res/po/is.po b/res/po/is.po new file mode 100755 index 0000000..0c8cc93 --- /dev/null +++ b/res/po/is.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Hætta við" + +msgid "IDS_CAM_SK_OK" +msgstr "Í lagi" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Búa til möppu" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Birta" + +msgid "IDS_COM_SK_OPEN" +msgstr "Opna" + +msgid "IDS_MB_SK_EDIT" +msgstr "Breyta" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Bæta" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Eyða möppu" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Ritið heiti möppu." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Búa til" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Hleð..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Forrit" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Tónlist" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Venjulegt" + +msgid "IDS_ST_SK_HIDE" +msgstr "Hylja" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Merkibox" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Merkja" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Titill" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Afmerkja" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Fjarlægja" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Veldu forrit" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Veldu forrit til að fela" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Veldu forrit til að sýna" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Sjá sem" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Til að endurraða síðum þarftu að breyta skoðunarstillingunni í stillanlega töflu." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Fjarlægja %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Smá-forrit" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Afvelja" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Ónefnd mappa" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Pikkaðu tvisvar til að loka forritaskúffu." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Pikkaðu tvisvar til að opna forritaskúffu." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Pikkaðu tvisvar til að opna." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Hnappur" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Eyða" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Tvípikkaðu og haltu fingri á skjánum til að færa." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Tvípikkaðu til að loka." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Felligluggi opinn." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Uppáhaldsforrit" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Heimaskjár verður búinn til með allt að %d atriðum sem valin eru á næsta skjá" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Í uppáhaldsforritum" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Færa í möppuna %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Færi %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Efni vantar" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Síða %1$d af %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Staða %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Mappan er opin." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Þetta eyðir möppunni og öllum atriðum sem í henni eru." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Ekki er hægt að bæta við fleiri forritum. Hámarksfjölda forrita hefur verið náð." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Ekki tókst að hlaða gögn. Pikkaðu til að reyna aftur." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Veggfóður" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Forrit" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Eyða" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Slökkva" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Hjálp" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Heim" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Tímarit" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Í síma" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Bæta við hlutum" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Mappa" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Endurraða táknum" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Endurraða síðum" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Veldu textareit" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Velja sniðmát" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Bæta við textareit" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Skipta um veggfóður" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Búa til möppu" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Eyða möppu" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Sótt forrit" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Flytja forrit út og eyða möppu" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Viltu gera þetta forrit óvirkt?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Nýja síðan mun samanstanda af Dynamic Box fyrir S Planner, Verkefni og S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Nýja síðan mun samanstanda af Dynamic Box fyrir Twitter. Á næsta skjá skaltu velja allt að %d tímalínur fólks sem þú fylgist með og vilt birta á nýju síðunni." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Þessari möppu verður eytt en forritin sem í henni eru verða áfram tiltæk á heimaskjánum. Viltu eyða möppunni?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Mistókst að endurhlaða. Minni tækisins er fullt." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Leturgerð er ekki studd í þessari stærð." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Ekki er nægt pláss til að bæta við annarri línu." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "Eitt ólesið atriði" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Breytingastilling" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d valin alls." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d ólesnar tilkynningar" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Sprettivalmynd" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Strjúktu með tveimur fingrum til að skoða næstu síðu." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Sprettihaus" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Texti í meginmáli sprettiglugga" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Heimaskjár" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Síða færð á %1$d af %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Lína %1$d, dálkur %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Bæta við síðu" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Ekki valið" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Valhringur" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Valið" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Sjálfgefin leturgerð" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Tengiliðir" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Hámarksfjölda stafa hefur verið náð." + +msgid "IDS_COM_SK_OK" +msgstr "Í lagi" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Hætta við" + +msgid "IDS_COM_SK_DONE" +msgstr "Lokið" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Birti %d atriði" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Dagskrá" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Tvípikkaðu til að loka valmyndinni." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Sl." + +msgid "IDS_COM_SK_SELECT" +msgstr "Velja" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internetið" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d valið" + +msgid "IDS_ST_SK_NEXT" +msgstr "Næsta" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d atriði voru falin." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Þessari síðu og öllum atriðum á henni verður eytt." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Eyða síðu" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Eyða" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Sýna falin forrit" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Fela forrit" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Sýna óvirk forrit" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Ekki er hægt að fjarlægja %s. Það verður gert óvirkt í staðinn." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 atriði verður falið." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Ekki er hægt að bæta þessum heimakassa á heimaskjáinn. Ekki er nægt pláss á heimaskjánum. Fjarlægðu einhverja heimakassa og reyndu aftur." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Ekki hægt að bæta við" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Heimakassar" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Allar síður" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Autt" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Bæta við Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Fjarlægja" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Fjarlægja möppu" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Mappa verður fjarlægð. Forrit í þessari möppu verða ekki fjarlægð." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Handvirkt" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Eftir heiti (A–Ö)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s verður fjarlægt." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Ekki er hægt að endurraða táknum sem eru í stafrófsröð (A–Ö)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "LOKIÐ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "HÆTTA VIÐ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Raða atriðum" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Raða atriðum" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Græjur" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Ekki er hægt að bæta við græju" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Bæta við græju" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Ekki er nægt pláss á heimaskjánum. Fjarlægðu einhverjar græjur og reyndu aftur." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Breyta" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Breyta" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Þemu" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Forritið var ekki sett upp." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s og allir tengdir eiginleikar verða gerðir óvirkir. Farðu í Stillingar > Forritastjórnun til að gera það virkt að nýju." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Hámarksfjölda forrita í möppu (%d) hefur verið náð." + diff --git a/res/po/it_IT.po b/res/po/it_IT.po new file mode 100755 index 0000000..d59d4b1 --- /dev/null +++ b/res/po/it_IT.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Annulla" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Crea cartella" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Mostra" + +msgid "IDS_COM_SK_OPEN" +msgstr "Apri" + +msgid "IDS_MB_SK_EDIT" +msgstr "Modifica" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Agg." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Elimina cartella" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Inserite nome cartella" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Crea" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Caricamento..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Applicazioni" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musica" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Di base" + +msgid "IDS_ST_SK_HIDE" +msgstr "Nascondi" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Casella di selezione" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Seleziona" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Titolo" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Deseleziona" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Disinstalla" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Selez. app da agg." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Selez. app da nascondere" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Selez. le app da mostrare" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Visualizza come" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Per riorganizzare le pagine, occorre modificare la modalità di visualizzazione, passando alla griglia personalizzabile." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Disinstallare %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini app" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Deseleziona" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Cartella senza nome" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Toccate due volte per chiudere la barra delle applicazioni." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Toccate due volte per aprire la barra delle applicazioni." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Toccate due volte per aprire." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Pulsante" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Elimina" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Toccate due volte e tenete premuto per spostarvi." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Toccate due volte per chiudere." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Vista a tendina aperta." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Applicazioni preferite" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "La schermata Home verrà formata da un massimo di %d elementi selezionati nella schermata successiva" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "In applicazioni preferite" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Sposta nella cartella %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Spostamento di %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Nessun contenuto" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Pagina %1$d di %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Posizione %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "La cartella è aperta." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "La cartella e tutti gli elementi contenuti verranno eliminati." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Impossibile aggiungere altre applicazioni. Raggiunto numero massimo di applicazioni." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Impossibile caricare i dati. Toccate per riprovare." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Sfondi" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Appl." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Elimina" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Disattiva" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Guida" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Home" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Rivista" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Tel." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Aggiungi elementi" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Cartella" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Riorganizza icone" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Riorganizza pagine" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Selez. casella di testo" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Seleziona modello" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Agg. casella di testo" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Modifica sfondo" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Crea cartella" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Elimina cartella" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Applicazioni scaricate" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Estrai app ed elimina cartella" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Disattivare quest'applicazione?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "La nuova pagina conterrà Calendario, Attività e le Dynamic Box di S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "La nuova pagina conterrà le Dynamic Box di Twitter. Nella schermata successiva, selezionate un massimo di %d timeline delle persone che state seguendo da visualizzare nella nuova pagina." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Questa cartella verrà eliminata, ma le applicazioni al suo interno rimarranno disponibili sulla schermata Home. Eliminare la cartella?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Impossibile caricare nuovamente. La memoria del dispositivo è piena." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Tipo di carattere non supportato in queste dimensioni." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Non è possibile aggiungere un'altra riga a causa delle restrizioni di spazio." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 elemento non letto" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Modalità di modifica" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d selezionati in totale." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notifiche non lette" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Popup menu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Trascinate con due dita per visualizzare la pagina successiva." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Titolo popup" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Testo nel corpo del popup" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Schermata Home" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Pagina spostata da %1$d di %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Riga %1$d, colonna %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Aggiungere pagina" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Non selezionato" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Pulsante di opzione" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Selezionato" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Carattere predefinito" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Rubrica" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Raggiunto numero massimo di caratteri." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Annulla" + +msgid "IDS_COM_SK_DONE" +msgstr "Fatto" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d elementi visualizzati" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Programma" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Toccate due volte per chiudere il menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Salta" + +msgid "IDS_COM_SK_SELECT" +msgstr "Seleziona" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d selezionate" + +msgid "IDS_ST_SK_NEXT" +msgstr "Avanti" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d elementi verranno nascosti." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "La pagina e tutti gli elementi contenuti verranno eliminati." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Elimina pagina" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Elimina" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Mostra applicazioni nascoste" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Nascondi applicazioni" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Mostra applicazioni disattivate" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Impossibile disinstallare %s. L'applicazione verrà disattivata." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 elemento verrà nascosto." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Impossibile aggiungere questa Home Box alla schermata Home. Spazio insufficiente nella schermata Home. Rimuovete alcune Home Box e riprovate." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Impossibile aggiungere" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Tutte le pagine" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Vuoto" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Aggiungi Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Rimuovi" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Rimuovi cartella" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "La cartella verrà rimossa. Le applicazioni in questa cartella non verranno disinstallate." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manualmente" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Per nome (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s sarà disinstallato." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Impossibile riorganizzare le icone ordinate per nome (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "FATTO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULLA" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Ordina elementi" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Ordina elementi" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widget" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Impossibile aggiungere widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Aggiungi widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Spazio insufficiente nella schermata Home. Rimuovete alcuni widget e riprovate." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Modifica" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Modifica" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temi" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Applicazione non installata." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s e tutte le funzionalità correlate verranno disattivate. Per abilitarle nuovamente, andate in Impostazioni > Gestione applicazioni." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "È stato raggiunto il numero massimo di applicazioni nella cartella (%d)." + diff --git a/res/po/ja_JP.po b/res/po/ja_JP.po new file mode 100755 index 0000000..2f286cf --- /dev/null +++ b/res/po/ja_JP.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "キャンセル" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "フォルダ作成" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "表示" + +msgid "IDS_COM_SK_OPEN" +msgstr "開く" + +msgid "IDS_MB_SK_EDIT" +msgstr "編集" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "追加" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "フォルダを削除" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "フォルダ名を入力してください。" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "作成" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "読み込み中..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "アプリケーション" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "音楽" + +msgid "IDS_ST_OPT_BASIC" +msgstr "標準" + +msgid "IDS_ST_SK_HIDE" +msgstr "非表示" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "チェックボックス" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "チェックを付ける" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "タイトル" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "チェックを外す" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "アンインストール" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "追加アプリを選択" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "非表示にするアプリを選択" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "表示するアプリを選択" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "表示形式" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "ページを並べ替えるには、表示タイプをカスタマイズ可能グリッドに変更する必要があります。" + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%sをアンインストールしますか?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "ミニアプリ" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "選択解除" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "名称未設定のフォルダ" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "アプリトレイを閉じるにはダブルタップします。" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "アプリトレイを開くにはダブルタップします。" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "開くにはダブルタップしてください。" + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "ボタン" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "削除" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "移動するには、ダブルタップして長押しします。" + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "閉じるにはダブルタップします。" + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop Viewが開きました。" + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Boxです。" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "お気に入りアプリ" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "ホーム画面は次の画面で選択した%d件までのアイテムで構成されます。" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "お気に入りアプリケーションの中で" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "%sフォルダに移動します。" + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%sを移動" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "コンテンツがありません" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "%2$dページ中%1$dページ" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "ポジション%d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "フォルダを開きます。" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "フォルダとフォルダ内のアイテムを全て削除します。" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "これ以上アプリを追加できません。アプリの最大数に達しました。" + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "データをロードできません。タップして再度実行してください。" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "壁紙" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "アプリ" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "削除" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "無効" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "ヘルプ" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "ホーム" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "マガジン" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "電話" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "アイテムを追加" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "フォルダ" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "アイコンを並べ替え" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "ページを並べ替え" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "テキストボックスを選択" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "テンプレートを選択" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "テキストボックスを追加" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "壁紙を変更" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "フォルダを作成" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "フォルダを削除" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "ダウンロード済みアプリ" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "フォルダを削除してアプリを展開" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "このアプリケーションを無効にしますか?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "新しいページには、Sプランナー、タスク、SメモのDynamic Boxがあります。" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "新しいページには、TwitterのDynamic Boxがあります。フォロー中の人たちのタイムラインを表示するために、次の画面で最大%d人まで選択してください。" + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "このフォルダは削除されますが、フォルダ内のアプリケーションはホーム画面で引き続き利用できます。このフォルダを削除しますか?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "再読み込みに失敗しました。システムメモリ(本体)の容量がいっぱいです。" + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "選択したフォントは、設定中のフォントサイズに対応していません。" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "スペースの制限により行を追加できません。" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1件の未読アイテム" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "編集モード" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "合計%d件を選択しました。" + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d件の未読通知" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "メニューのポップアップ" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "次のページを表示するには、2本の指でスワイプします。" + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "ポップアップのヘッダーです。" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "ポップアップの本文テキストです。" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "ホーム画面" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "ページを%2$dページ中%1$dページ目に移動しました。" + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "%1$d行、%2$d列" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "ページを追加" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "選択なし" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "ラジオボタン" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "選択" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "チョコクッキー" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "クールジャズ" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "標準フォント" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "ローズマリー" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "電話帳" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "最大文字数に達しました。" + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "キャンセル" + +msgid "IDS_COM_SK_DONE" +msgstr "完了" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d件のアイテムを表示" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UD丸ゴシック" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UD明朝" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDゴシック" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "予定" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "ポップ" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "UD丸ゴシック" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "メニューを閉じるにはダブルタップします。" + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "スキップ" + +msgid "IDS_COM_SK_SELECT" +msgstr "選択" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "ブラウザ" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d件選択" + +msgid "IDS_ST_SK_NEXT" +msgstr "次へ" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d件のアイテムを非表示にします。" + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "このページとその中の全てのアイテムを削除します。" + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "ページを削除" + +msgid "IDS_HS_OPT_DELETE" +msgstr "削除" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "非表示のアプリを表示" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "アプリを非表示" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "無効なアプリを表示" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%sをアンインストールすることができません。代わりにアプリは無効になります。" + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1件のアイテムを非表示にします。" + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "ホーム画面に十分なスペースがないため、Home Boxをホーム画面に追加することができません。不要なHome Boxを削除し、再度実行してください。" + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "追加不可" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "全てのページ" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "空白です。" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Boxを追加" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "削除" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "フォルダを削除" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "フォルダを削除します。フォルダ内のアプリケーションはアンインストールされません。" + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "手動" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "名前順(A~Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%sをアンインストールします。" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "名前順(A~Z)で表示しているアイコンを並べ替えることはできません。" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "完了" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "キャンセル" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "アイテムを並べ替え" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "アイテムを並べ替え" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "ウィジェット" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "ウィジェットの追加不可" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "ウィジェットを追加" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "ホーム画面に十分なスペースがありません。不要なウィジェットを削除して再度実行してください。" + +msgid "IDS_HS_HEADER_EDIT" +msgstr "編集" + +msgid "IDS_HS_OPT_EDIT" +msgstr "編集" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "テーマ" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "アプリケーションがインストールされていません。" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%sと関連する全ての機能が無効になります。再度有効にするには、[設定] > [アプリケーション管理]に移動してください。" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "フォルダ内のアプリケーションの最大件数(%d件)に達しました。" + diff --git a/res/po/ka.po b/res/po/ka.po new file mode 100755 index 0000000..ac82594 --- /dev/null +++ b/res/po/ka.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "გაუქმება" + +msgid "IDS_CAM_SK_OK" +msgstr "კი" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "შექმენი საქაღალდე" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "ჩვენება" + +msgid "IDS_COM_SK_OPEN" +msgstr "გახსნა" + +msgid "IDS_MB_SK_EDIT" +msgstr "რედაქტ." + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "დამატ." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "საქაღალდის წაშლა" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "შეიყვანეთ საქაღალდის სახელი." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "შექმნა" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "იტვირთება..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "პროგრამები" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "მუსიკა" + +msgid "IDS_ST_OPT_BASIC" +msgstr "ძირითადი" + +msgid "IDS_ST_SK_HIDE" +msgstr "დამალვა" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "მოსანიშნი უჯრა" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "მონიშვნა" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "სათაური" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "მონიშვნის გაუქმება" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "ინსტალაციის გაუქმება" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "აირჩიეთ დასამატებ." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "აირჩიეთ დასამალი აპები" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "აირჩიეთ გამოსაჩენი აპები" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "დათვალიერება როგორც" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "თუ გსურთ სხვაგვარად დაალაგოთ გვერდები, უნდა აირჩიოთ გაფორმებადი ბადის ხედი." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "ამოინსტალირდეს %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "მინი-პროგრამები" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "მონიშვნის მოხსნა" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "საქაღალდე სახელის გარეშე" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "შეეხეთ ორჯერ და პროგრამის ლანგარი დაიხურება." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "შეეხეთ ორჯერ და პროგრამის ლანგარი გაიხსნება." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "გასახსნელად შეეხეთ ორჯერ." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "ღილაკი" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "წაშლა" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "ორჯერ შეეხეთ და არ აუშვათ ხელი, რომ გადაიტანოთ." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "ორჯერ შეეხეთ და დაიხურება." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "ჩასმის ხედი გახსნილია." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "ფავორიტი პროგრამები" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "საწყისი ეკრანი შედგენილი იქნება შემდეგ ეკრანზე არჩეული %d ელემენტისგან" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "ფავორიტ პროგრამებში" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "„%s“ საქაღალდეზე გადასვლა." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "გადაადგილდება %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "მასალა არ არის" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "გვერდი %1$d, სულ %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "პოზიცია %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "საქაღალდე ღიაა." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "ამით წაიშლება საქაღალდე და მთელი მისი შემცველობა." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "პროგრამების დამატება შეუძლებელია. მიღწეულია პროგრამების მაქსიმალური რაოდენობა." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "მონაცემთა ჩატვირთვა შეუძლებელია. შეეხეთ და გაიმეორეთ მცდელობა" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "ფონები" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "პროგრ." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "წაშლა" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "გამორთვა" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "დახმარ." + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "საწ.გვ" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "ჟურნალი" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "ტელ." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "ელემენტების დამატება" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "საქაღალდე" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "ნიშნების თავიდან დალაგება" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "გვერდების თავიდან დალაგება" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "აირჩიეთ ტექსტური ველი" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "აირჩიეთ შაბლონი" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "დაამატეთ ტექსტური ველი" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "ფონის შეცვლა" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "საქაღალდის შექმნა" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "საქაღალდის წაშლა" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "ჩამოტვირთული პროგრამები" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "ამოიღე აპები, წაშალე საქაღალდე" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "გამოირთოს ეს პროგრამა?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "ახალი გვერდის შემადგენლობაში შევა S Planner-ს, დავალებებისა და S Memo-ს Dynamic Box-ები" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "ახალ გვერდზე იქნება Twitter-ის Dynamic Box-ები. შემდეგ გვერდზე აირჩიეთ ახალ გვერდზე გამოსაჩენი მაქსიმუმ %d მომხმარებლის ქრონიკა, რომლებსაც ადევნებთ თვალს." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "ეს საქაღალდე წაიშლება, მაგრამ მასში მყოფი პროგრამების გახსნას შეძლებთ საწყის ეკრანიდან. წაიშალოს ეს საქაღალდე?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "ჩატვირთვა ვერ გამეორდა. აპარატის მეხსიერება სავსეა." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "ამ ზომის შრიფტი არ არის გათვალისწინებული" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "დამატებითი ხაზის დამატება შეუძლებელია ადგილის შეზღუდვის გამო" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 წაუკითხავი ელემენტი" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "რედაქტირების რეჟიმი" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "სულ შერჩეულია %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d წაუკითხავი შეტყობინება" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "მენიუს სარკმელი" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "შემდეგი გვერდი ნახეთ ორი თითის გადასმით." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "დიალოგის სარკმლის თავსართი" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "დიალოგის სარკმელში ნაჩვენები ტექსტი" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "საწყისი ეკრანი" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "გვერდი გადავიდა %1$d-ზე, სულ %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "სტრიქონი %1$d, სვეტი %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "გვერდის დამატება" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "არ არის არჩეული" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "მოსანიშნი წრე" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "შერჩეულია" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "საწყისი ფონტი" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "კონტაქტები" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "მიღწეულია სიმბოლოების მაქსიმალური რაოდენობა." + +msgid "IDS_COM_SK_OK" +msgstr "კი" + +msgid "IDS_COM_SK_CANCEL" +msgstr "გაუქმება" + +msgid "IDS_COM_SK_DONE" +msgstr "შესრულდა" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "ჩანს %d ელემენტი" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "განრიგი" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "შეეხეთ ორჯერ და მენიუ დაიხურება." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "გამოტ." + +msgid "IDS_COM_SK_SELECT" +msgstr "არჩევა" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "ინტერნეტი" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d არჩეულია" + +msgid "IDS_ST_SK_NEXT" +msgstr "შემდეგი" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d ელემენტი დაიმალება." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "წაიშლება გვერდი და მთელი მისი შემცველობა." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "გვერდის წაშლა" + +msgid "IDS_HS_OPT_DELETE" +msgstr "წაშლა" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "დამალული აპლიკაციების ჩვენება" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "აპლიკაციების დამალვა" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "გათიშული აპლიკაციების ჩვენება" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s ვერ დეინსტალირდება. სანაცვლოდ, გამოირთვება." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 ელემენტი დაიმალება." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "საწყის ეკრანზე ამ Home Box-ის დამატება შეუძლებელია. საწყის ეკრანზე არ არის საკმარისი ადგილი. წაშალეთ ზოგიერთი Home Box და ისევ სცადეთ." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "ვერ ვამატებ" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box-ები" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "ყველა გვერდი" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "ცარიელი" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box-ის დამატება" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "წაშლა" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "საქაღალდის მოცილება" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "საქაღალდე წაიშლება. ამ საქაღალდეში პროგრამების ამოინსტალირება არ მოხდება." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "მექანიკურად" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "სახელით (ა-ჰ)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "შესრულდება %s პროგრამის დეინსტალაცია." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "სახელით (ა-ჰ) დალაგებული ნიშნების რიგის შეცვლა შეუძლებელია." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "მზადაა" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "გაუქმება" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "ელემენტების დალაგება" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "ელემენტების დალაგება" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "ვიჯეტები" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "ვიჯეტის დამატება შეუძლებელია" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "ვიჯეტის დამატება" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "საწყის ეკრანზე არ არის საკმარისი ადგილი. წაშალეთ ზოგიერთი ვიჯეტი და ისევ სცადეთ." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "შესწორება" + +msgid "IDS_HS_OPT_EDIT" +msgstr "რედაქტირება" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "თემები" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "პროგრამა არაა დაინსტალირებული." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s და მასთან დაკავშირებული ყველა ფუნქცია გაითიშება. მის ხელახლა ჩასართავად გახსენით პარამეტრები > პროგრამების მმართველი" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "საქაღალდეში მიღწეულია აპლიკაციის მაქსიმალური რაოდენობა (%d)." + diff --git a/res/po/kk.po b/res/po/kk.po new file mode 100755 index 0000000..5c2f713 --- /dev/null +++ b/res/po/kk.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Тоқтату" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Қалтаны құру" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Көрсету" + +msgid "IDS_COM_SK_OPEN" +msgstr "Ашу" + +msgid "IDS_MB_SK_EDIT" +msgstr "Өзгер." + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Қосу" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Қалтаны жою" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Қалта атын енгізңіз." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Жазу" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Жазылуда..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Қосымшалар" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Музыка" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Негізгі" + +msgid "IDS_ST_SK_HIDE" +msgstr "Жасыру" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Белгі көзі" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Белгі" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Тақырыбы" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Белгілемеу" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Жою" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Қосу үш. бағ. таң." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Жасыру үшін бағд-р таңдау" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Көрс.үшін бағд-рды таңдау" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Көру түрі" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Беттерді қайта реттеу үшін, реттелмелі тор көрінісіне өзгерту керек." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%s жою керек пе?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Шағын бағдар-р" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Таңдауды алып тастау" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Атаусыз қалта" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Бағдарлама науасын жабу үшін екі рет түртіңіз." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Бағдарлама науасын ашу үшін екі рет түртіңіз." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Ашу үшін екі рет түртіңіз." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Түйме" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Жою" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Жылжыту үшін екі рет түртіп ұстаңыз." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Жабу үшін екі рет түртіңіз." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Сүйреу көрінісі ашылды." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Таңдаулы бағдарламалар" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Бастапқы экран келесі экранда таңдалған %d элементке дейін жасалады" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Таңдаулы бағдарламаларда" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "%s қалтасына жылжыту." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%s жылжыту" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Мазмұн жоқ" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "%2$d ішіндегі %1$d-бет" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "%d орны" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Қалта ашық." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Бұл қалта мен ондағы барлық элементтерді жояды." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Басқа бағдарлама қосу мүмкін емес. Бағдарламалардың ең көп санына жетті." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Деректерді жүктеу мүмкін емес. Қайталау үшін түртіңіз" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Түсқағаздар" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Қолданбалар" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Жою" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Өшіру" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Анық-ма" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Басты" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Журнал" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Телефон" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Элементтер қосу" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Қалта" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Белгішелерді қайта ретке келтіру" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Беттерді қайта ретке келтіру" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Мәтіндік терезені таңдау" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Үлгі таңдау" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Мәтіндік терезені қосу" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Түсқағазды өзгерту" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Қалта жасау" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Қалтаны жою" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Жүктелген бағдарламалар" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Бағд-рды шығ.және қалтаны жою" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Бұл бағдарламаны өшіру керек пе?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Жаңа бет S Planner, Тапсырмалар және S Memo Dynamic Boxes тұрады" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Жаңа бет Twitter Dynamic Boxes қамтиды. Келесі экранда жаңа бетте көрсетілуін күтудегі адамдардың %d дейінгі уақыт шкаласын таңдаңыз." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Бұл қалта жойылады, бірақ оның ішіндегі бағдарламалар бастапқы экраныңызда қол жетімді болады. Бұл қалтаны жоясыз ба?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Қайта жүктелмеді. Құрылғы жады толы." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Қаріп бұл өлшемде берілмеген" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Бос орын шектеуі себепті қосымша жол қосу мүмкін емес" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 оқылмаған элемент" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Режим өзгерту" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Жалпы %d таңдалды." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d оқылмаған хабарландыру" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Мәзір қалқымалы терезесі" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Келесі бетті көру үшін екі саусағыңызбен сипаңыз." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Қалқымалы тақырып" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Қалқымалы терезенің мәтіні" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Бейнебеттің өзіндік беті" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Бет %2$d ішіндегі %1$d жылжытылды." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Қатар %1$d, баған %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Бет қосу" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Таңдалмаған" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Ауыстырғыш түйме" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Таңдалған" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Әдепкі қаріп" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Контактілер" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Таңбалардың ен көп саны артты." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Тоқтату" + +msgid "IDS_COM_SK_DONE" +msgstr "Дайын" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d элементті көрсету" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Кесте" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Мәзірді жабу үшін, екі рет түртіңіз." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Өткі." + +msgid "IDS_COM_SK_SELECT" +msgstr "Таңдау" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Шолушы" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d таңдалды" + +msgid "IDS_ST_SK_NEXT" +msgstr "Сосын" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d элемент жасырылады." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Бұл бет және оның құрамындағы барлық элементтер жойылады." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Бетті жою" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Жою" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Жасырын бағд-рды көрсету" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Бағдарламаларды жасыру" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Өшірілген бағд-рды көрсету" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s жою мүмкін емес. Ол тек өшіріледі." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 элемент жасырылады." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Home Box бастапқы экранға қосылмады. Бастапқы экранда бос орын жеткіліксіз. Бірнеше Home Box қалталарын жойып, әрекетті қайталаңыз." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Қосу мүмкін емес" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box элементтері" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Барлық беттер" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Бос" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box қосу" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Жою" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Қалтаны алып тастау" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Қалта алынып тасталады. Бұл қалтадағы бағдарламалар жойылмайды." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Қолмен" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Аты бойынша (А-Я)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s жойылады." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Аты бойынша (А-Я) сұрыпталған белгішелерді қайта ретке келтіру мүмкін емес." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ДАЙЫН" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "БАС ТАРТУ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Элементтерді сұрыптау" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Элементтерді сұрыптау" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Виджеттер" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Виджет қосу мүмкін емес" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Виджет қосу" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Бастапқы экранда бос орын жеткіліксіз. Кейбір виджеттерді жойып, әрекетті қайталаңыз." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Өңдеу" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Өңдеу" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Тақырыптар" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Бағдарлама орнатылмаған." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s және оған қатысты барлық мүмкіндіктер өшіріледі. Оны қайта қосу үшін, Параметрлер > Бағдарламалар реттеушісі бөліміне өтіңіз" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Қалтадағы қолданбалардың ең көп саны (%d) шегіне жетті." + diff --git a/res/po/ko_KR.po b/res/po/ko_KR.po new file mode 100755 index 0000000..af79420 --- /dev/null +++ b/res/po/ko_KR.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "취소" + +msgid "IDS_CAM_SK_OK" +msgstr "확인" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "새 폴더 추가" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "보이기" + +msgid "IDS_COM_SK_OPEN" +msgstr "열기" + +msgid "IDS_MB_SK_EDIT" +msgstr "편집" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "추가" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "폴더 삭제" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "폴더 이름을 입력하세요." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "추가" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "로딩 중..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "애플리케이션" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "음악" + +msgid "IDS_ST_OPT_BASIC" +msgstr "기본" + +msgid "IDS_ST_SK_HIDE" +msgstr "숨기기" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "선택박스" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "선택" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "제목" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "선택 해제" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "삭제" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "추가할 앱 선택" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "숨길 앱 선택" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "표시할 앱 선택" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "보기 방식" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "페이지 순서를 변경하려면 보기 방식을 격자 보기(직접 설정)로 변경하세요." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%s을(를) 삭제할까요?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "미니 앱" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "선택 해제" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "이름 없는 폴더" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "앱 트레이를 닫으려면 두 번 누르세요." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "앱 트레이를 열려면 두 번 누르세요." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "열려면 두 번 누르세요." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "버튼" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "삭제" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "이동하려면 빠르게 두 번 누르세요. 이때 두 번째는 길게 누르세요." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "닫으려면 두 번 누르세요." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "내려서 보기를 실행합니다." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "자주 사용하는 앱" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Home screen will be formed with up to %d items selected in the next screen." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "자주 사용하는 앱에" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "%s 폴더로 이동합니다." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%s 이동하기" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "컨텐츠가 없습니다" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "%2$d페이지 중 %1$d페이지" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "%d번째 위치" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "폴더가 열려 있습니다." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "폴더 및 포함된 항목을 모두 삭제합니다." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "최대 애플리케이션 수에 도달하여 더 이상 추가할 수 없습니다." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "데이터를 불러올 수 없습니다. 다시 시도하려면 누르세요." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "배경화면" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "앱스" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "삭제" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "해제" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "도움말" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "홈" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "잡지" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "휴대전화" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "항목 추가" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "폴더" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "아이콘 순서 변경" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "페이지 순서 변경" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "텍스트 상자 선택" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "템플릿 선택" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "텍스트 상자 추가" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "배경화면 변경" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "새 폴더 추가" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "폴더 삭제" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "다운로드 앱" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "앱 추출 및 폴더 삭제" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "이 애플리케이션을 해제할까요?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "S플래너, 할 일, S메모 Dynamic Box로 새 페이지를 구성합니다." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Twitter Dynamic Box로 새 페이지를 구성합니다. 다음 화면에서 새 페이지에 표시할 팔로우하고 있는 사람들의 타임라인을 최대 %d개까지 선택하세요." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "이 폴더를 삭제하더라도 폴더에 포함된 애플리케이션은 홈 화면에서 사용할 수 있습니다. 폴더를 삭제할까요?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "디바이스 저장공간이 없어 다시 불러오지 못하였습니다." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "서체에서 이 크기를 지원하지 않습니다." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "공간 제한으로 줄을 추가할 수 없습니다." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "읽지 않은 항목 1개" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "편집 모드" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "총 %d개를 선택하였습니다." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "읽지 않은 알림 %d개" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "팝업 메뉴" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "다음 페이지를 보려면 두 손가락으로 미세요." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "팝업 제목입니다" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "팝업의 본문입니다" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "홈 화면" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "페이지를 %2$d개 중 %1$d번째로 이동하였습니다." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "%1$d행, %2$d열" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "페이지 추가" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "선택되지 않았습니다" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "라디오 버튼" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "선택됨" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "초코쿠키" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "쿨재즈" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "기본 서체" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "로즈마리" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "연락처" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "최대 글자 수에 도달하였습니다." + +msgid "IDS_COM_SK_OK" +msgstr "확인" + +msgid "IDS_COM_SK_CANCEL" +msgstr "취소" + +msgid "IDS_COM_SK_DONE" +msgstr "완료" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "항목 %d개 표시" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UD마루고딕" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UD명조" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UD고딕" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "일정" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "팝" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "UD둥근고딕" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "메뉴를 닫으려면 두 번 누르세요." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "건너뛰기" + +msgid "IDS_COM_SK_SELECT" +msgstr "선택" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "인터넷" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d개 선택" + +msgid "IDS_ST_SK_NEXT" +msgstr "다음" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "항목 %d개를 숨깁니다." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "이 페이지 및 포함된 항목을 모두 삭제합니다." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "페이지 삭제" + +msgid "IDS_HS_OPT_DELETE" +msgstr "삭제" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "숨긴 애플리케이션 표시" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "애플리케이션 숨기기" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "사용 해제된 애플리케이션 표시" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s 앱을 삭제할 수 없어 앱 사용을 해제합니다." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "항목 1개를 숨깁니다." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "홈 화면에 공간이 부족하여 이 Home Box를 홈 화면에 추가할 수 없습니다. 일부 Home Box를 제거한 후 다시 시도하세요." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "추가할 수 없음" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "전체 페이지" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "비어 있음" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box 추가" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "제거" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "폴더 제거" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "폴더를 제거합니다. 폴더 안에 있는 애플리케이션은 삭제되지 않습니다." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "직접 정렬" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "이름 순 정렬(가나다 순)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s 앱을 삭제합니다." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "이름 순(가나다 순)으로 아이콘 순서를 변경할 수 없습니다." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "완료" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "취소" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "항목 정렬" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "항목 정렬" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "위젯" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "위젯을 추가할 수 없음" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "위젯 추가" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "홈 화면에 공간이 부족합니다. 일부 위젯을 제거한 후 다시 시도하세요." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "편집" + +msgid "IDS_HS_OPT_EDIT" +msgstr "편집" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "테마" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "애플리케이션이 설치되지 않았습니다." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s 및 관련된 모든 기능을 해제합니다. 다시 실행하려면 [설정] > [애플리케이션 관리자]로 이동하세요." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "폴더에는 애플리케이션 %d개까지 추가할 수 있습니다." + diff --git a/res/po/lt.po b/res/po/lt.po new file mode 100755 index 0000000..a52a41d --- /dev/null +++ b/res/po/lt.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Atšaukti" + +msgid "IDS_CAM_SK_OK" +msgstr "Gerai" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Kurti aplanką" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Rodyti" + +msgid "IDS_COM_SK_OPEN" +msgstr "Atidaryti" + +msgid "IDS_MB_SK_EDIT" +msgstr "Redaguoti" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Įtr." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Trinti aplanką" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Įrašyti aplanko pavadinimą." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Kurti" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Įkeliama..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Programos" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Muzika" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Pagrindinis" + +msgid "IDS_ST_SK_HIDE" +msgstr "Nerodyti" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Žymimasis langelis" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Pažymėti" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Pavadinimas" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Panaikinti žymėjimą" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Pašalinti" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Rink.pridėt.progr." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Rink. slėptinas programas" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Rink. rodytinas programas" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Peržiūrėti kaip" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Jei norite pertvarkyti puslapius, rodinio tipą turite pakeisti į pasirinktinį tinklelį." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Pašalinti „%s“?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Miniprogramos" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Panaikinti žymėjimą" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Aplankas be pavadinimo" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Bakstelėkite dukart, kad uždarytumėte programų dėklą." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Bakstelėkite dukart, kad atidarytumėte programų dėklą." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Bakstelėkite dukart ir atidarykite." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Mygtukas" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Trinti" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Bakstelėkite du kartus ir laikykite, kad perkeltumėte." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Bakstelėkite du kartus norėdami uždaryti." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "„Drop view“ atidarytas." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Mėgstamiausios programos" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Pradžios ekranas bus suformuotas iš %d elementų, pasirinktų kitame ekrane" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Mėgstamiausiose programose" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Perkelti į aplanką „%s“." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Perkeliama %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Turinio nėra" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "%1$d iš %2$d psl." + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "%d padėtis" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Aplankas atidarytas." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Bus ištrintas šis aplankas ir visi jame esantys elementai." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Neįmanoma pridėti daugiau programų. Pasiektas didžiausias programų skaičius." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Neįmanoma įkelti duomenų. Bakstelėkite ir bandykite dar kartą." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Ekrano fonai" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Progr." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Trinti" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Išjungti" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Žinynas" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Pradž." + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Žurnalas" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telef." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Pridėti elementų" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Aplankas" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Pertvarkyti piktogramas" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Pertvarkyti puslapius" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Pasirinkite teksto lauką" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Rinktis šabloną" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Pridėti teksto laukelį" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Keisti ekrano foną" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Sukurti aplanką" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Trinti aplanką" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Atsisiųstos programos" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Išskleist prog.ir trin.aplnk." + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Išjungti šią programą?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Naujame puslapyje bus „S Planner“, užduotys ir „S Memo Dynamic Box“" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Naujame puslapyje bus „Twitter Dynamic Box“. Kitame ekrane pasirinkite iki %d stebimų žmonių laiko juostų, kurios bus rodomos naujame puslapyje." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Šis aplankas bus ištrintas, bet jame esančios programos liks pasiekiamos pradžios ekrane. Ištrinti šį aplanką?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Nepavyko įkelti iš naujo. Įrenginio atmintis pilna." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Šio dydžio šriftas nepalaikomas" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Papildomos eilutės neįmanoma pridėti dėl vietos apribojimų" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 neskaitytas elementas" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Redagavimo režimas" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Iš viso pasirinkta: %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "Neskaitytų pranešimų: %d" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Iškylantis meniu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Norėdami peržiūrėti kitą puslapį braukite dviem pirštais." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Iškylančiojo lango antraštė" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Iškylančiojo lango teksto turinys" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Pradžios ekranas" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Puslapis perkeltas į %1$d iš %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "%1$d eilutė, %2$d stulpelis" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Pridėti puslapį" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Nepasirinkta" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Akutė" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Pasirinkta" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "„Choco cooky“" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Numatytasis šriftas" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Adresatai" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Pasiektas didžiausias simbolių skaičius." + +msgid "IDS_COM_SK_OK" +msgstr "Gerai" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Atšaukti" + +msgid "IDS_COM_SK_DONE" +msgstr "Atlikta" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Rodoma elementų: %d" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Tvarkaraštis" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Bakstelėkite du kartus, kad uždarytumėte meniu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Praleis." + +msgid "IDS_COM_SK_SELECT" +msgstr "Rinktis" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internetas" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "Pasirinkta: %d" + +msgid "IDS_ST_SK_NEXT" +msgstr "Kitas" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Bus paslėpta elementų: %d." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Šis puslapis ir visi jame esantys elementai bus ištrinti." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Ištrinti puslapį" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Trinti" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Rodyti paslėptas programas" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Slėpti programas" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Rodyti išjungtas programas" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Neįmanoma pašalinti „%s“. Ji bus išjungta." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 elementas bus paslėptas." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Negalima pridėti šio „Home Box“ pradžios ekrane. Pradžios ekrane nepakanka vietos. Pašalinkite kelis „Home Box“ ir bandykite dar kartą." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Negalima pridėti" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "„Home Box“\nelementai" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Visi puslapiai" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Tuščia" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Pridėti „Dynamic Box“" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Šalinti" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Pašalinti aplanką" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Aplankas bus pašalintas. Šiame aplanke esančios programos nebus pašalintos." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Rankiniu būdu" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Pagal vardą (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s bus pašalinta." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Neįmanoma pertvarkyti pagal pavadinimą (A–Z) surūšiuotų piktogramų." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ATLIKTA" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ATŠAUKTI" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Rūšiuoti elementus" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Rūšiuoti elementus" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Valdikliai" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Neįmanoma pridėti valdiklio" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Pridėti valdiklį" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Pradžios ekrane nepakanka vietos. Pašalinkite kelis valdiklius ir bandykite dar kartą." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Redaguoti" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Redaguoti" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temos" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Programa nebuvo įdiegta." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s ir visos su ja susijusios funkcijos bus išjungtos. Norėdami ją įjungti eikite į skirtuką Nustatymai > Programų tvarkyklė." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Pasiektas didžiausias programų skaičius aplanke (%d)." + diff --git a/res/po/lv.po b/res/po/lv.po new file mode 100755 index 0000000..8431d67 --- /dev/null +++ b/res/po/lv.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Atcelt" + +msgid "IDS_CAM_SK_OK" +msgstr "Labi" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Izveidot mapi" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Rādīt" + +msgid "IDS_COM_SK_OPEN" +msgstr "Atvērt" + +msgid "IDS_MB_SK_EDIT" +msgstr "Rediģēt" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Piev." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Dzēst mapi" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Ievadiet mapes nosaukumu." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Izveidot" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Ielādē..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Programmas" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Mūzika" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Pamata" + +msgid "IDS_ST_SK_HIDE" +msgstr "Slēpt" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Atzīmējamais lodziņš" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Atzīmēt" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Nosaukums" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Noņemt atzīmi" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Atinstalēt" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Izvēl. programmas" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Izv. slēpjamās programmas" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Izv. parādāmās programmas" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Skatīt kā" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Lai pārkārtotu lapas, skata veids ir jānomaina uz pielāgojamu režģi." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Vai atinstalēt %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini programmas" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Atcelt izvēli" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Nenosaukta mape" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Lai aizvērtu programmu ikonjoslu, veiciet dubultskārienu." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Lai atvērtu programmu ikonjoslu, veiciet dubultskārienu." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Veiciet dubultskārienu, lai atvērtu." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Poga" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Dzēst" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Veiciet dubultskārienu un turiet, lai pārvietotu." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Veiciet dubultskārienu, lai aizvērtu." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Nolaižamais skats ir atvērts." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Izlases programmas" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Sākuma ekrāns tiks izveidots no līdz pat %d objektiem, ko varēs izvēlēties nākamajā ekrānā" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Izlases programmās" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Pārvietojiet uz mapi %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Pārvieto %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Nav satura" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "%1$d. lapa no %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Pozīcija %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Mape ir atvērta." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Tādējādi tiks izdzēsta mape un visi tajā esošie objekti." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Nevar pievienot papildu programmas. Sasniegts maksimālais programmu skaits." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Nevar ielādēt datus. Pieskarieties, lai mēģinātu vēlreiz." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fona attēli" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Progr." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Dzēst" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Deaktivizēt" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Palīdzība" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Sākums" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Žurnāls" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Tālr." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Pievienot objektus" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Mape" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Pārkārtojiet ikonas" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Pārkārtojiet lapas" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Izvēlieties tekstlodziņu" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Izvēlēties veidni" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Pievienot tekstlodziņu" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Mainīt fona attēlu" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Izveidot mapi" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Dzēst mapi" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Lejupielādētās programmas" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Izvilkt progr. un izdzēst mapi" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Vai deaktivizēt šo programmu?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Jaunajā lapā būs S Planner, uzdevumu un S Memo Dynamic Box lauki" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Jaunajā lapā būs Twitter Dynamic Box lauki. Nākamajā ekrānā izvēlieties līdz %d laika skalas personām, kurām sekojat, lai tās tiktu parādītas jaunajā lapā." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Šī mape tiks izdzēsta, bet tajā esošās programmas būs pieejamas jūsu sākuma ekrānā. Vai izdzēst šo mapi?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Neizdevās ielādēt atkārtoti. Ierīces atmiņa ir pilna." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Fonts šajā lielumā netiek atbalstīts" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Vietas ierobežojuma dēļ nevar pievienot papildu līniju" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 nelasīts objekts" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Rediģēšanas režīms" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Kopā izvēlēti %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d nelasīti paziņojumi" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Uznirstošā izvēlne" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Lai skatītu nākamo lapu, pavelciet ar diviem pirkstiem." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Uznirstošā loga virsraksts" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Uznirstošā loga pamatteksts" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Sākuma ekrāns" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Lapa ir pārvietota uz %1$d no %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "%1$d. rinda, %2$d. kolonna" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Pievienot lapu" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Nav izvēlēts" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radiopoga" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Izvēlēts" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Šokolādes cepums" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Nomierinošs džezs" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Noklusējuma fonts" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rozmarīns" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontakti" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Sasniegts maksimālais rakstzīmju skaits." + +msgid "IDS_COM_SK_OK" +msgstr "Labi" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Atcelt" + +msgid "IDS_COM_SK_DONE" +msgstr "Gatavs" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Rāda %d objektus" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Grafiks" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Veiciet dubultskārienu, lai aizvērtu izvēlni." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Izlaist" + +msgid "IDS_COM_SK_SELECT" +msgstr "Atlasīt" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internets" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "Izvēlētas %d" + +msgid "IDS_ST_SK_NEXT" +msgstr "Nāk." + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d objekti tiks paslēpti." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Šī lapa un visi tajā esošie objekti tiks izdzēsti." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Dzēst lapu" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Dzēst" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Rādīt slēptās programmas" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Slēpt programmas" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Rādīt deaktivizētās programmas" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Programmu %s nevar atinstalēt. Tā vietā tā tiks deaktivizēta." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Tiks paslēpts 1 objekts." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Nevar pievienot šo Home Box sākuma ekrānam. Sākuma ekrānā nepietiek vietas. Noņemiet dažus elementus Home Box un mēģiniet vēlreiz." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Nevar pievienot" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Visas lapas" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Tukšs" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Pievienot Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Noņemt" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Noņemt mapi" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Mape tiks noņemta. Mapē esošās programmas netiks atinstalētas." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuāli" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Pēc nosaukuma (A–Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s tiks atinstalēts." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Nevar pārkārtot ikonas pēc nosaukuma (A–Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GATAVS" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ATCELT" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Kārtot objektus" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Kārtot objektus" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Logrīki" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Nevar pievienot logrīku" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Pievienot logrīku" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Sākuma ekrānā nepietiek vietas. Noņemiet dažus logrīkus un mēģiniet vēlreiz." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Rediģēt" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Rediģēt" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Motīvi" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Programma nav instalēta." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s un visas ar to saistītās funkcijas tiks deaktivizētas. Lai to aktivizētu, atveriet Iestatījumi > Programmu pārvaldnieks." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Sasniegts maksimālais programmu skaits mapē (%d)." + diff --git a/res/po/mk.po b/res/po/mk.po new file mode 100755 index 0000000..b577f86 --- /dev/null +++ b/res/po/mk.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Откажи" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Направи папка" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Прикажи" + +msgid "IDS_COM_SK_OPEN" +msgstr "Отвори" + +msgid "IDS_MB_SK_EDIT" +msgstr "Измени" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Додај" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Избриши папка" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Внесете име за папката." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Ново" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Активирање..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Апликации" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Музика" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Основно" + +msgid "IDS_ST_SK_HIDE" +msgstr "Прикриј" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Квадрат за означување" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Означи" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Наслов" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Отстрани ознака" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Деинсталирај" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Изб.апл.за додав." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Изб.апликации за сокривање" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Изб. аплик. за покажување" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Прикажи како" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "За преуредување на страниците треба да го смените видот на преглед на прилагодлива мрежа." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Да се деинсталира %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Мини апликации" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Одозначи" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Безимена папка" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Допрете двапати за да ја затворите лентата за апликации." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Допрете двапати за да ја отворите лентата за апликации." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Допрете двапати за да отворите." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Копче" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Избриши" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Допрете двапати и задржете за преместување." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Двоен допир за затворање." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Преглед на спуштање е отворен." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Омилени апликации" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Ќе се формира почетен екран со најмногу %d ставки избрани на следниот екран" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Во Омилени апликации" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Премести во папка %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Се преместува %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Нема содржина" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Страница %1$d од %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Положба %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Папката е отворена." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Ова ќе ја избрише папката и сите записи во неа." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Не може да се додадат уште апликации. Достигнат е максималниот број апликации." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Не можат да се вчитаат податоци. Допрете за повторен обид." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Заднини" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Аплик." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Бриши" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Исклучи" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Помош" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Почет." + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Списание" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Телефон" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Додај записи" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Папка" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Преуреди икони" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Преуреди страници" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Изберете текстуална рамка" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Изберете урнек" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Додај текст-рамка" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Менување заднина" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Нова папка" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Избриши папка" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Преземени апликации" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Извлечи аплик. и избриши папка" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Да се исклучи оваа апликација?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Новата страница ќе се состои од S Planner, Задачи и Dynamic Box-ови на S Memo." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Новата страница ќе се состои од Dynamic Box-ови на Twitter. На следниот екран изберете до %d временски линии на луѓе што ги следите да се прикажуваат на новата страница." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Папката ќе се избрише, но апликациите во неа ќе останат достапни на почетниот екран. Да се избрише папката?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Неуспешно повторно вчитување. Меморијата на уредот е полна." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Фонтот не е поддржан со оваа големина." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Не може да се додаде уште еден ред поради ограничувањето на просторот." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 непрочитан запис" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Режим за менување" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d избрани вкупно." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d непрочитани известувања" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Појавно мени" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Поминете со два прста за да ја видите следната страница." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Појавно заглавје" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Текст во телото на појавната порака" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Почетен екран" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Страницата е преместена на %1$d од %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Ред %1$d, колона %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Додај страница" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Не е одбрано" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Радио копче" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Избрано" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Основен фонт" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Именик" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Достигнат е максималниот број знаци." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Откажи" + +msgid "IDS_COM_SK_DONE" +msgstr "Готово" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Се прикажуваат %d ставки" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Мој распоред" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Допрете двапати за да отворите мени." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Преск." + +msgid "IDS_COM_SK_SELECT" +msgstr "Избери" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Интернет" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d избрани" + +msgid "IDS_ST_SK_NEXT" +msgstr "Следно" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d записи ќе се сокријат." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Ќе се избрише оваа страница и сите записи што ги содржи." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Избриши страница" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Избриши" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Прикажи сокриени апликации" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Сокриј апликации" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Прикажи исклучени апликации" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s не може да се одинсталира. Ќе се исклучи." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 ставка ќе се сoкрие." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Не може да се додаде оваа Почетна рамка на почетниот екран. Нема доволно место на почетниот екран. Отстранете некои Почетни рамки и обидете се повторно." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Не може да се додаде" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Почетни рамки" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Сите страници" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Празно" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Додај Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Отстрани" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Отстрани папка" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Папката ќе се отстрани. Апликациите во оваа папка нема да се деинсталираат." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Рачно" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "По име (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s ќе се деинсталира." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Не можат да се прередат иконите подредени по абецеда (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ГОТОВО" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ОТКАЖИ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Подреди ставки" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Подреди ставки" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Виџети" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Не може да се додаде виџет" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Додај виџет" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Нема доволно место на почетниот екран. Отстранете некој виџет и обидете се повторно." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Измени" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Измени" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Теми" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Апликацијата не е инсталирана." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s и сите други функции поврзани со него ќе се исклучат. За да го вклучите повторно, одете во Опции > Управител со апликации." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Достигнат е максималниот број апликации (%d) во папка." + diff --git a/res/po/nb.po b/res/po/nb.po new file mode 100755 index 0000000..12c3cf8 --- /dev/null +++ b/res/po/nb.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Avbryt" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Opprett mappe" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Vis" + +msgid "IDS_COM_SK_OPEN" +msgstr "Åpne" + +msgid "IDS_MB_SK_EDIT" +msgstr "Rediger" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Tilføy" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Slett mappe" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Angi mappenavn." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Oppr." + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Åpner..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Apper" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musikk" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Grunnleggende" + +msgid "IDS_ST_SK_HIDE" +msgstr "Skjul" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Avmerkingsboks" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Merk av" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Tittel" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Fjern merking" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Avinstaller" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Legg til apper" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Velg apper du vil skjule" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Velg apper du vil vise" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Visningstype" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Hvis du vil endre rekkefølge på sider, må du endre visningstypen til et tilpassbart rutenett." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Avinstallere %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini-apper" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Fjern markering" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Mappe uten navn" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Trykk raskt to ganger for å lukke appskuffen." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Trykk raskt to ganger for å åpne appskuffen." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Trykk raskt to ganger for å åpne." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Knapp" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Slett" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Trykk raskt to ganger på og hold for å flytte." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Trykk raskt to ganger for å lukke." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Utvidet visning er åpen." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Favorittapper" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Startskjermbildet vil bli dannet med opptil %d av de valgte elementene på det neste skjermbildet." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "I Favorittapper" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Flytt til %s-mappe." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Flytter %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Ikke noe innhold" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Side %1$d av %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Posisjon %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Mappen er åpen." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Dette vil slette mappen og alle elementene den inneholder." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Kan ikke legge til flere apper. Maksimalt antall apper er nådd." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Kan ikke laste data. Trykk for å prøve på nytt." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Bakgrunner" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Apper" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Slett" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Deaktiver" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Hjelp" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Hjem" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Tidsskr." + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Legg til objekter" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Mappe" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Omorganisere ikoner" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Omorganisere sider" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Velg en tekstboks" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Velg mal" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Legg til tekstboks" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Endre bakgrunn" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Opprett mappe" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Slett mappe" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Nedlastede apper" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Hent ut apper og slett mappe" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Vil du deaktivere denne appen?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Den nye siden vil bestå av Dynamic Boxes for S Planner, Oppgaver og S Memo." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Den nye siden vil bestå av Dynamic Boxes for Twitter. På den neste skjermen kan du velge opptil %d tidslinjer for personer du følger. Disse vises deretter på den nye siden." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Denne mappen blir slettet, men appene i den vil fortsatt være tilgjengelige på startskjermbildet. Vil du slette denne mappen?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Kunne ikke oppdatere. Enhetsminnet er fullt." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Skrifttypen støttes ikke for denne størrelsen." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Kan ikke legge til ekstra linjer på grunn av plassbegrensningen." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 ulest element" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Redigeringsmodus" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d er valgt totalt." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d uleste varsler" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Sprettoppvindu for meny" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Stryk med to fingre for å vise neste side." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Sprettoppoverskrift" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Tekst i hoveddelen til sprettoppvinduet" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Startskjerm" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Siden ble flyttet til %1$d av %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Rad %1$d, kolonne %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Legg til side" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Ikke valgt" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radioknapp" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Valgt" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Standardskrift" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontakter" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Nådd maksimalt antall tegn." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Avbryt" + +msgid "IDS_COM_SK_DONE" +msgstr "OK" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Viser %d elementer" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Tidsplan" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Trykk raskt to ganger for å lukke menyen." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Neste" + +msgid "IDS_COM_SK_SELECT" +msgstr "Velg" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internett" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d valgt" + +msgid "IDS_ST_SK_NEXT" +msgstr "Neste" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d elementer blir skjult." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Denne siden og alle elementene den inneholder, blir slettet." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Slett side" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Slett" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Vis skjulte apper" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Skjul apper" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Vis deaktiverte apper" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s kan ikke installeres. Den blir i stedet deaktivert." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 element blir skjult." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Kan ikke legge til en Home Box på startskjermbildet. Det er ikke nok plass på startskjermbildet. Fjern en Home Box, og prøv på nytt." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Kan ikke legge til" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Alle sider" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Tom" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Legg til Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Fjern" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Fjern mappe" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Mappen blir fjernet. Apper i denne mappen blir ikke avinstallerte." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuell" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Etter navn (A–Å)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s blir avinstallert." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Kan ikke endre rekkefølgen på ikoner som er sortert etter navn (A–Å)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "FULLFØRT" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "AVBRYT" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sorter elementer" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sorter elementer" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgeter" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Kan ikke legge til widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Legg til widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Det er ikke nok ledig plass på startskjermbildet. Fjern noen widgeter, og prøv på nytt." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Rediger" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Rediger" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Tema" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "App ikke installert." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s og alle relaterte funksjoner blir deaktivert. Du kan reaktivere appen ved å gå til Innstillinger > Appstyring." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Maksimalt antall apper i mappe (%d) er nådd." + diff --git a/res/po/nl.po b/res/po/nl.po new file mode 100755 index 0000000..c9e5db4 --- /dev/null +++ b/res/po/nl.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Annuleer" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Nieuwe map" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Tonen" + +msgid "IDS_COM_SK_OPEN" +msgstr "Openen" + +msgid "IDS_MB_SK_EDIT" +msgstr "Bewerk" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Toev." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Map verwijderen" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Mapnaam invoeren" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Nieuw" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Laden..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Applicaties" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Muziek" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Basis" + +msgid "IDS_ST_SK_HIDE" +msgstr "Verberg." + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Selectievak" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Selecteren" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Titel" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Deselecteren" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Verwijder" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Select. extra apps" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Apps verbergen" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Apps weergeven" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Tonen als" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Als u de pagina´s anders wilt rangschikken, moet u het weergavetype wijzigen in een instelbaar raster." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%s verwijderen?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Deselecteren" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Naamloze map" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Tik tweemaal om appvak te sluiten." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Tik tweemaal om appvak te openen." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Tik twee keer om te openen." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Knop" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Verwijderen" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Tik tweemaal en houd vast om te verplaatsen." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Tik tweemaal om te sluiten." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop View open." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Favoriete apps" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Startscherm wordt gevormd met maximaal %d items die worden geselecteerd in het volgende scherm" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "In favoriete applicaties" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Verplaats naar map %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%s verplaatsen" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Geen inhoud" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Pagina %1$d van %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Positie %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "De map is open." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Hiermee worden de map en alle items daarin verwijderd." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Kan niet meer apps toevoegen. Maximumaantal apps bereikt." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Kan gegevens niet laden. Tik om opnieuw te proberen." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Achtergronden" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Apps" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Wissen" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Uitschakelen" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Help" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Start" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Tijdschr" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telef." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Items toevoegen" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Map" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Pictogrammen opnieuw indelen" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Pagina´s opnieuw indelen" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Selecteer een tekstvak" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Sjabloon selecteren" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Tekstvak toevoegen" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Andere achtergrond" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Map maken" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Map verwijderen" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Gedownloade apps" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Apps extraheren en map wissen" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Deze applicatie uitschakelen?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "De nieuwe pagina bestaat uit S Planner, Taken en S Memo Dynamic Boxen" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "De nieuwe pagina bestaat uit Twitter Dynamic Boxen. Selecteer op het volgende scherm maximaal %d tijdlijnen van personen die u volgt om ze weer te geven op de nieuwe pagina." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Deze map wordt verwijderd maar de applicaties erin blijven beschikbaar op het startscherm. Deze map verwijderen?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Kan niet opnieuw laden. Apparaatgeheugen vol." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Lettertype niet ondersteund in deze grootte." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Kan geen extra regel toevoegen vanwege ruimtebeperking." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 ongelezen item" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Bewerkstand" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d in totaal geselecteerd." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d ongelezen meldingen" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menupop-up" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Veeg met twee vingers om de volgende pagina weer te geven." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Pop-upkoptekst" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Tekst in hoofdpop-up" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Startscherm" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Pagina verplaatst naar %1$d van %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Rij %1$d, kolom %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Nieuwe pagina" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Niet geselecteerd" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Keuzerondje" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Geselecteerd" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Standaardlettertype" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contacten" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Maximumaantal tekens bereikt." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Annuleer" + +msgid "IDS_COM_SK_DONE" +msgstr "Gereed" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d items weergeven" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Afspraak" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Tik tweemaal om het menu te sluiten." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Overslaan" + +msgid "IDS_COM_SK_SELECT" +msgstr "Select." + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d geselecteerd" + +msgid "IDS_ST_SK_NEXT" +msgstr "Volgende" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d items worden verborgen." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Deze pagina en alle items daarin worden verwijderd." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Pagina verwijderen" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Verwijderen" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Verborg. applicaties weergeven" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Applicaties verbergen" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Uitgesch applicaties weergeven" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s kan niet worden verwijderd en wordt in plaats daarvan uitgeschakeld." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 item wordt verborgen." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Kan deze Home Box niet toevoegen aan het startscherm. Er is onvoldoende ruimte op het startscherm. Verwijder een aantal Home Boxen en probeer het opnieuw." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Kan niet toevoegen" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxen" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Alle pagina's" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Leeg" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box toevoegen" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Verwijderen" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Map verwijderen" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Map wordt verwijderd. Applicaties in deze map worden niet verwijderd." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Handmatig" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Op naam (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s wordt verwijderd." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Kan op naam gesorteerde pictogrammen (A-Z) niet opnieuw indelen." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GEREED" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANNULEREN" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Items sorteren" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Items sorteren" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Kan widget niet toevoegen" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Widget toevoegen" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Er is onvoldoende ruimte op het startscherm. Verwijder een aantal widgets en probeer het opnieuw." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Bewerken" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Bewerk" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Thema's" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Applicatie niet geïnstalleerd." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s en alle functies die ermee samenhangen, worden uitgeschakeld. Als u deze weer wilt inschakelen, gaat u naar Instellingen > Applicatiebeheer." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Maximumaantal applicaties in map (%d) is bereikt." + diff --git a/res/po/pl.po b/res/po/pl.po new file mode 100755 index 0000000..f68e9b0 --- /dev/null +++ b/res/po/pl.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Anuluj" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Utwórz katalog" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Pokaż" + +msgid "IDS_COM_SK_OPEN" +msgstr "Otwórz" + +msgid "IDS_MB_SK_EDIT" +msgstr "Edytuj" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Dodaj" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Usuń katalog" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Wpisz nazwę katalogu." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Utwórz" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Ładuję..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplikacje" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Muzyka" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Podstawowy" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ukryj" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Pole zaznaczenia" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Zaznaczenie" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Tytuł" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Brak zaznaczenia" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Odinstaluj" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Wybór apl. do dod." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Wybór aplikac. do ukrycia" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Wybór aplikacji do wyśw." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Wyświetl jako" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Aby zmienić rozmieszczenie stron, musisz przełączyć typ widoku na siatkę niestandardową." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Odinstalować %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini-aplikac." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Odznacz" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Katalog bez nazwy" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Dotknij dwukrotnie, aby zamknąć zasobnik aplikacji." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Dotknij dwukrotnie, aby otworzyć zasobnik aplikacji." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Dotknij dwukrotnie, aby otworzyć." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Przycisk" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Usuń" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Dotknij dwukrotnie i przytrzymaj, aby przesunąć." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Dotknij dwukrotnie, aby zamknąć." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Funkcja Drop View jest otwarta." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Ulubione aplikacje" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Zostanie utworzony ekran startowy złożony z elementów wybranych na następnym ekranie (maksymalnie %d)" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "W ulubionych aplikacjach" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Przenieś do katalogu %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Przenoszenie %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Brak zawartości" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Strona %1$d z %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Pozycja %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Katalog jest otwarty." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "To spowoduje usunięcie folderu i wszystkich znajdujących się w nim elementów." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Nie można dodać więcej aplikacji. Osiągnięto ich maksymalną liczbę." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Nie można załadować danych. Dotknij, aby spróbować ponownie." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Tapety" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplik." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Usuń" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Wyłącz" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Pomoc" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Główna" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Magazyn" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Dodaj elementy" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Katalog" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Zmiana położenia ikon" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Zmiana położenia stron" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Wybierz pole tekstowe" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Wybór szablonu" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Dodaj pole tekstowe" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Zmień tapetę" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Utwórz katalog" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Usuń katalog" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Pobrane aplikacje" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Wyodrębnij apl. i usuń katalog" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Wyłączyć tę aplikację?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Nowa strona będzie składać się z pól Dynamic Box aplikacji Terminarz S, Zadania i S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Nowa strona będzie składać się z pól Dynamic Box Twittera. Na kolejnym ekranie wybierz osie czasu (maksymalnie: %d) obserwowanych przez Ciebie osób, jakie mają być wyświetlane na nowej stronie." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Ten katalog zostanie usunięty, ale znajdujące się w nim aplikacje pozostaną dostępne na ekranie startowym. Usunąć ten katalog?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Odświeżenie nie powiodło się. Pamięć urządzenia pełna." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Czcionka nie jest obsługiwana w tym rozmiarze." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Nie można dodać dodatkowej linii z powodu ograniczenia miejsca." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "Nieprzeczytanych elementów: 1" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Tryb edycji" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Łącznie wybrano elementów: %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "Nieprzeczytanych powiadomień: %d" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menu wyskakujące" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Przeciągnij dwoma palcami, aby wyświetlić następną stronę." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Nagłówek wyskakującego okna" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Tekst w treści wyskakującego okna" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Ekran startowy" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Strona przeniesiona na %1$d z %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Wiersz %1$d, kolumna %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Dodaj stronę" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Niewybrany" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Przycisk radiowy" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Wybrano" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Czcionka domyślna" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Książka telefoniczna" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Osiągnięto maksymalną liczbę znaków." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Anuluj" + +msgid "IDS_COM_SK_DONE" +msgstr "Gotowe" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Wyświetlanie elementów: %d" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Terminarz" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Dotknij dwukrotnie, aby zamknąć menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Pomiń" + +msgid "IDS_COM_SK_SELECT" +msgstr "Wybierz" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "Wybranych: %d" + +msgid "IDS_ST_SK_NEXT" +msgstr "Dalej" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Elementów do ukrycia: %d." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Ta strona i wszystkie znajdujące się na niej elementy zostaną usunięte." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Usuń stronę" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Usuń" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Pokaż ukryte aplikacje" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ukryj aplikacje" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Pokaż wyłączone aplikacje" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Nie można odinstalować aplikacji %s. Zamiast tego aplikacja ta zostanie wyłączona." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 element zostanie ukryty." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Nie można dodać tego pola Home Box do ekranu startowego. Za mało miejsca na ekranie startowym. Usuń niektóre pola Home Box i spróbuj ponownie." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Nie można dodać" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Pola Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Wszystkie strony" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Pusty" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dodaj Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Usuń" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Usuń katalog" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Katalog zostanie usunięty. Aplikacje w tym katalogu nie zostaną odinstalowane." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Ręcznie" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Wg nazwy (A–Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "Aplikacja %s zostanie odinstalowana." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Nie można zmienić rozmieszczenia ikon posortowanych wg nazwy (A–Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GOTOWE" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANULUJ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sortuj elementy" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sortowanie elementów" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgety" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Nie można dodać widgetu" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Dodawanie widgetu" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Za mało miejsca na ekranie startowym. Usuń niektóre widgety i spróbuj ponownie." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Edycja" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Edytuj" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Motywy" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplikacja nie została zainstalowana." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "Aplikacje %s i wszystkie funkcje z nią związane zostaną wyłączone. Aby włączyć ją ponownie, przejdź do menu Ustawienia > Menedżer aplikacji." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Osiągnięto maksymalną liczbę aplikacji w katalogu (%d)." + diff --git a/res/po/pt_BR.po b/res/po/pt_BR.po new file mode 100755 index 0000000..50f439a --- /dev/null +++ b/res/po/pt_BR.po @@ -0,0 +1,402 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Criar pasta" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Exibir" + +msgid "IDS_COM_SK_OPEN" +msgstr "Abrir" + +msgid "IDS_MB_SK_EDIT" +msgstr "Editar" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Adicionar" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Apagar pasta" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Insira o nome da pasta." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Criar" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Carregando..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplicações" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Músicas" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Básico" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ocultar" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Caixa de seleção" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Marcar" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Título" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Desmarcar" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" + +msgid "IDS_AT_BUTTON_CHANGE_VIEW" +msgstr "Alt. exib." + +msgid "IDS_AT_HEADER_PD_SELECTED" +msgstr "%d selecionado(s)" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Sel. aplic. adic." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Selec. aplic. p/ ocultar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Selec. aplic. p/ exibir" + +msgid "IDS_AT_OPT_ALPHABETICAL_GRID_ABB" +msgstr "Grade alfabética" + +msgid "IDS_AT_OPT_CUSTOMISABLE_GRID_ABB" +msgstr "Grade personalizável" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Visualizar como" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Para reorganizar páginas, é necessário alterar o tipo de exibição para uma grade personalizável." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Desinstalar %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini apps" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Desmarcar" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Pasta sem nome" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Toque duas vezes para fechar a bandeja do aplicativo." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Toque duas vezes para abrir a bandeja do aplicativo." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Tocar duas vezes para abrir." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Tecla" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Excluir" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Toque duas vezes e mantenha pressionado para mover." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Toque duas vezes para fechar." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Exibição pendente aberta." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Aplicativos favoritos" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "A tela de início será formada com até %d itens selecionados na próxima tela" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Nos aplicativos Favoritos" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Mover para pasta %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Movendo %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Sem conteúdo" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Página %1$d de %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Posição %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "A pasta está aberta." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Isto excluirá a pasta e todos os itens que ela contém." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Não é possível adicionar mais aplicativos. Número máximo de aplicativos atingido." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Não é possível carregar os dados. Toque para tentar novamente." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Papéis parede" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplic." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Apagar" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Desativar" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Ajuda" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Origem" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Revista" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telef." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Adicionar itens" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Pasta" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Reorganizar ícones" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Reorganizar páginas" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Selec. uma caixa de texto" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Selecionar modelo" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Adic. caixa de texto" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Alt. papel de parede" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Criar pasta" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Apagar pasta" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Aplicativos baixados" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extrair apps e excluir pasta" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Desativar este aplicativo?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "A nova página consistirá de Dynamic Boxes do S Planner, Tarefas e S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "A nova página consistirá de Dynamic Boxes do Twitter. Na próxima tela, selecione até %d linhas do tempo de pessoas que você está seguindo para serem exibidas na nova página." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Esta pasta será excluída, mas os aplicativos dentro dela serão primeiro extraídos e permanecerão disponíveis na sua tela de início. Excluir esta pasta?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Falha ao recarregar. Memória do dispositivo cheia." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Tamanho de fonte não suportado." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Não é possível adicionar linha extra devido a restrição de espaço." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 item não lido" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Modo de edição" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d selecionados no total." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notificações não lidas" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menu pop-up" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Deslizar com dois dedos para visualizar a próxima página." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Cabeçalho pop-up" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Texto no corpo da pop-up" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Tela de início" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Página movida para %1$d de %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Fila %1$d, coluna %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Adicionar página" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Não selecionado" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Botão de opção" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Selecionado" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Fonte padrão" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contatos" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Número máximo de caracteres atingido." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Exibir %d itens" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Compromisso" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Toque duas vezes para fechar o menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Pular" + +msgid "IDS_COM_SK_SELECT" +msgstr "Selecionar" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_ST_SK_NEXT" +msgstr "Próximo" + +msgid "IDS_HS_OPT_MANAGE_APPLICATIONS_ABB" +msgstr "Gerenciar aplicativos" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d itens serão ocultos." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Esta página e todos os itens que ela contém serão excluídos." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Excluir página" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Excluir" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Exibir aplicativos ocultos" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ocultar aplicativos" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Exibir aplicativos desativados" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Não é possível desinstalar %s. Ao invés disso, ele será desativado." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 item será oculto." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Não é possível adicionar esta Home Box à tela de início. Não existe espaço suficiente na tela de início. Remova algumas Home Boxes e tente novamente." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Impossível adicionar" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Todas as páginas" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Vazio" + +msgid "IDS_HS_OPT_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "Organizar itens alfabeticamente" + +msgid "IDS_HS_HEADER_SORT_ITEMS_ALPHABETICALLY_ABB" +msgstr "Organ. itens alfabeticamente" + +msgid "IDS_HS_POP_APP_ICONS_AND_FOLDERS_WILL_BE_SORTED_INTO_ALPHABETICAL_ORDER_ANY_CUSTOMISATIONS_YOU_HAVE_MADE_WILL_BE_DISCARDED" +msgstr "Ícones e pastas de aplicativos serão organizados em ordem alfabética. Qualquer personalização feita será descartada." + diff --git a/res/po/pt_PT.po b/res/po/pt_PT.po new file mode 100755 index 0000000..b278bb5 --- /dev/null +++ b/res/po/pt_PT.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Criar pasta" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Mostrar" + +msgid "IDS_COM_SK_OPEN" +msgstr "Abrir" + +msgid "IDS_MB_SK_EDIT" +msgstr "Editar" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Adic." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Eliminar pasta" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introduzir nome da pasta." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Criar" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "A carregar..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplicações" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Música" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Básico" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ocultar" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Caixa de selecção" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Marcar" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Título" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Desmarcar" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Sel. aplic. p/ ad." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Selec aplic p/ ocultar" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Selec aplic para mostrar" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Visualizar como" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Para reorganizar páginas, precisa de mudar o tipo de vista para uma grelha personalizável." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Desinstalar %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini aplica-ções" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Desmarcar" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Pasta sem nome" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Toque duas vezes para fechar o tabuleiro de aplicações." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Toque duas vezes para abrir o tabuleiro de aplicações." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Toque duas vezes para abrir." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Tecla" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Eliminar" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Toque duas sem soltar para mover." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Toque duas vezes para fechar." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Vista Pendente aberta." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Aplicações favoritas" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "O ecrã principal será formado com até %d itens seleccionados no ecrã seguinte" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Nas aplicações Favoritas" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Mova para a pasta %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "A mover %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Sem conteúdo" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Página %1$d de %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Posição %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "A pasta está aberta." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Isto irá eliminar a pasta e todos os itens que contém." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Impossível adicionar mais aplicações. Número máximo de aplicações atingido." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Impossível carregar dados. Toque para tentar novamente." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fundos" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplic." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Elim." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Desactivar" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Ajuda" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Início" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Revista" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telef." + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Adicionar itens" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Pasta" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Reorganizar ícones" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Reorganizar páginas" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Seleccion. caixa de texto" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Seleccionar modelo" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Adicionar caixa texto" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Alterar fundo" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Criar pasta" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Eliminar pasta" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Aplicações transferidas" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extrair apps e eliminar pasta" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Desactivar esta aplicação?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "A nova página será constituída por S Planner, Tarefas e Dynamic Boxes de S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "A nova página será constituída por Dynamic Boxes do Twitter. No ecrã seguinte, seleccione até %d linhas de tempo de pessoas que está a seguir para serem apresentadas na nova página." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Esta pasta vai ser eliminada, mas as aplicações que estão dentro dela continuarão disponíveis no seu ecrã principal. Apagar esta pasta?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Falha ao recarregar. Memória do dispositivo cheia." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Fonte não suportada com este tamanho." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Impossível adicionar linha extra devido a restrição de espaço." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 item não lido" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Modo de edição" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d seleccionados ao todo." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notificações não lidas" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Pop-up de menu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Passe com dois dedos para ver a página seguinte." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Cabeçalho pop-up" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Texto no corpo do pop-up" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Ecrã principal" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Página movida para %1$d de %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Linha %1$d, coluna %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Adicionar página" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Não seleccionada" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Botão de opção" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Seleccionado" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Fonte padrão" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contactos" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Número máximo de caracteres atingido." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Cancelar" + +msgid "IDS_COM_SK_DONE" +msgstr "Concluído" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Mostrar %d itens" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Agenda" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Toque duas vezes para fechar o menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Saltar" + +msgid "IDS_COM_SK_SELECT" +msgstr "Selec." + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d seleccionada(s)" + +msgid "IDS_ST_SK_NEXT" +msgstr "Seguinte" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d itens serão ocultos." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Esta página e todos os itens que contém serão eliminados." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Eliminar página" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Eliminar" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Mostrar aplicações ocultas" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ocultar aplicações" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Mostrar aplicaç.desactivadas" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Não é possível desinstalar %s. Em vez disso, será desactivado." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 item será oculto." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Impossível adicionar esta Home Box ao ecrã principal. Não existe espaço suficiente no ecrã principal. Remova algumas Home Box e tente novamente." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Impossível adicionar" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Todas as páginas" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Em branco" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Adicionar Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Remover" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Remover pasta" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "A pasta será removida. As aplicações desta pasta não serão desinstaladas." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manualmente" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Por nome (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s será desinstalado." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Impossível reorganizar ícones pelo nome (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "CONCLUÍDO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "CANCELAR" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Ordenar itens" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Ordenar itens" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Impossível adicionar widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Adicionar widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Não há espaço suficiente no ecrã principal. Remova alguns widgets e tente novamente." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Editar" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Editar" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temas" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplicação não instalada." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s e todas as funções relacionadas serão desactivados. Para o reactivar, vá a Definições > Gestor de aplicações." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Número máximo de aplicações na pasta (%d) atingido." + diff --git a/res/po/ro.po b/res/po/ro.po new file mode 100755 index 0000000..0817de5 --- /dev/null +++ b/res/po/ro.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Anulare" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Creare folder" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Afişare" + +msgid "IDS_COM_SK_OPEN" +msgstr "Deschidere" + +msgid "IDS_MB_SK_EDIT" +msgstr "Editare" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Adăug." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Ştergere Director" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Introduceţi numele folderului." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Creare" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Încărcare..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplicaţii" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Muzică" + +msgid "IDS_ST_OPT_BASIC" +msgstr "De bază" + +msgid "IDS_ST_SK_HIDE" +msgstr "Ascundere" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Casetă de bifare" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Bifare" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Titlu" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Debifare" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Dezinstalare" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Sel. apl. de ad." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Sel. aplicaţii de ascuns" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Sel. aplicaţii de afişat" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Vizualizare ca" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Pentru a rearanja paginile, trebuie să schimbaţi tipul de vizualizare la grilă personalizabilă." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Dezinstalaţi %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini ap." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Deselectare" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Folder fără nume" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Atingeţi de două ori pentru a închide bara de aplicaţii." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Atingeţi de două ori pentru a deschide bara de aplicaţii." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Atingeţi de două ori pentru a deschide." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Buton" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Ştergere" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Atingeţi de două ori şi menţineţi pentru a muta." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Atingeţi de două ori pentru a închide." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Vizualizarea detaliată a fost deschisă." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Aplicaţii preferate" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Ecranul de pornire va fi format cu până la %d elemente selectate din ecranul următor" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "În Aplicaţii preferate" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Mutaţi în folderul %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Se mută %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Nu există conţinut" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Pagina %1$d din %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Poziţia %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Folderul este deschis." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Această acţiune va şterge folderul şi toate elementele pe care le conţine." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Nu se mai pot adăuga aplicaţii. A fost atins numărul maxim de aplicaţii." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Datele nu pot fi încărcate. Atingeţi pentru a reîncerca." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fundaluri" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplic." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Şterg." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Dezactivare" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Ajutor" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Acasă" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Revistă" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Adăugare elemente" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Rearanjaţi pictogramele" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Rearanjaţi paginile" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Selectare casetă text" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Selectare şablon" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Adăugare casetă text" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Schimbare fundal" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Creare folder" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Ştergere folder" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Aplicaţii descărcate" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extrag. apl. şi şterg. folder" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Dezactivaţi această aplicaţie?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Noua pagină va fi alcătuită din casetele Dynamic Box pentru Planificator S, Activităţi şi S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Noua pagină va fi alcătuită din casetele Dynamic Box pentru Twitter. În ecranul următor, selectaţi maximum %d cronologii ale persoanelor pe care le urmăriţi, pentru ca acestea să fie afişate pe noua pagină." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Acest folder va fi şters, dar aplicaţiile din acesta vor fi în continuare disponibile pe ecranul acasă. Ştergeţi acest folder?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Reîncărcarea nu a reuşit. Memoria dispozitivului este plină." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Fontul nu este acceptat la această dimensiune." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Nu se poate adăuga un alt rând din cauza limitei de spaţiu." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 element necitit" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Modul Editare" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Aţi selectat în total %d elemente." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d notificări necitite" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Fereastră pop-up meniu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Glisaţi cu două degete pentru a vizualiza pagina următoare." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Antet fereastră de tip pop-up" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Text în corpul ferestrei de tip pop-up" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Ecran de pornire" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Pagina a fost mutată la %1$d din %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Rândul %1$d, coloana %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Adăugare pagină" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Neselectat" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Buton radio" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Selectat" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Font prestabilit" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Contacte" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Adăugare la marcaje" + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Anulare" + +msgid "IDS_COM_SK_DONE" +msgstr "Gata" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Se afişează %d elemente" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Planificare" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Atingeţi de două ori pentru a închide meniul." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Sar" + +msgid "IDS_COM_SK_SELECT" +msgstr "Selectare" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d selectate" + +msgid "IDS_ST_SK_NEXT" +msgstr "Următor" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d elemente vor fi ascunse." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Această pagină şi elementele pe care le conţine vor fi şterse." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Ştergere pagină" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Ştergere" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Afişare aplicaţii ascunse" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ascundere aplicaţii" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Afişare aplicaţii dezactivate" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s nu se poate dezinstala. În schimb, se va dezactiva." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 element va fi ascuns." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Această Casetă acasă nu poate fi adăugată pe ecranul acasă. Nu există suficient spaţiu pe ecranul acasă. Eliminaţi câteva Casete acasă şi încercaţi din nou." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Imposibil de adăugat" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Casete acasă" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Toate paginile" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Necompletat" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Adăugare Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Eliminare" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Eliminare folder" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Folderul va fi eliminat. Aplicaţiile din acest folder nu vor fi dezinstalate." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manual" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "După nume (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s va fi dezinstalat." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Pictogramele nu pot fi reorganizate conform sortării după nume (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "EFECTUAT" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ANULARE" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sortare elemente" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sortare elemente" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgeturi" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Widgetul nu poate fi adăugat" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Adăugare widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Spaţiul de pe ecranul Acasă este insuficient. Ştergeţi câteva widgeturi şi încercaţi din nou." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Editare" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Editare" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Teme" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplicaţia nu este instalată." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "Aplicaţia %s şi toate caracteristicile asociate vor fi dezactivate. Pentru a o reactiva, accesaţi Setări > Manager aplicaţii." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "A fost atins numărul maxim de aplicaţii în folder (%d)." + diff --git a/res/po/ru_RU.po b/res/po/ru_RU.po new file mode 100755 index 0000000..82afe2b --- /dev/null +++ b/res/po/ru_RU.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Отмена" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Создать папку" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Показать" + +msgid "IDS_COM_SK_OPEN" +msgstr "Открыть" + +msgid "IDS_MB_SK_EDIT" +msgstr "Изменить" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Добав." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Удалить папку" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Введите имя папки." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Созд." + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Загрузка..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Приложения" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Музыка" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Основной" + +msgid "IDS_ST_SK_HIDE" +msgstr "Скрыть" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Флажок" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Установить" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Название" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Снять" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Удалить" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Выбор приложений" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Выбер. прил. для скрытия" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Выберите прил. для отобр." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Вид просмотра" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Чтобы изменить порядок страниц, необходимо изменить вид на “Настраиваемая сетка”." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Удалить %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Мини-приложения" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Отменить выбор" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Папка без имени" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Дважды нажмите, чтобы закрыть область приложений." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Дважды нажмите, чтобы открыть область приложений." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Дважды нажмите, чтобы открыть." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Кнопка" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Удалить" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Дважды коснитесь и удерживайте для перемещения." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Дважды нажмите, чтобы закрыть." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Раскрывающийся просмотр открыт." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Избранные приложения" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Будет создан главный экран с элементами, выбранными на следующем экране. Можно выбрать до %d элементов." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "В избранные приложения" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Переместить в папку %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Перемещение %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Нет содержимого" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Страница %1$d из %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Положение %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Папка открыта." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Папка со всем содержимым будет удалена." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Невозможно добавить другие приложения. Достигнуто максимальное количество приложений." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Не удалось загрузить данные. Коснитесь для повтора" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Обои" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Меню" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Удалить" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Отключить" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Справка" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Дом" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Журнал" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Телефон" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Добавить элементы" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Папка" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Пересортировка значков" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Пересортировка страниц" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Выберите текстовое поле" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Выбрать шаблон" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Добавить надпись" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Изменить обои" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Создать папку" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Удалить папку" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Загруж. прилож." + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Извл. приложения и удал. папку" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Отключить это приложение?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Новая страница будет включать элементы Dynamic Box для S Planner, задач и S Memo." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Новая страница будет включать элементы Dynamic Box для Twitter. На следующем экране выберите до %d хроник людей, на которых вы подписаны, чтобы добавить их на новую страницу." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Эта папка будет удалена, но приложения из нее останутся доступными на главном экране. Удалить папку?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Сбой повторной загрузки. Память устройства заполнена." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Шрифт не поддерживается для этого размера" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Не удалось добавить строку из-за ограничения места" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 непрочитанный элемент" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Режим редактирования" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Всего выбрано: %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "Непрочитанных уведомлений: %d" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Всплывающее окно меню" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Проведите двумя пальцами, чтобы просмотреть следующую страницу." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Всплывающий заголовок" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Текст во всплывающем окне" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Главный экран" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Страница перемещена на %1$d из %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Строка %1$d, столбец %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Добавить страницу" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Не выбрано" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Переключатель" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Выбрано" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Шрифт по умолчанию" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Контакты" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Достигнуто максимальное число символов." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Отмена" + +msgid "IDS_COM_SK_DONE" +msgstr "Готово" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Отображается элементов: %d" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Расписание" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Дважды нажмите, чтобы закрыть меню." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Пропуск" + +msgid "IDS_COM_SK_SELECT" +msgstr "Выделить" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Интернет" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "Выбрано: %d" + +msgid "IDS_ST_SK_NEXT" +msgstr "Далее" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Элементы (%d) будут скрыты." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Страница со всем содержимым будет удалена." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Удалить страницу" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Удалить" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Показать скрытые приложения" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Скрыть приложения" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Вывести отключенные приложения" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Невозможно удалить приложение %s. Оно будет отключено." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 элемент будет скрыт." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Не удалось добавить Home Box на главный экран. Недостаточно места на главном экране. Удалите некоторые элементы Home Box и повторите попытку." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Не удалось добавить" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Элементы Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Все страницы" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Пусто" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Добавить Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Удалить" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Удалить папку" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Папка будет удалена. Приложения в этой папке не будут удалены." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Вручную" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "По имени (от А до Я)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "Приложение %s будет удалено." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Невозможно изменить порядок значков, отсортированных по имени (от А до Я)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ГОТОВО" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ОТМЕНА" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Сортировать элементы" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Сортировать элементы" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Виджеты" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Не удалось добавить виджет" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Добавить виджет" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Недостаточно места на главном экране. Удалите несколько виджетов и повторите попытку." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Изменить" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Изменить" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Темы" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Приложение не установлено." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s и все связанные возможности отключатся. Чтобы снова включить их, перейдите в меню “Параметры” > “Диспетчер приложений”" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Достигнуто максимальное число приложений в папке (%d)." + diff --git a/res/po/sk.po b/res/po/sk.po new file mode 100755 index 0000000..ffdde0a --- /dev/null +++ b/res/po/sk.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Zrušiť" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Vytvoriť priečinok" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Zobraziť" + +msgid "IDS_COM_SK_OPEN" +msgstr "Otvoriť" + +msgid "IDS_MB_SK_EDIT" +msgstr "Upraviť" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Pridať" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Odstrániť priečinok" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Zadajte názov priečinka." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Vytv." + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Načítava sa..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplikácie" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Hudba" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Základný" + +msgid "IDS_ST_SK_HIDE" +msgstr "Skryť" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Začiarkavacie políčko" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Začiarknuť" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Názov" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Zrušiť začiarknutie" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Odinštalovať" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Vyb. apl. na prid." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Vyberte aplik. na skrytie" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Vyberte aplik. na zobraz." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Zobraziť ako" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Ak chcete zmeniť usporiadanie strán, musíte zmeniť typ zobrazenia na prispôsobiteľnú mriežku." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Odinštalovať program %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Miniap-likácie" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Zrušiť výber" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Priečinok bez názvu" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Dvojitým ťuknutím môžete zavrieť panel aplikácií." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Dvojitým ťuknutím môžete otvoriť panel aplikácií." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Dvojitým ťuknutím vykonáte otvorenie." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Tlačidlo" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Odstrániť" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Dvojitým ťuknutím a podržaním môžete vykonať premiestnenie." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Dvojitým ťuknutím vykonáte zatvorenie." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Rozbaľovacie zobrazenie je otvorené." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Obľúbené aplikácie" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Domovská obrazovka sa vytvorí z najviac %d položiek vybratých na nasledujúcej obrazovke" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "V obľúbených aplikáciách" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Premiestni sa do priečinka %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Premiestňuje sa %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Žiadny obsah" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Strana %1$d z %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Pozícia %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Priečinok je otvorený." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Týmto sa vykoná odstránenie priečinka a všetkých položiek, ktoré obsahuje." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Nemožno pridať ďalšie aplikácie. Dosiahol sa maximálny počet aplikácií." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Nemožno načítať údaje. Ťuknutím to môžete skúsiť znova." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Tapety" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Menu" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Vymaz." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Vypnúť" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Pomoc" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Domov" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Časopis" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefón" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Pridať položky" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Priečinok" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Zmena usporiadania ikon" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Zmena usporiadania strán" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Vyberte textové pole" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Vyberte šablónu" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Pridať textové pole" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Zmeniť tapetu" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Vytvoriť priečinok" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Odstrániť priečinok" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Stiahnuté aplikácie" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extrah. aplik. a odstr. prieč." + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Vypnúť túto aplikáciu?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Nová stránka bude obsahovať rámčeky Dynamic Box aplikácií S plánovač, Úlohy a S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Nová stránka bude obsahovať rámčeky Dynamic Box aplikácie Twitter. Na nasledujúcej obrazovke vyberte najviac %d časových osí vami nasledovaných ľudí, ktoré chcete zobraziť na novej stránke." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Tento priečinok sa odstráni, ale aplikácie v ňom zostanú k dispozícii na domovskej obrazovke. Odstrániť tento priečinok?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Nepodarilo sa znova načítať. Pamäť zariadenia je plná." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Písmo nie je podporované s touto veľkosťou." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Nemožno pridať ďalší riadok z dôvodu obmedzeného miesta." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 neprečítaná položka" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Režim úprav" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Vybraté spolu: %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "Neprečítané oznámenia: %d" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Kontextové okno s menu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Potiahnutím dvomi prstami môžete zobraziť nasledujúcu stranu." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Hlavička kontextového okna" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Text v tele kontextového okna" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Domovská obrazovka" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Stránka bola premiestnená do %1$d z %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Riadok %1$d, stĺpec %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Pridať stranu" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Nevybraté" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Prepínač" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Vybraté" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Predvolené písmo" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontakty" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Bol dosiahnutý maximálny počet znakov." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Zrušiť" + +msgid "IDS_COM_SK_DONE" +msgstr "Hotovo" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Počet zobrazených položiek: %d" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Plán" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Dvojitým ťuknutím môžete zavrieť menu." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Vynech." + +msgid "IDS_COM_SK_SELECT" +msgstr "Vybrať" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "Vybraté: %d" + +msgid "IDS_ST_SK_NEXT" +msgstr "Ďalej" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Vykoná sa skrytie %d položiek." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Táto stránka sa odstráni so všetkými položkami, ktoré obsahuje." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Odstránenie stránky" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Odstrániť" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Zobraziť skryté aplikácie" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Skryť aplikácie" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Zobraziť vypnuté aplikácie" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Aplikácia %s sa nedá odinštalovať. Namiesto toho sa vypne." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 položka bude skrytá." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Táto domovská schránka sa nedá pridať na domovskú obrazovku. Na domovskej obrazovke nie je dostatok miesta. Odstráňte niektoré domovské schránky a skúste to znova." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Nedá sa pridať" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Domovské schránky" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Všetky stránky" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Prázdne" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Pridať Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Odstrániť" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Odstrániť priečinok" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Priečinok sa odstráni. Aplikácie v tomto priečinku sa neodinštalujú." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuálne" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Podľa názvu (A – Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s sa odinštaluje." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Nedá sa zmeniť usporiadanie ikon zoradených podľa názvu (A – Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "HOTOVO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "ZRUŠIŤ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Zoradiť položky" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Zoradenie položiek" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Miniaplikácie" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Miniaplikácia sa nedá pridať" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Pridanie miniaplikácie" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Na domovskej obrazovke nie je dostatok miesta. Odstráňte niektoré miniaplikácie a skúste to znova." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Upraviť" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Upraviť" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Motívy" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplikácia nie je nainštalovaná." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s a všetky funkcie súvisiace s ňou sa vypnú. Ak ju chcete znova zapnúť, prejdite do menu Nastavenia > Správca aplikácií." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Dosiahol sa maximálny počet aplikácií v priečinku (%d)." + diff --git a/res/po/sl.po b/res/po/sl.po new file mode 100755 index 0000000..898bc9d --- /dev/null +++ b/res/po/sl.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Prekliči" + +msgid "IDS_CAM_SK_OK" +msgstr "V redu" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Ustvari mapo" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Prikaži" + +msgid "IDS_COM_SK_OPEN" +msgstr "Odpri" + +msgid "IDS_MB_SK_EDIT" +msgstr "Uredi" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Dodaj" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Izbriši mapo" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Vnesite ime mape." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Ustvari" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Nalaganje..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplikacije" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Glasba" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Osnovno" + +msgid "IDS_ST_SK_HIDE" +msgstr "Skrij" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Polje za potrditev" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Potrdi" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Naslov" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Počisti" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Odstrani" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Dodajte aplikacije" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Izb. apl., da jih skrij." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Izb. apl., da jih pokaž." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Prikaži kot" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Če želite prerazporediti strani, morate vrsto pogleda spremeniti v prilagodljivo mrežo." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Želite odstraniti %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini programi" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Opusti" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Neimenovana mapa" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Dvakrat pritisnite, da zaprete vrstico z aplikacijami." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Dvakrat pritisnite, da odprete vrstico z aplikacijami." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Dvakrat pritisnite, da odprete." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Gumb" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Brisanje" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Dvakrat pritisnite in držite za premikanje." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Dvakrat pritisnite, da zaprete." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Spustni pogled odprt." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Priljubljene aplikacije" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Domači zaslon bo sestavljen z največ %d elementi, izbranimi na naslednjem zaslonu" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Med priljubljenimi aplikacijami" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Premaknite v mapo %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Premikanje elementa %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Ni vsebine" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Stran %1$d od %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Položaj %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Mapa je odprta." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "S tem boste izbrisali mapo in vse elemente, ki jih vsebuje." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Aplikacij ni mogoče več dodati. Doseženo je največje število aplikacij." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Podatkov ni mogoče naložiti. Pritisnite, da poskusite znova." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Ozadja" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Prog." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Izbris" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Onemogoči" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Pomoč" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Domov" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Revija" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Dodaj predmete" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Mapa" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Prerazporejanje ikon" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Prerazporejanje strani" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Izberite besedilni okvir" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Izberite predlogo" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Dodaj besedilno polje" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Spremeni ozadje" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Ustvarite mapo" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Izbrišite mapo" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Prenesene aplikacije" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Izvlec. aplik. in izbriš. mapo" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Želite onemogočiti to aplikacijo?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Nova stran bo vsebovala S Planner, Opravila in polja Dynamic Boxes za S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Nova stran bo vsebovala polja Dynamic Boxes za Twitter. Na naslednjem zaslonu izberite do %d časovnic oseb, ki jim sledite, da bodo prikazane na novi strani." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Ta mapa bo izbrisana, vendar bodo aplikacije v njej še vedno na voljo na domačem zaslonu. Želite izbrisati to mapo?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Vnovično nalaganje ni uspelo. Pomnilnik naprave je poln." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Pisava ni podprta v tej velikosti." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Dodatne vrstice ni mogoče dodati zaradi omejitve prostora." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 neprebran element" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Način urejanja" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Skupno število izbranih: %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d neprebranih obvestil" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Meni v pojavnem oknu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Podrsajte z dvema prstoma, da prikažete naslednjo stran." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Glava pojavnega okna" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Besedilo v telesu pojavnega okna" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Domači zaslon" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Stran premaknjena na %1$d od %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Vrstica %1$d, stolpec %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Dodaj stran" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Ni izbrano" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Gumb za radio" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Izbrano" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Privzeta pisava" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Imenik" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Doseženo je največje dovoljeno število znakov." + +msgid "IDS_COM_SK_OK" +msgstr "V redu" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Prekliči" + +msgid "IDS_COM_SK_DONE" +msgstr "Končano" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Število prikazanih elementov: %d" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Urnik" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Dvakrat pritisnite, da zaprete meni." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Presk." + +msgid "IDS_COM_SK_SELECT" +msgstr "Izberi" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "Izbranih: %d" + +msgid "IDS_ST_SK_NEXT" +msgstr "Naprej" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Skritih bo toliko elementov: %d." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Ta stran in vsi elementi na njej bodo izbrisani." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Izbrišite stran" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Izbriši" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Prikaz skritih aplikacij" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Skrivanje aplikacij" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Prikaz onemogočenih aplikacij" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Aplikacije %s ni mogoče odstraniti. Namesto tega bo onemogočena." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Skrit bo 1 element." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Tega polja ni mogoče dodati na domači zaslon. Na domačem zaslonu ni dovolj prostora. Odstranite nekaj polj in poskusite znova." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Ni mogoče dodati." + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Polja na domačem zaslonu" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Vse strani" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Prazno" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dodaj Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Odstranite" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Odstrani mapo" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Mapa bo odstranjena. Programi v tej mapi ne bodo odstranjeni." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Ročno" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Po imenu (A–Ž)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "Program %s bo odstranjen." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Ikon, ki so razvrščene po imenu (A–Ž), ni mogoče prerazporediti." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "KONČANO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "PREKLIČI" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Razvrstitev elementov" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Razvrstitev elementov" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Pripomočki" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Pripomočka ni mogoče dodati" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Dodajanje pripomočka" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Na domačem zaslonu ni dovolj prostora. Odstranite nekaj pripomočkov in poskusite znova." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Uredi" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Uredi" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Teme" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Program ni nameščen." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "Aplikacija %s in vse z njo povezane funkcije bodo onemogočene. Če jo želite znova omogočiti, pojdite v meni Nastavitve > Upravitelj aplikacij." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Doseženo je največje dovoljeno število aplikacij v mapi (%d)." + diff --git a/res/po/sr.po b/res/po/sr.po new file mode 100755 index 0000000..2849cdb --- /dev/null +++ b/res/po/sr.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Otkaži" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Kreiraj folder" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Prikaži" + +msgid "IDS_COM_SK_OPEN" +msgstr "Otvori" + +msgid "IDS_MB_SK_EDIT" +msgstr "Izmeni" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Dodaj" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Obriši folder" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Unesi ime foldera" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Kreiraj" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Učitavanje..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Aplikacije" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Muzika" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Osnovni" + +msgid "IDS_ST_SK_HIDE" +msgstr "Sakrij" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Kućica za oznaku" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Označi" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Naslov" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Skini oznaku" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Deinstaliraj" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Izab. apl. za dod." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Izaberi apl. za skrivanje" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Izaberi apl. za prikaz" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Prikaži kao" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Da bi promenio/la redosled stranica, moraš da promeniš tip prikaza na podesivu rešetku." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Deinstalirati %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini aplikac." + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Poništi označeno" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Folder bez naziva" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Dvaput kucni radi zatvaranja trake sa aplikacijama." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Dvaput kucni radi otvaranja trake sa aplikacijama." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Dvaput kucni za otvaranje." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Taster" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Izbrisati" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Dvaput kucni i zadrži za pomeranje." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Dvaput kucni za zatvaranje." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Padajući prikaz je otvoren." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Omiljene aplikacije" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Početni ekran će se formirati sa maksimalno %d stavki koje su izabrane na sledećem ekranu" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "U omiljenim aplikacijama" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Premesti u folder %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Premeštanje %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Nema sadržaja" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Strana %1$d od %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Položaj %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Folder je otvoren." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Ovo će izbrisati folder i sve stavke koje se nalaze u njemu." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Dodavanje još aplikacija nije moguće. Dostignut je maksimalan broj aplikacija." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Učitavanje podataka nije moguće. Kucni za ponovni pokušaj." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Tapeti" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Aplik." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Obriši" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Onemogući" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Pomoć" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Počet." + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Časopis" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Dodaj stavke" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Folder" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Preuredi ikone" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Preuredi stranice" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Izaberi polje za tekst" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Izbor obrasca" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Dodaj okvir za tekst" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Promeni tapet" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Kreiraj folder" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Izbrisati folder" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Preuzete aplikacije" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Izdvoji apl. i izbriši folder" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Onemogućiti ovu aplikaciju?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Novu stranicu će činiti S planer, Zadaci i Dynamic Box-evi za S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Novu stranicu će činiti Dynamic Box-evi za Twitter. Na sledećem ekranu, izaberi i do %d vremenskih linija osoba koje pratiš za prikazivanje na novoj stranici." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Ovaj folder će biti izbrisan ali će aplikacije koje se nalaze u njemu ostati dostupne na početnom ekranu. Izbrisati ovaj folder?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Neuspešno ponovno učitavanje. Memorija uređaja je puna." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Font ove veličine nije podržan." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Nije moguće dodati još jedan red zbog prostornog ograničenja." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 nepročitana stavka" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Režim editovanja" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "%d ukupno izabranih." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d nepročitanih obaveštenja" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Iskačući meni" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Prevuci pomoću dva prsta za prikaz sledeće stranice." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Zaglavlje iskačućeg prozora" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Tekst u telu iskačućeg prozora" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Početni ekran" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Stranica je premeštena na %1$d od %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Red %1$d, kolona %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Dodaj stranicu" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Nije izabrano" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Taster za radio" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Izabrano" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Podrazumevani font" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontakti" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Dostignut maksimalan broj karaktera." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Otkaži" + +msgid "IDS_COM_SK_DONE" +msgstr "Gotovo" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Prikazuje se %d stavki" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Raspored" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Dvaput kucni za zatvaranje menija." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Presk." + +msgid "IDS_COM_SK_SELECT" +msgstr "Izaberi" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d je izabrano" + +msgid "IDS_ST_SK_NEXT" +msgstr "Naredna" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "Biće sakriven sledeći broj stavki: %d." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Ova stranica i sve stavke koje se nalaze na njoj će biti izbrisane." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Izbriši stranicu" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Izbriši" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Prikaži sakrivene aplikacije" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Sakrij aplikacije" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Prikaži onemogućene aplikacije" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s aplikacija ne može da se deinstalira. Umesto toga, ona će biti onemogućena." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "Jedna stavka će biti sakrivena." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Nije moguće dodati ovaj Home Box na početni ekran. Nedovoljno je prostora na početnom ekranu. Ukloni nekoliko Home Box-eva i pokušaj ponovo." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Nemoguće dodati" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box-ovi" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Sve strane" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Prazno" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dodaj Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Ukloni" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Ukloni folder" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Folder će biti uklonjen. Aplikacije u ovom folderu neće biti deinstalirane." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Ručno" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Po nazivu (A-Ž)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "Aplikacija %s će biti deinstalirana." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Nije moguće preurediti ikone koje su sortirane prema imenu (A-Ž)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "GOTOVO" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "OTKAŽI" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sortiraj stavke" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sortiraj stavke" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widget-i" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Nije moguće dodati widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Dodaj widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Nema dovoljno prostora na početnom ekranu. Ukloni neke widget-e i pokušaj ponovo." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Izmeni" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Izmeni" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Teme" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Aplikacija nije instalirana." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s i sve druge funkcije s tim u vezi će biti onemogućene. Da bi ih ponovo omogućio/la, idi na Podešavanja > Menadžer aplikacija." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Dostignut je maksimalan broj aplikacija u folderu (%d)." + diff --git a/res/po/sv.po b/res/po/sv.po new file mode 100755 index 0000000..b21c867 --- /dev/null +++ b/res/po/sv.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Avbryt" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Skapa mapp" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Visa" + +msgid "IDS_COM_SK_OPEN" +msgstr "Öppna" + +msgid "IDS_MB_SK_EDIT" +msgstr "Redigera" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Lägg till" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Radera mapp" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Ange mappnamn." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Skapa" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Laddar..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Program" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musik" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Grundläggande" + +msgid "IDS_ST_SK_HIDE" +msgstr "Dölj" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Kryssruta" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Markera" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Rubrik" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Avmarkera" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Avinstallera" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Välj pro. att lägga t." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Välj prog. som ska döljas" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Välj prog. som ska visas" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Visa som" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Om du vill sortera om sidor måste du ändra vytypen till ett anpassningsbart rutnät." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Avinstallera %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Miniprogram" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Avmarkera" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Mapp utan namn" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Dubbeltryck för att stänga programfacket." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Dubbeltryck för att öppna programfacket." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Dubbeltryck om du vill öppna." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Knapp" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Ta bort" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Dubbeltryck och håll nedtryckt om du vill flytta." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Dubbeltryck för att stänga." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Innehållsvyn öppen." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Favoritprogram" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Hemskärmen kommer att utgöras av upp till %d objekt som väljs på nästa skärm." + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "I Favoritprogram" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Flytta till mappen %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Flyttar %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Inget innehåll" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Sidan %1$d av %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Position %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Mappen är öppen." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Mappen och alla objekt i den kommer att tas bort." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Det går inte att lägga till fler program. Högsta antal program har uppnåtts." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Det går inte att läsa in data. Tryck om du vill försöka igen." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Bakgrunder" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Prg." + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Radera" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Inaktivera" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Hjälp" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Hem" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Tidskr." + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Lägg till objekt" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Mapp" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Ordna om ikoner" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Ordna om sidor" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Välj en textruta" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Välj mall" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Lägg till textruta" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Ändra bakgrund" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Skapa mapp" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Ta bort mapp" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Hämtade program" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Extrah. prog. och ta bort mapp" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Inaktivera det här programmet?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Den nya sidan består av Dynamic Boxes för S Planner, Uppgifter och S Memo." + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Den nya sidan består av Dynamic Boxes för Twitter. På nästa skärm kan du välja upp till %d tidslinjer för personer som du följer, för att visa dem på den nya sidan." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Den här mappen kommer att tas bort, men programmen i den kommer att förbli tillgängliga på din hemskärm. Vill du ta bort den här mappen?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Det gick inte att ladda om. Enhetsminnet är fullt." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Teckensnitt stöds inte för den här storleken." + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Det gick inte att lägga till en extra rad på grund av platsbegränsning." + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 oläst objekt" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Redigeringsläge" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Totalt %d har markerats." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d olästa aviseringar" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Meny-popup" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Dra med två fingrar för att visa nästa sida." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Popup-rubrik" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Popup-fönstrets brödtext" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Hemskärm" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Sidan har flyttats till %1$d av %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Rad %1$d, kolumn %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Lägg till sida" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Ej vald" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radioknapp" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Markerade" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Standardteckensnitt" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontakter" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Maximalt antal tecken har använts." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Avbryt" + +msgid "IDS_COM_SK_DONE" +msgstr "Klar" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Visar %d objekt" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGotisk" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Schema" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Dubbeltryck för att stänga menyn." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Nästa" + +msgid "IDS_COM_SK_SELECT" +msgstr "Välj" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d valda" + +msgid "IDS_ST_SK_NEXT" +msgstr "Nästa" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d objekt döljs." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Den här sidan och alla objekt i innehållet tas bort." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Ta bort sida" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Ta bort" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Visa dolda program" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Dölj program" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Visa inaktiverade program" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s kan inte avinseralleras. Det inaktiveras istället." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 objekt döljs." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Det går inte att lägga till denna Home Box på hemskärmen. Det finns inte tillräckligt med utrymme på hemskärmen. Ta bort några Home Box och försök igen." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Det går inte att lägga till" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Boxes" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Alla sidor" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Tom" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Lägg till Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Ta bort" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Ta bort mapp" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Mappen kommer att tas bort. Programmen i mappen avinstalleras inte." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Manuellt" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Efter namn (A-Ö)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s kommer att avinstalleras." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Det går inte att sortera om ikoner efter namn (A-Ö)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "KLAR" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "AVBRYT" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Sortera objekt" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Sortera objekt" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgetar" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Widgeten lades inte till" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Lägg till widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Det finns inte tillräckligt med utrymme på hemskärmen. Ta bort några widgetar och försök igen." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Redigera" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Redigera" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Teman" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Programmet är inte installerat." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s och alla relaterade funktioner kommer att inaktiveras. Aktivera det igen genom att gå till Inställningar > Programhanterare." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Max antal tillåtna program i mappen (%d) har uppnåtts." + diff --git a/res/po/tr_TR.po b/res/po/tr_TR.po new file mode 100755 index 0000000..c5c92d6 --- /dev/null +++ b/res/po/tr_TR.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "İptal" + +msgid "IDS_CAM_SK_OK" +msgstr "Tamam" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Klasör oluştur" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Göster" + +msgid "IDS_COM_SK_OPEN" +msgstr "Aç" + +msgid "IDS_MB_SK_EDIT" +msgstr "Düzenle" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Ekle" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Klasörü sil" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Klasör adını girin." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Oluştur" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Yükleniyor..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Uygulamalar" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Müzik" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Temel" + +msgid "IDS_ST_SK_HIDE" +msgstr "Gizle" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "İşaret kutusu" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "İşaretle" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Başlık" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "İşareti kaldır" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Kaldır" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Eklenecek uyg seç" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Gizlenecek uygulama seç" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Gösterilecek uygulama seç" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Farklı görüntüle" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Sayfaları yeniden düzenlemek için özelleştirilebilir kılavuzun görünüm tipini değiştirmeniz gerekir." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%s kaldırılsın mı?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini uygmlar" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Seçimi iptal et" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Adsız klasör" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Uygulama tepsisini kapatmak için çift dokunun." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Uygulama tepsisini açmak için çift dokunun." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Açmak için çift dokunun." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Düğme" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Sil" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Taşımak için çift dokunun ve tutun." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Kapatmak için çift dokun." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop view açık." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Favori uygulamalar" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Ana ekran, bir sonraki ekranda seçilecek en fazla %d öğeden oluşacak" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Favori uygulamalarda" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "%s klasörüne taşıyın." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%s taşınıyor" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "İçerik yok" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Sayfa %1$d / %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Konum %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Klasör açık." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Bu klasörü ve içerdiği tüm öğeleri silecek." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Daha fazla uygulama eklenemiyor. Maksimum uygulama sayısına ulaşıldı." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Veri yüklenemiyor. Tekrar denemek için dokunun." + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Duvar Kağıtları" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Uygmlr" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Sil" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Devre dışı bırak" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Yardım" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "A.Syf" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Dergi" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Öğe ekle" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Klasör" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Simgeleri yeniden düzenle" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Sayfaları yeniden düzenle" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Bir metin kutusu seçin" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Şablon seç" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Metin kutusu ekle" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Duvar kağıdını dğştr" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Klasör oluştur" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Klasörü sil" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "İndirilmiş uygulamalar" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Uyg. çıkarın ve klasörü silin" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Bu uygulama devre dışı bırakılsın mı?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Yeni sayfada S Planlayıcı, Görevler ve S Memo Dynamic Box'lar bulunacak" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Yeni sayfada Twitter Dynamic Box'lar bulunacak. Sonraki ekranda, yeni sayfada görünmek üzere takip ettiğiniz %d kişinin zaman çizelgesini seçin." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Bu klasör silinecek, ancak içindeki uygulamalar ana ekranınızda kullanılabilir şekilde kalacak. Bu klasör silinsin mi?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Tekrar yükleme başarısız. Cihaz belleği dolu." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Yazı tipi bu boyutta desteklenmiyor" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Alan kısıtlaması nedeniyle fazladan satır eklenemiyor" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 okunmamış öğe" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Düzenleme modu" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Toplamda %d öğe seçildi." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d okunmamış bildirim" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Menü açılır penceresi" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Sonraki sayfayı görmek için iki parmağınızla kaydırın." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Açılır pencere başlığı" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Açılır pencere yerindeki metin" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Ana sayfa ekranı" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Sayfa %1$d / %2$d taşındı." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Sıra %1$d, sütun %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Sayfa ekle" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Seçili değil" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radyo tuşu" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Seçildi" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Varsayılan yazı tipi" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kişiler" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Maksimum karakter sayısına ulaşıldı." + +msgid "IDS_COM_SK_OK" +msgstr "Tamam" + +msgid "IDS_COM_SK_CANCEL" +msgstr "İptal" + +msgid "IDS_COM_SK_DONE" +msgstr "Tamam" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d öğe gösteriliyor" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Program" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Menüyü kapamak için çift dokunun." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Geç" + +msgid "IDS_COM_SK_SELECT" +msgstr "Seç" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "İnternet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d seçildi" + +msgid "IDS_ST_SK_NEXT" +msgstr "İleri" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d öğe gizlenecek." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Bu sayfa ve içerdiği tüm öğeler silinecek." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Sayfayı sil" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Sil" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Gizli uygulamaları göster" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Uygulamaları gizle" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Devre dışı uygulamaları göster" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s kaldırılamıyor. Bunun yerine devre dışı bırakılacak." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 öğe gizlenecek." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Bu Home Box ana ekrana eklenemiyor. Ana ekranda yeterli alan yok. Bazı Home Box'ları kaldırıp tekrar deneyin." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Eklenemiyor" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box'lar" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Tüm sayfalar" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Boş" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box ekle" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Kaldır" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Klasörü kaldır" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Klasör kaldırılacak. Bu klasördeki uygulamalar kaldırılmayacak." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Elle" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "İsme göre (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s kaldırılacak." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "İsme göre (A-Z) sıralanan simgeler yeniden düzenlenemez." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "BİTTİ" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "İPTAL" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Öğeleri sırala" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Öğeleri sırala" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widget’lar" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Widget eklenemiyor" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Widget ekle" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Ana ekranda yeterli alan yok. Bazı widget'ları kaldırıp tekrar deneyin." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Düzenle" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Düzenle" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Temalar" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Uygulama yüklenmedi." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s ve tüm ilgili özellikleri devre dışı bırakılacak. Tekrar etkinleştirmek için Ayarlar > Uygulama yöneticisi'ne gidin." + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Klasörde maksimum uygulama sayısına (%d) ulaşıldı." + diff --git a/res/po/uk.po b/res/po/uk.po new file mode 100755 index 0000000..29d63d8 --- /dev/null +++ b/res/po/uk.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Скасувати" + +msgid "IDS_CAM_SK_OK" +msgstr "ОК" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Нова папка" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Показати" + +msgid "IDS_COM_SK_OPEN" +msgstr "Відкрити" + +msgid "IDS_MB_SK_EDIT" +msgstr "Редагувати" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Дод." + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Видалити папку" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Введіть назву папки" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Створити" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Завантаження..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Програми" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Музика" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Основний" + +msgid "IDS_ST_SK_HIDE" +msgstr "Приховати" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Прапорець" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Вибрати" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Назва" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Відхилити вибір" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Видалити" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Виб.прогр.для дод." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Виб. прогр., щоб прихов." + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Виб. прогр. для відобр." + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Вигляд" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Щоб перевпорядкувати розташування сторінок, потрібно змінити тип перегляду на настроювану таблицю." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "Видалити %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Міні-програми" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Скасувати вибір" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Папка без імені" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Двічі натисніть, щоб закрити трей програми." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Двічі натисніть, щоб відкрити трей програми." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Двічі натисніть, щоб відкрити." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Кнопка" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Видалити" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Двічі натисніть та утримуйте для переміщення." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Натисніть двічі, щоб закрити." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Розкривний перегляд відкрито." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Обрані програми" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Екран оформлення буде містити до %d об’єктів, вибраних на наступному екрані" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "У обраних програмах" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "Перемістити до папки %s." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "Переміщення %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Немає вмісту" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Сторінка %1$d з %2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "Положення: %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Папку відкрито." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Це призведе до видалення папки та усіх об'єктів у ній." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Неможливо додати програми. Досягнуто максимальної кількості програм." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Неможливо завантажити дані. Натисніть, щоб спробувати ще раз" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Заставки" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Програми" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Видал." + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "Вимкнути" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Довідка" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Дім" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Журнал" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Телефон" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Додати об’єкти" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Папка" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Перевпорядкувати значки" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Перевпорядкувати сторінки" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Виберіть текстове поле" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Виберіть шаблон" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Додати текстове поле" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Змінити заставку" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Створити папку" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Видалити папку" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Завантажені програми" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Вилуч. програми та видал.папку" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Вимкнути цю програму?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Нова сторінка буде містити Dynamic Box у S Planner, завданнях і S Memo" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Нова сторінка буде містити Dynamic Box у Twitter. На наступному екрані виберіть до %d графіків користувачів для наслідування для відображення на новій сторінці." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Цю папку буде видалено, але наявні в ній програми залишатимуться доступними на екрані оформлення. Видалити цю папку?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Не вдалося повторно завантажити. Пам’ять пристрою заповнено." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Шрифт цього розміру не підтримується" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Неможливо додати додатковий рядок через обмеження місця" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 непрочитаний об'єкт" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Редагувати режим" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Загалом вибрано: %d." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d непрочитаних сповіщень" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Спливне повідомлення меню" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Проведіть двома пальцями, щоб переглянути наступну сторінку." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Заголовок спливаючого повідомлення" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Текст всередині спливаючого повідомлення" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Головний екран" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Здійснено перехід на сторінку %1$d з %2$d." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Рядок %1$d, стовпець %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Додати сторінку" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Не вибрано" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Перемикач" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Вибрано" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Стандартний шрифт" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Контакти" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Досягнуто максимальної кількості символів." + +msgid "IDS_COM_SK_OK" +msgstr "ОК" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Скасувати" + +msgid "IDS_COM_SK_DONE" +msgstr "Готово" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "Відображення %d об’єктів" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Розклад" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Двічі натисніть, щоб закрити меню." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "Пропуск" + +msgid "IDS_COM_SK_SELECT" +msgstr "Вибрати" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Інтернет" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "Вибрано: %d" + +msgid "IDS_ST_SK_NEXT" +msgstr "Далі" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d об’єктів буде приховано." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Ця сторінка і всі об’єкти, що містяться на ній, будуть видалені." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Видалення сторінки" + +msgid "IDS_HS_OPT_DELETE" +msgstr "Видалити" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Приховані програми" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Приховати програми" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "Вимкнені програми" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "Неможливо видалити програму %s. Натомість її буде вимкнено." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 об’єкт буде приховано." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Неможливо додати Home Box на головний екран. Недостатньо місця на головному екрані. Видаліть деякі елементи Home Box і спробуйте ще раз." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Неможливо додати" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Елементи Home Box" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Всі сторінки" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Пустий" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Додати Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Видалити" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Видалення папки" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Папку буде видалено. Програми в цій папці не видалятимуться." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Вручну" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "За назвою (А-Я)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s буде видалено." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Неможливо перевпорядкувати значки, відсортовані за назвою (А-Я)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "ГОТОВО" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "СКАСУВАТИ" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Сортувати об’єкти" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Сортування об’єктів" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Віджети" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Неможливо додати віджет" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Додавання віджета" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Недостатньо місця на головному екрані. Видаліть деякі віджети та спробуйте ще раз." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Ред." + +msgid "IDS_HS_OPT_EDIT" +msgstr "Редагувати" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Теми" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Програму не інстальовано." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s і всі пов'язані з нею функції буде вимкнено. Щоб повторно її ввімкнути, перейдіть до розділу «Установки» > «Диспетчер програм»" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Досягнуто максимальної кількості програм у папці: %d." + diff --git a/res/po/uz.po b/res/po/uz.po new file mode 100755 index 0000000..b7f3d12 --- /dev/null +++ b/res/po/uz.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "Bekor qilish" + +msgid "IDS_CAM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "Jild yaratish" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "Ko‘rsatish" + +msgid "IDS_COM_SK_OPEN" +msgstr "Ochish" + +msgid "IDS_MB_SK_EDIT" +msgstr "Tahrirl." + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "Qo‘sh" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "Jildni o'chirib tashlash" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "Jild nomini kiriting." + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "Yarat" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "Yuklanmoqda..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "Ilovalar" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "Musiqa" + +msgid "IDS_ST_OPT_BASIC" +msgstr "Boshlang'ich" + +msgid "IDS_ST_SK_HIDE" +msgstr "Yashirish" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "Belgilash katakchasi" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "Belgi qo‘yish" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "Sarlavha" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "Belgini olib tashlash" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Olib tashlash" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "Qo‘sh. ilova tanla" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "Yashir. ilovalar tanlang" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "Ko‘rsat. ilovalar tanlang" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "Quyidagi sifatida ko‘rib chiqish" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "Sahifalar tartibini o‘zgartirish uchun ko‘rinish turini sozlanadigan to‘rga almashtirishingiz lozim." + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "%s olib tashlansinmi?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "Mini-ilovalar" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "Tanlovni bekor qilish" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "Nomsiz jild" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "Ilova treyni yopish uchun ikki marta teging." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "Ilova treyni ochish uchun ikki marta teging." + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "Ochish uchun ikki marta teging." + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "Tugma" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "Yo‘q qilish" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "Ko‘chirish uchun ikki marta cherting va bosib turing." + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "Yopish uchun ikki marta bosing." + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Tushadigan ko‘rinish ochiq." + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "Tanlangan ilovalar" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "Asosiy ekran keyingi ekranda tanlanadigan ko‘pi bilan %dta elementdan shakllanadi" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "Sevimli ilovalarda" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "%s jildiga ko‘chirish." + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "%sni ko‘chirish" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "Tarkib yo‘q" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "Sahifa %1$d/%2$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "%dni joylashtirish" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "Jild ochildi." + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "Bu jildni va uning barcha elementlarini yo‘q qiladi." + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "Ko‘proq ilovalarni qo‘shib bo‘lmaydi. Ilovalar soni maksimal miqdorga yetdi." + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "Ma’lumotni yuklab bo‘lmaydi. Qayta urinib ko‘rish uchun cherting" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "Fon rasmlari" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Ilovalar" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "Yo‘q/q" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "O‘chirish" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "Yordam" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "Asosiy" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "Jurnal" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "Telefon" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "Elementlar qo‘shish" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "Jild" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "Ikonachalar tartibini o‘zgartirish" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "Sahifalar tartibini o‘zgartirish" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "Matn qutisini tanlang" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "Shablon tanlash" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "Matn qutisini qo‘shish" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "Fon rasmini o‘zgar" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "Jild yaratish" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "Jildni yo‘q qilish" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "Yuklab olingan ilovalar" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "Ilova chiqar va jild yo‘q qil" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "Ushbu ilova o‘chirilsinmi?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "Yangi sahifa S Planner, Topshiriqlar va S Memo Dynamic Box-lardan tashkil topadi" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "Yangi sahifa Twitter Dynamic Box-laridan tashkil topadi. Keyingi ekranda yangi sahifada ko‘rsatilishi uchun Siz ergashayotgan insonlarning ko‘pi bilan %dta taymlaynini tanlang." + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "Ushbu jild yo‘q qilinadi, lekin undagi ilovalar asosiy ekraningizda qoladi. Ushbu jild yo‘q qilinsinmi?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "Qayta yuklab bo‘lmadi. Qurilma xotirasi to‘la." + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "Shrift ushbu o‘lchamda qo‘llab-quvvatlanmaydi" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "Bo‘shliq cheklovi sababli qo‘shimcha chiziqni qo‘shib bo‘lmaydi" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1ta o‘qilmagan element" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "Tahrirlash rejimi" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "Jami %dta tanlandi." + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%dta o‘qilmagan bildirishnomalar" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "Qalqib chiquvchi menyu" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "Keyingi sahifani ko‘rib chiqish uchun ikkita barmoq bilan suring." + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "Qalqib chiquvchi sarlavha" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "Qalqib chiquvchi oynaga matn kiritish" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Asosiy ekran" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "Sahifa %1$d/%2$dga ko‘chirildi." + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "Satr %1$d, ustun %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "Sahifa qo‘shish" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "Tanlanmagan" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "Radio button" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "Selected" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Shokoladli pechenye" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "Birlamchi o'rnatilgan shrift" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "Kontaktlar" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "Belgilar soni ruxsat etilgan maksimal miqdorga yetdi." + +msgid "IDS_COM_SK_OK" +msgstr "OK" + +msgid "IDS_COM_SK_CANCEL" +msgstr "Bekor qilish" + +msgid "IDS_COM_SK_DONE" +msgstr "Bajarildi" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "%d ta elementni ko‘rsatish" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "Jadval" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "Menyuni yopish uchun ikki marta bosing." + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "O‘tkaz" + +msgid "IDS_COM_SK_SELECT" +msgstr "Tanlash" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "Internet" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%dta tanlandi" + +msgid "IDS_ST_SK_NEXT" +msgstr "Keyingi" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%dta element yashiriladi." + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "Ushbu sahifa va uning tarkibidagi barcha elementlar yo‘q qilinadi." + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "Sahifani yo‘q qilish" + +msgid "IDS_HS_OPT_DELETE" +msgstr "O'chirish" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "Yashirin ilovalarni ko‘rsatish" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "Ilovalarni yashirish" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "O‘chirilgan ilovalarni ko‘rsat" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%sni olib tashlab bo‘lmaydi. O‘rniga u o‘chiriladi." + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 ta element yashiriladi." + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "Ushbu Home Box-ni asosiy ekranga qo‘shib bo‘lmaydi. Asosiy ekranda yetarli xotira mavjud emas. Ba’zi Home Box-larni olib tashlang va qayta urinib ko‘ring." + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "Qo‘shib bo‘lmaydi" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "Home Box-lar" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "Barcha sahifalar" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "Bo‘sh" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "Dynamic Box qo‘shish" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "Olib tashlash" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "Jildni olib tashlash" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "Jild olib tashlanadi. Ushbu jilddagi ilovalar o‘rnatilmaydi." + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "Qo‘lda" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "Nom bo‘yicha (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s olib tashlanadi." + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "Nomi bo‘yicha saralangan ikonachalar tartibini o‘zgartirib bo‘lmaydi (A-Z)." + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "BAJARILDI" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "BEKOR QILISH" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "Elementlarni saralash" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "Elementlarni saralash" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Vidjetlar" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "Vidjetni qo‘shib bo‘lmaydi" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "Vidjet qo‘shish" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "Asosiy ekranda yetarli xotira mavjud emas. Ba’zi vidjetlarni olib tashlang va qayta urinib ko‘ring." + +msgid "IDS_HS_HEADER_EDIT" +msgstr "Tahrirlash" + +msgid "IDS_HS_OPT_EDIT" +msgstr "Tahrirlash" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "Mavzular" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "Ilova o‘rnatilmadi." + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "%s va unga tegishli barcha funksiyalar o‘chiriladi. Uni yoqish uchun Parametrlar > Ilova menejeriga o‘ting" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "Jilddagi ilovalar soni maksimal miqdorga (%d) yetdi." + diff --git a/res/po/zh_CN.po b/res/po/zh_CN.po new file mode 100755 index 0000000..f9ffc42 --- /dev/null +++ b/res/po/zh_CN.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "取消" + +msgid "IDS_CAM_SK_OK" +msgstr "确定" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "新建文件夹" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "显示" + +msgid "IDS_COM_SK_OPEN" +msgstr "打开" + +msgid "IDS_MB_SK_EDIT" +msgstr "编辑" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "添加" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "删除文件夹" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "输入文件夹名称" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "创建" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "载入中…" + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "应用程序" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "音乐" + +msgid "IDS_ST_OPT_BASIC" +msgstr "基本" + +msgid "IDS_ST_SK_HIDE" +msgstr "隐藏" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "复选框" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "勾选" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "标题" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "取消勾选" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "卸载" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "选择要添加的应用程序" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "选择应用程序以隐藏" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "选择应用程序以显示" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "查看方式" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "若要重新排列页面,您需要将视图类型更改为可自定义网格。" + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "是否卸载 %s?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "迷你应用程序" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "不选" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "未命名文件夹" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "双击以关闭应用程序托盘。" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "双击以打开应用程序托盘。" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "双击以开启。" + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "按钮" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "删除" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "双击并按住以移动。" + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "双击以关闭。" + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop view 打开。" + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "常用应用程序" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "主屏将由在下一屏幕中选中的多达 %d 个项目构成" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "在收藏应用程序中" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "移至 %s 文件夹。" + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "移动中的 %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "无内容" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "第 %1$d 页,共 %2$d 页" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "位置 %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "文件夹已打开。" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "这将删除文件夹及其所含所有项目。" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "无法添加更多应用程序。已达到最大应用程序数。" + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "无法载入数据。轻敲以重试。" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "墙纸" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "应用程序" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "删除" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "禁用" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "帮助" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "主界面" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "杂志" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "手机" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "添加项目" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "文件夹" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "重新排列图标" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "重新排列页面" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "选择一个文本框" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "选择模板" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "添加文本框" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "更改墙纸" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "创建文件夹" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "删除文件夹" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "已下载应用程序" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "提取应用程序并删除文件夹" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "是否禁用该应用程序?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "新页面将包含 S 日历、任务和 S 备忘录动态窗口" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "新页面将包含 Twitter 动态窗口。在下一个屏幕上,选择多达 %d 个您正在关注的人的时间轴以在新页面上显示。" + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "该文件夹将被删除,但其内的应用程序将在您的主屏幕上保持可用。是否删除该文件夹?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "重新载入失败。设备内存已满。" + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "不支持此大小的字体" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "由于空间限制,无法添加额外的行" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 个未读项目" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "编辑模式" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "总共 %d 个已选中。" + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d 个未读通知" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "菜单弹出窗口" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "用两个手指滑动以查看下一页" + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "弹出标题" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "提示窗口正文文本" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "Home screen" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "页面已移动至 %2$d 之 %1$d。" + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "行%1$d,列%2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "添加页面" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "未选中" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "单选按钮" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "已选中" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "巧克饼干" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "爵士酷" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "默认字体" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "玛丽玫瑰" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "联系人" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "已达到最大字符限制" + +msgid "IDS_COM_SK_OK" +msgstr "确定" + +msgid "IDS_COM_SK_CANCEL" +msgstr "取消" + +msgid "IDS_COM_SK_DONE" +msgstr "完成" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "显示 %d 个项目" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "日程表" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "双击以关闭菜单。" + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "跳过" + +msgid "IDS_COM_SK_SELECT" +msgstr "选择" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "互联网" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d 已选中" + +msgid "IDS_ST_SK_NEXT" +msgstr "下一步" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "将隐藏 %d 个项目。" + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "将删除该页面及页面包含的所有项目。" + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "删除页面" + +msgid "IDS_HS_OPT_DELETE" +msgstr "删除" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "显示隐藏的应用程序" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "隐藏应用程序" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "显示已禁用的应用程序" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s 无法卸载。将改为禁用。" + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "将隐藏 1 个项目。" + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "无法将该主页框添加至主屏幕。主屏幕上的空间不足。移除部分主页框并重试。" + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "无法添加" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "主页框" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "全部页面" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "无内容" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "添加 Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "移除" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "移除文件夹" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "将移除文件夹。该文件夹中的应用程序将不会卸载。" + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "手动" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "按名称 (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "%s将被卸载。" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "无法重新排列按名称 (A-Z) 排序的图标" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "完成" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "排序项目" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "排序项目" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "小组件" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "无法添加小组件" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "添加小组件" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "主屏幕上的可用空间不足。请移除部分小组件并重试。" + +msgid "IDS_HS_HEADER_EDIT" +msgstr "编辑" + +msgid "IDS_HS_OPT_EDIT" +msgstr "编辑" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "主题" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "未安装应用程序。" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "将停用 %s 及所有相关功能。若要重新启用,请前往设定 > 应用程序管理器。" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "已达到文件夹中的最大应用程序数 (%d)" + diff --git a/res/po/zh_HK.po b/res/po/zh_HK.po new file mode 100755 index 0000000..e426519 --- /dev/null +++ b/res/po/zh_HK.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "取消" + +msgid "IDS_CAM_SK_OK" +msgstr "確定" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "建立資料夾" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "顯示" + +msgid "IDS_COM_SK_OPEN" +msgstr "開啟" + +msgid "IDS_MB_SK_EDIT" +msgstr "編輯" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "加入" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "刪除資料夾" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "輸入資料夾名稱。" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "建立" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "正在載入..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "應用程式" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "音樂" + +msgid "IDS_ST_OPT_BASIC" +msgstr "基本" + +msgid "IDS_ST_SK_HIDE" +msgstr "隱藏" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "勾選方塊" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "勾選" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "標題" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "取消勾選" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "解除安裝" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "選擇要加入的應用程式" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "選擇要隱藏的應用程式" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "選擇要顯示的應用程式" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "檢視方式" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "若要重新安排頁面,您需要將檢視類型變更為可自訂網格。" + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "解除安裝 %s 嗎?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "迷你應用程式" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "取消選擇" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "未命名的資料夾" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "輕觸兩下以關閉應用程式工具列。" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "輕觸兩下以開啟應用程式工具列。" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "輕觸兩下以開啟。" + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "按鈕" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "刪除" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "輕觸兩下並按住以移動。" + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "輕觸兩下以關閉。" + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop view 開啟。" + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "我的最愛應用程式" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "主螢幕將由在下一螢幕中選擇的最多 %d 個項目構成。" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "在我的最愛應用程式中" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "移至 %s 資料夾。" + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "正在移動 %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "無內容" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "第 %1$d 頁,共 %2$d 頁" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "位置 %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "資料夾已開啟。" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "這將刪除資料夾與其包含的所有項目。" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "無法加入更多應用程式。已達應用程式數量上限。" + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "無法載入數據。輕觸以重試。" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "螢幕牆紙" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "應用程式" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "刪除" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "停用" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "說明" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "首頁" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "雜誌" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "電話" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "加入項目" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "資料夾" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "重新排列圖示" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "重新排列頁面" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "選擇文字方塊" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "選擇範本" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "加入文字方塊" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "變更螢幕牆紙" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "建立資料夾" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "刪除資料夾" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "已下載的應用程式" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "解壓縮應用程式並刪除資料夾" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "停用此應用程式嗎?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "新頁面將包含 S Planner、工作與 S Memo 動態方塊。" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "新頁面將包含 Twitter 動態方塊。在下一個螢幕上,選擇最多 %d 個正被您關注的人的時間軸以於新頁面上顯示。" + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "此資料夾將被刪除,但其內的應用程式將在您的主螢幕上保持可用。刪除此資料夾嗎?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "無法重新載入。裝置記憶體已滿。" + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "不支援此大小的字體" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "由於空間限制,無法加入額外的行" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 個未讀項目" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "編輯模式" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "總共 %d 個已選擇。" + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d 個未讀通知" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "功能表彈出式視窗" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "以兩指滑動以檢視下一頁。" + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "彈出式標題" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "彈出視窗內文中的文字" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "主螢幕" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "頁面已移至 %2$d 之 %1$d。" + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "%1$d 行,%2$d 列" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "加入頁面" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "未選擇" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "收音機按鈕" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "已選擇" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "預設字體" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "聯絡人" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "字元數目已達上限。" + +msgid "IDS_COM_SK_OK" +msgstr "確定" + +msgid "IDS_COM_SK_CANCEL" +msgstr "取消" + +msgid "IDS_COM_SK_DONE" +msgstr "完成" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "顯示 %d 個項目" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "日程" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "輕觸兩下以關閉功能表。" + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "略過" + +msgid "IDS_COM_SK_SELECT" +msgstr "選擇" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "瀏覽器" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d 已選擇" + +msgid "IDS_ST_SK_NEXT" +msgstr "下一步" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "%d 個項目將被隱藏。" + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "此頁面及其包含的所有項目將被刪除。" + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "刪除頁面" + +msgid "IDS_HS_OPT_DELETE" +msgstr "刪除" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "顯示隱藏的應用程式" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "隱藏應用程式" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "顯示已停用的應用程式" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s 無法解除安裝。將改為停用。" + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "1 個項目將被隱藏。" + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "無法將此主螢幕方塊加入至主螢幕。主螢幕上的空間不足。請移除部分主螢幕方塊並重試。" + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "無法加入" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "主螢幕方塊" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "全部頁面" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "空白" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "加入 Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "移除" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "移除資料夾" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "將移除資料夾。此資料夾中的應用程式將不會被解除安裝。" + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "手動" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "按名稱 (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "將解除安裝 %s。" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "無法重新排列按名稱 (A-Z) 排序的圖示。" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "完成" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "排序項目" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "排序項目" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widgets" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "無法加入 Widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "加入 Widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "主螢幕上的可用空間不足。請移除部分 Widget 並重試。" + +msgid "IDS_HS_HEADER_EDIT" +msgstr "編輯" + +msgid "IDS_HS_OPT_EDIT" +msgstr "編輯" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "主題" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "未安裝應用程式。" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "將停用 %s 及所有相關功能。若要重新啟用,請前往設定 > 應用程式管理員。" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "已達資料夾中的應用程式數量上限 (%d)。" + diff --git a/res/po/zh_TW.po b/res/po/zh_TW.po new file mode 100755 index 0000000..1aed13c --- /dev/null +++ b/res/po/zh_TW.po @@ -0,0 +1,453 @@ +msgid "IDS_CAM_SK_CANCEL" +msgstr "取消" + +msgid "IDS_CAM_SK_OK" +msgstr "確定" + +msgid "IDS_COM_BODY_CREATE_FOLDER" +msgstr "建立資料夾" + +msgid "IDS_COM_POP_SHOW_A" +msgstr "顯示" + +msgid "IDS_COM_SK_OPEN" +msgstr "開啟" + +msgid "IDS_MB_SK_EDIT" +msgstr "編輯" + +msgid "IDS_MEMO_SK_ADD_ABB" +msgstr "新增" + +msgid "IDS_MF_OPT_DELETEFOLDER" +msgstr "刪除資料夾" + +msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY" +msgstr "輸入資料夾名稱。" + +msgid "IDS_PB_SK_CREATE_ABB" +msgstr "建立" + +msgid "IDS_ST_BODY_LOADING_ING" +msgstr "正在載入..." + +msgid "IDS_ST_HEADER_APPLICATIONS" +msgstr "應用程式" + +msgid "IDS_ST_HEADER_MUSIC" +msgstr "音樂" + +msgid "IDS_ST_OPT_BASIC" +msgstr "基本" + +msgid "IDS_ST_SK_HIDE" +msgstr "隱藏" + +msgid "IDS_TPLATFORM_BODY_TICKBOX_T_TTS" +msgstr "點選方塊" + +msgid "IDS_TPLATFORM_BODY_TICK_T_TTS" +msgstr "點選" + +msgid "IDS_TPLATFORM_BODY_TITLE" +msgstr "標題" + +msgid "IDS_TPLATFORM_BODY_UNTICK_T_TTS" +msgstr "取消點選" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "解除安裝" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_ADD_ABB2" +msgstr "選擇要新增的應用程式" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_HIDE_ABB" +msgstr "選擇要隱藏的應用程式" + +msgid "IDS_AT_HEADER_SELECT_APPS_TO_SHOW_ABB" +msgstr "選擇要顯示的應用程式" + +msgid "IDS_AT_OPT_VIEW_AS" +msgstr "檢視方式" + +msgid "IDS_AT_POP_TO_REARRANGE_PAGES_YOU_NEED_TO_CHANGE_THE_VIEW_TYPE_TO_A_CUSTOMISABLE_GRID" +msgstr "若要重新安排頁面,需將檢視類型變更為可自訂網格。" + +msgid "IDS_AT_POP_UNINSTALL_PS_Q" +msgstr "解除安裝 %s 嗎?" + +msgid "IDS_AT_TAB4_MINI_APPS" +msgstr "迷你應用程式" + +msgid "IDS_CAM_OPT_MULTISHOT_DESELECT" +msgstr "取消選擇" + +msgid "IDS_COM_HEADER_UNNAMED_FOLDER" +msgstr "未命名的資料夾" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_CLOSE_APP_TRAY_TTS" +msgstr "輕觸兩下來關閉應用程式工具列。" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_APP_TRAY_TTS" +msgstr "輕觸兩下來開啟應用程式工具列。" + +msgid "IDS_HELP_BODY_DOUBLE_TAP_TO_OPEN_TTS" +msgstr "輕觸兩下來開啟。" + +msgid "IDS_HS_BODY_BUTTON_T_TTS" +msgstr "按鍵" + +msgid "IDS_HS_BODY_DELETE_OPT_TTS" +msgstr "刪除" + +msgid "IDS_HS_BODY_DOUBLE_TAP_AND_HOLD_TO_MOVE_T_TTS" +msgstr "輕觸兩下並按住以移動。" + +msgid "IDS_HS_BODY_DOUBLE_TAP_TO_CLOSE_T_TTS" +msgstr "輕觸兩下來關閉。" + +msgid "IDS_HS_BODY_DROP_VIEW_OPEN_T_TTS" +msgstr "Drop view 開啟。" + +msgid "IDS_HS_BODY_DYNAMIC_BOX" +msgstr "Dynamic Box" + +msgid "IDS_HS_BODY_FAVOURITE_APPS_TTS" +msgstr "最愛的應用程式" + +msgid "IDS_HS_BODY_HOME_SCREEN_WILL_BE_FORMED_WITH_UP_TO_PD_ITEMS_SELECTED_IN_THE_NEXT_SCREEN" +msgstr "主螢幕將以下一個畫面中選擇的項目組成,最多可達 %d 個項目" + +msgid "IDS_HS_BODY_IN_FAVOURITE_APPLICATIONS_TTS" +msgstr "在我最愛的應用程式中" + +msgid "IDS_HS_BODY_MOVE_INTO_PS_FOLDER_TTS" +msgstr "移至 %s 資料夾。" + +msgid "IDS_HS_BODY_MOVING_PS_M_PROGRESS_TTS" +msgstr "正在移動 %s" + +msgid "IDS_HS_BODY_NO_CONTENT" +msgstr "無內容" + +msgid "IDS_HS_BODY_PAGE_P1SD_OF_P2SD" +msgstr "頁 %2$d 之 %1$d" + +msgid "IDS_HS_BODY_POSITION_PD" +msgstr "位置 %d" + +msgid "IDS_HS_BODY_THE_FOLDER_IS_OPEN" +msgstr "資料夾已開啟。" + +msgid "IDS_HS_BODY_THIS_WILL_DELETE_THE_FOLDER_AND_ALL_THE_ITEMS_IT_CONTAINS" +msgstr "這將刪除資料夾與其包含的所有項目。" + +msgid "IDS_HS_BODY_UNABLE_TO_ADD_MORE_APPS_MAXIMUM_NUMBER_OF_APPS_REACHED" +msgstr "無法新增更多應用程式。已達應用程式數量上限。" + +msgid "IDS_HS_BODY_UNABLE_TO_LOAD_DATA_TAP_TO_RETRY" +msgstr "無法載入資料。輕觸以重試。" + +msgid "IDS_HS_BODY_WALLPAPERS_ABB" +msgstr "桌布" + +msgid "IDS_HS_BUTTON_APPS" +msgstr "Apps" + +msgid "IDS_HS_BUTTON_DELETE" +msgstr "刪除" + +msgid "IDS_HS_BUTTON_DISABLE_ABB" +msgstr "停用" + +msgid "IDS_HS_BUTTON_HELP" +msgstr "說明" + +msgid "IDS_HS_BUTTON_HOME_ABB" +msgstr "首頁" + +msgid "IDS_HS_BUTTON_MAGAZINE_ABB" +msgstr "雜誌" + +msgid "IDS_HS_BUTTON_PHONE" +msgstr "電話" + +msgid "IDS_HS_HEADER_ADD_ITEMS" +msgstr "新增項目" + +msgid "IDS_HS_HEADER_FOLDER" +msgstr "資料夾" + +msgid "IDS_HS_HEADER_REARRANGE_ICONS" +msgstr "重新排列圖示" + +msgid "IDS_HS_HEADER_REARRANGE_PAGES" +msgstr "重新排列頁面" + +msgid "IDS_HS_HEADER_SELECT_A_TEXT_BOX_ABB" +msgstr "選擇文字方塊" + +msgid "IDS_HS_HEADER_SELECT_TEMPLATE_ABB" +msgstr "選擇範本" + +msgid "IDS_HS_OPT_ADD_TEXT_BOX_ABB" +msgstr "新增文字方塊" + +msgid "IDS_HS_OPT_CHANGE_WALLPAPER_ABB" +msgstr "變更桌布" + +msgid "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" +msgstr "建立資料夾" + +msgid "IDS_HS_OPT_DELETE_FOLDER_TTS" +msgstr "刪除資料夾" + +msgid "IDS_HS_OPT_DOWNLOADED_APPS" +msgstr "已下載的應用程式" + +msgid "IDS_HS_OPT_EXTRACT_APPS_AND_DELETE_FOLDER_ABB" +msgstr "解壓縮應用程式並刪除資料夾" + +msgid "IDS_HS_POP_DISABLE_THIS_APPLICATION_Q" +msgstr "停用此應用程式嗎?" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_THE_S_PLANNER_TASKS_AND_S_MEMO_DYNAMIC_BOXES" +msgstr "新頁面將以 S Planner、工作與 S Memo 動態方塊組成" + +msgid "IDS_HS_POP_THE_NEW_PAGE_WILL_CONSIST_OF_TWITTER_DYNAMIC_BOXES_MSG" +msgstr "新頁面將包含 Twitter 動態方塊。在下一個畫面中,最多可選擇 %d 個正在追蹤的時間軸來顯示於新頁面。" + +msgid "IDS_HS_POP_THIS_FOLDER_WILL_BE_DELETED_BUT_THE_APPLICATIONS_WITHIN_IT_WILL_REMAIN_AVAILABLE_ON_YOUR_HOME_SCREEN_DELETE_THIS_FOLDER_Q" +msgstr "將刪除此功能表,但是其中的應用程式仍可繼續於主畫面上使用。刪除此資料嗎?" + +msgid "IDS_HS_TPOP_FAILED_TO_RELOAD_DEVICE_MEMORY_FULL" +msgstr "更新重新載入。裝置記憶體已滿。" + +msgid "IDS_HS_TPOP_FONT_NOT_SUPPORTED_AT_THIS_SIZE" +msgstr "不支援此大小的字體" + +msgid "IDS_HS_TPOP_UNABLE_TO_ADD_EXTRA_LINE_DUE_TO_SPACE_RESTRICTION_ABB" +msgstr "因空間限制,無法新增其他行" + +msgid "IDS_SCR_BODY_1_UNREAD_ITEM" +msgstr "1 個未讀項目" + +msgid "IDS_SCR_BODY_EDIT_MODE_TTS" +msgstr "編輯模式" + +msgid "IDS_SCR_BODY_PD_SELECTED_IN_TOTAL_TTS" +msgstr "共有 %d 個已選。" + +msgid "IDS_SCR_BODY_PD_UNREAD_ITEMS" +msgstr "%d 則未讀通知" + +msgid "IDS_SCR_OPT_MENU_POP_UP_TTS" +msgstr "功能表彈出視窗" + +msgid "IDS_STORYALBUM_BODY_SWIPE_WITH_TWO_FINGERS_TO_VIEW_NEXT_PAGE_TTS" +msgstr "用雙指滑動來檢視下一頁。" + +msgid "IDS_ST_BODY_POP_UP_HEADER_T_TALKBACK_T_TALKBACK" +msgstr "彈出式標題" + +msgid "IDS_ST_BODY_TEXT_IN_BODY_OF_POP_UP_T_TALKBACK" +msgstr "彈出視窗內文中的文字" + +msgid "IDS_ST_HEADER_HOME_SCREEN" +msgstr "主螢幕" + +msgid "IDS_TTS_BODY_PAGE_MOVED_TO_P1SD_OF_P2SD" +msgstr "頁面已移至 %2$d 之 %1$d。" + +msgid "IDS_TTS_BODY_ROW_P1SD_COLUMN_P2SD" +msgstr "行 %1$d、欄 %2$d" + +msgid "IDS_TTS_BUTTON_ADD_PAGE" +msgstr "新增頁面" + +msgid "IDS_TPLATFORM_BODY_NOT_SELECTED_T_TTS" +msgstr "未選擇" + +msgid "IDS_TPLATFORM_BODY_RADIO_BUTTON_T_TTS" +msgstr "收音機按鍵" + +msgid "IDS_TPLATFORM_BODY_SELECTED_T_TTS" +msgstr "已選擇" + +msgid "IDS_ST_BODY_CHOCO_COOKY" +msgstr "Choco cooky" + +msgid "IDS_ST_BODY_COOL_JAZZ" +msgstr "Cool jazz" + +msgid "IDS_ST_BODY_DEFAULT_FONT" +msgstr "預設字體" + +msgid "IDS_ST_BODY_FONTSTYLE_ROSEMARY" +msgstr "Rosemary" + +msgid "IDS_COM_BODY_CONTACTS" +msgstr "聯絡人" + +msgid "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED" +msgstr "已達字元數上限。" + +msgid "IDS_COM_SK_OK" +msgstr "確定" + +msgid "IDS_COM_SK_CANCEL" +msgstr "取消" + +msgid "IDS_COM_SK_DONE" +msgstr "完成" + +msgid "IDS_CAM_BODY_SHOWING_PD_ITEMS_T_TTS" +msgstr "顯示 %d 個項目" + +msgid "IDS_ST_BODY_UDRGOTHICM_JPN" +msgstr "UDRGothicM" + +msgid "IDS_ST_BODY_UDMINCHO_JPN" +msgstr "UDMincho" + +msgid "IDS_ST_BODY_UDGOTHIC_M_FONT" +msgstr "UDGothic" + +msgid "IDS_ST_BODY_SCHEDULE" +msgstr "排程" + +msgid "IDS_ST_BODY_POP_JPN_DCM" +msgstr "POP" + +msgid "IDS_ST_BODY_MARUBERI_JPN_DCM" +msgstr "Maruberi" + +msgid "IDS_ST_BODY_HELVETICA_NEUE_M_FONT_NAME" +msgstr "Helvetica Neue" + +msgid "IDS_ST_BODY_DOUBLE_TAP_TO_CLOSE_THE_MENU_T_TTS" +msgstr "按兩下來關閉功能表。" + +msgid "IDS_ST_SK_SKIP_LITE" +msgstr "略過" + +msgid "IDS_COM_SK_SELECT" +msgstr "選擇" + +msgid "IDS_COM_BODY_INTERNET" +msgstr "網際網路" + +msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2" +msgstr "%d 已選擇" + +msgid "IDS_ST_SK_NEXT" +msgstr "下一步" + +msgid "IDS_HS_POP_PD_ITEMS_WILL_BE_HIDDEN" +msgstr "將隱藏 %d 個項目。" + +msgid "IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED" +msgstr "將刪除此頁面與所有包含的項目。" + +msgid "IDS_HS_HEADER_DELETE_PAGE_ABB2" +msgstr "刪除頁面" + +msgid "IDS_HS_OPT_DELETE" +msgstr "刪除" + +msgid "IDS_HS_OPT_SHOW_HIDDEN_APPLICATIONS_ABB" +msgstr "顯示隱藏的應用程式" + +msgid "IDS_HS_OPT_HIDE_APPLICATIONS_ABB" +msgstr "隱藏應用程式" + +msgid "IDS_HS_OPT_SHOW_DISABLED_APPLICATIONS_ABB" +msgstr "顯示停用的應用程式" + +msgid "IDS_HS_POP_PS_CANNOT_BE_UNINSTALLED_IT_WILL_BE_DISABLED_INSTEAD" +msgstr "%s 無法解除安裝。將改為停用 。" + +msgid "IDS_HS_POP_1_ITEM_WILL_BE_HIDDEN" +msgstr "將隱藏 1 個項目。" + +msgid "IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG" +msgstr "無法將此主工具盒新增至主螢幕。主螢幕空間不足。請移除部分主工具盒並重試。" + +msgid "IDS_MSG_HEADER_UNABLE_TO_ADD" +msgstr "無法加入" + +msgid "IDS_HS_OPT_HOME_BOXES" +msgstr "主工具盒" + +msgid "IDS_HS_OPT_ALL_PAGES" +msgstr "所有頁面" + +msgid "IDS_JAVA_POP_BLANK" +msgstr "空白" + +msgid "IDS_HS_OPT_ADD_DYNAMIC_BOX" +msgstr "新增 Dynamic Box" + +msgid "IDS_ST_BUTTON_REMOVE_ABB2" +msgstr "移除" + +msgid "IDS_HS_HEADER_REMOVE_FOLDER_ABB" +msgstr "移除資料夾" + +msgid "IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED" +msgstr "將移除資料夾。此資料夾中的應用程式將不會被解除安裝。" + +msgid "IDS_HS_OPT_MANUALLY_ABB" +msgstr "手動" + +msgid "IDS_HS_OPT_BY_NAME_HA_Z_ABB" +msgstr "依名稱 (A-Z)" + +msgid "IDS_HS_POP_PS_WILL_BE_UNINSTALLED" +msgstr "將會移除 %s。" + +msgid "IDS_HS_TPOP_UNABLE_TO_REARRANGE_ICONS_SORTED_BY_NAME_HA_Z" +msgstr "無法依名稱 (A-Z) 排序來重新排列圖示。" + +msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB" +msgstr "完成" + +msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB" +msgstr "取消" + +msgid "IDS_HS_OPT_SORT_ITEMS" +msgstr "排序項目" + +msgid "IDS_HS_HEADER_SORT_ITEMS" +msgstr "排序項目" + +msgid "IDS_HS_BODY_WIDGETS_ABB" +msgstr "Widget" + +msgid "IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB" +msgstr "無法新增 widget" + +msgid "IDS_HS_HEADER_ADD_WIDGET" +msgstr "新增 widget" + +msgid "IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN" +msgstr "主螢幕上的空間不足。請刪除部分 widget 並重試。" + +msgid "IDS_HS_HEADER_EDIT" +msgstr "編輯" + +msgid "IDS_HS_OPT_EDIT" +msgstr "編輯" + +msgid "IDS_HS_BODY_THEMES_ABB" +msgstr "主題" + +msgid "IDS_HS_POP_APPLICATION_NOT_INSTALLED" +msgstr "未安裝應用程式。" + +msgid "IDS_HS_POP_PS_AND_ALL_THE_FEATURES_RELATED_TO_IT_WILL_BE_DISABLED_TO_ENABLE_IT_AGAIN_GO_TO_SETTINGS_APPLICATION_MANAGER" +msgstr "將停用 %s 及所有相關功能。若要重新啟用,請前往設定 > 應用程式管理員。" + +msgid "IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED" +msgstr "已達資料夾中的應用程式數量上限 (%d)。" + diff --git a/shared/res/homescreen-efl.png b/shared/res/homescreen-efl.png new file mode 100644 index 0000000..9765b1b Binary files /dev/null and b/shared/res/homescreen-efl.png differ diff --git a/src/all_apps.c b/src/all_apps.c new file mode 100644 index 0000000..353082a --- /dev/null +++ b/src/all_apps.c @@ -0,0 +1,225 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "all_apps.h" +#include "page_scroller.h" +#include "app_grid.h" +#include "dynamic_index.h" + +static struct { + Evas_Object *all_apps; + Evas_Object *parent; + Evas_Coord w; + Evas_Coord h; + + dynamic_index_t *index; + + bool anim_base_positions_actual; + int anim_base_pos_x; + int anim_base_pos_y; + +} s_info = { + .all_apps = NULL, + .parent = NULL, + .w = -1, + .h = -1, + + .index = NULL, + + /*these variables are used during animation transitions:*/ + .anim_base_positions_actual = false, + .anim_base_pos_x = -1, + .anim_base_pos_y = -1 +}; + + +static bool __all_apps_fill(void); + +HAPI void all_apps_detach_from_grid(Elm_Object_Item *grid_item) +{ + LOGI(""); + if (!grid_item) { + LOGE("[INVALID_ARG][grid_item='%p']" , grid_item); + return; + } + + app_grid_unpack_item(grid_item); + elm_object_item_del(grid_item); +} + +HAPI Elm_Object_Item *all_apps_attach_to_grid(Evas_Object *icon, int grid_num) +{ + Evas_Object *grid = NULL; + + if (!icon) { + LOGE("icon == NULL"); + return NULL; + } + + grid = page_scroller_get_page(s_info.all_apps, grid_num); + + if (home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS_CHOOSE) + elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE); + + return app_grid_append_item(grid, icon); +} + +HAPI Evas_Object *all_apps_create(Evas_Object *parent, void *data) +{ + Evas_Object *p_edje = NULL; + + /*Created before!*/ + if (!parent) { + LOGE("[INVALID_ARG][parent='%p'][data='%p']" , parent, data); + return NULL; + } + s_info.parent = parent; + + p_edje = elm_layout_edje_get(parent); + edje_object_part_geometry_get(p_edje, PART_CONTENT , NULL , NULL, &s_info.w, &s_info.h); + + if (s_info.w < 0 || s_info.h < 0) { + LOGE("[FAILED][edje_object_part_geometry_get][w='%d'][h='%d']", s_info.w, s_info.h); + return NULL; + } + + s_info.all_apps = page_scroller_create(s_info.w, s_info.h); + if (!s_info.all_apps) { + LOGE("[FAILED][page_scroller_create]"); + return NULL; + } + + if (!__all_apps_fill()) { + LOGE("[FAILED][__all_apps_fill]"); + page_scroller_destroy(s_info.all_apps); + s_info.all_apps = NULL; + return NULL; + } + + s_info.index = dynamic_index_new(s_info.all_apps); + if (!s_info.index) { + LOGE("[FAILED][dynamic_index_new]"); + page_scroller_destroy(s_info.all_apps); + s_info.all_apps = NULL; + return NULL; + } + + evas_object_size_hint_min_set(s_info.all_apps, home_screen_get_root_width(), home_screen_get_root_height()); + evas_object_resize(s_info.all_apps, home_screen_get_root_width(), home_screen_get_root_height()); + evas_object_move(s_info.all_apps, 0, home_screen_get_root_height()); + + return s_info.all_apps; +} + +HAPI void all_apps_show(void) +{ + if (s_info.index) { + elm_object_part_content_set(s_info.parent, PART_INDEX, s_info.index->box); + evas_object_show(s_info.index->box); + } +} + +HAPI void all_apps_hide(void) +{ + elm_object_part_content_unset(s_info.parent, PART_INDEX); + if (s_info.index) + evas_object_hide(s_info.index->box); + +} + +HAPI void all_apps_del(void) +{ + /*app_grids was added into all_apps so it should be removed + when this object will be deleted.*/ + dynamic_index_del(s_info.index); + s_info.index = NULL; + + evas_object_del(s_info.all_apps); + s_info.all_apps = NULL; +} + +HAPI void all_apps_set_view_mode(homescreen_view_t view) +{ + data_model_set_view_mode(view); +} + +HAPI void all_apps_set_scrolling_blocked_state(bool is_blocked) +{ + if (is_blocked) page_scroller_freeze(s_info.all_apps); + else page_scroller_unfreeze(s_info.all_apps); +} + +HAPI bool all_apps_append_page(Tree_node_t *page_item) +{ + Evas_Object *app_grid = app_grid_create(s_info.all_apps, page_item, s_info.w, s_info.h, APP_GRID_TYPE_ALL_APPS); + + if (!app_grid) { + LOGE("[FAILED][app_grid_create]"); + return false; + } + + if (!page_scroller_add_page(s_info.all_apps, app_grid)) { + LOGE("[FAILED][page_scroller_page_add]"); + evas_object_del(app_grid); + return false; + } + + return true; +} + +HAPI void all_apps_remove_empty_pages(void) +{ + Evas_Object *empty_page_layout = NULL, *page_layout = NULL, *gengrid_inside_layout = NULL; + int i = 0; + + do { + i = 0; + empty_page_layout = NULL; + + while ((page_layout = page_scroller_get_page(s_info.all_apps, i++))) { + gengrid_inside_layout = elm_object_part_content_get(page_layout, PART_APP_GRID_CONTENT); + + if (elm_gengrid_items_count(gengrid_inside_layout) == 0) { + empty_page_layout = page_layout; + break; + } + } + page_scroller_remove_page(s_info.all_apps, empty_page_layout); + } while (empty_page_layout); +} + +HAPI void all_apps_update_dynamic_index_count(void) +{ + elm_object_signal_emit(s_info.all_apps, "scroller,count,changed", "layout"); +} + +static bool __all_apps_fill(void) +{ + Tree_node_t *it = NULL; + Tree_node_t *data_model = (Tree_node_t *)data_model_get_all_apps(); + + if (!data_model) { + LOGE("[FAILED][data_model_tree_get"); + return false; + } + + TREE_NODE_FOREACH(data_model, it) + if (!all_apps_append_page(it)) + return false; + + return true; +} \ No newline at end of file diff --git a/src/app_grid.c b/src/app_grid.c new file mode 100644 index 0000000..5e3a2ac --- /dev/null +++ b/src/app_grid.c @@ -0,0 +1,925 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "app_grid.h" +#include "homescreen-efl.h" +#include "app_item.h" +#include "app_icon.h" +#include "page_scroller.h" +#include "all_apps.h" +#include "folder_panel.h" +#include "util.h" +#include "popup.h" +#include "data_model.h" + +typedef enum { + NEXT_PAGE_CB = 0, + PREV_PAGE_CB, + NONE_PAGE_CB +} page_change_action_t; + +typedef enum { + MODE_NORMAL = 0, + MODE_EDIT, + MODE_FOLDER, +} possible_view_modes_t; + +typedef struct { + page_change_action_t action; + Evas_Object *parent; +} change_page_data_t; + +static struct { + Tree_node_t *repositioned_node; + Tree_node_t *opened_folder_node; + Tree_node_t *destination_folder; + Evas_Object *repositioned_icon_layout; + Evas_Object *src_grid; + Evas_Object *repositioned_icon; + Elm_Object_Item *repositioned_item; + int src_idx; + bool is_dnd_on; + Evas_Coord dx; + Evas_Coord dy; + Elm_Gengrid_Item_Class *gic; + Evas_Coord w; + Evas_Coord h; + int f_x; + int f_y; + int f_w; + int f_h; + Ecore_Timer *change_page_timer; + Ecore_Timer *outside_folder_timer; + change_page_data_t cp_data; +} s_info = { + .repositioned_node = NULL, + .opened_folder_node = NULL, + .destination_folder = NULL, + .repositioned_icon_layout = NULL, + .src_grid = NULL, + .repositioned_icon = NULL, + .repositioned_item = NULL, + .src_idx = 1, + .is_dnd_on = false, + .gic = NULL, + .dx = -1, + .dy = -1, + .w = -1, + .h = -1, + .f_x = -1, + .f_y = -1, + .f_w = -1, + .f_h = -1, + .change_page_timer = NULL, + .outside_folder_timer = NULL, + .cp_data = { + action: NONE_PAGE_CB, + parent: NULL + } +}; + +/*================================= PRIVATE FUNCTIONS ============================================*/ +static bool __app_grid_fill(Evas_Object *grid, Tree_node_t *data); +static Evas_Object *__app_grid_create_ly(Evas_Object *parent); +static bool __app_grid_resize(Evas_Object *app_grid, Evas_Coord new_w, Evas_Coord new_h); +static Evas_Object *__app_grid_get_icon_container_ptr(Elm_Object_Item *it); +static Eina_Bool __app_grid_change_page_cb(void *data); +static void __app_grid_check_page_change(Evas_Object *scroller, int x, int y); +static void __app_grid_clear_reposition_structure(void); +static Eina_Bool __app_grid_close_folder_cb(void *data); +static Evas_Object *__app_grid_create_item_container(Evas_Object *parent); + +/*================================= GENGRID CALLBACK FUNCTIONS ===================================*/ +static void __app_grid_item_longpressed_cb(void *data, Evas_Object *obj, void *ei); +static Evas_Object *__app_grid_get_content(void *data, Evas_Object *obj, const char *part); +static Eina_Bool __app_grid_get_state(void *data, Evas_Object *obj, const char *part); +static void __app_grid_del_content(void *data, Evas_Object *obj); +static char *__app_grid_get_text(void *data, Evas_Object *obj, const char *part); +static void __app_grid_resize_cb(void *data, Evas *e, Evas_Object *obj, void *ei); + +/*================================= MOUSE HANDLERS ===============================================*/ +static Eina_Bool _app_grid_mouse_move_cb(void *data, int type, void *event); +static Eina_Bool __app_grid_mouse_up_cb(void *data, int type, void *event); + +/*================================= DND FUNCTIONS ================================================*/ +static void __app_grid_return_to_origin_pos(void); +static void __app_grid_dnd_pos_cb(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y, + Elm_Xdnd_Action action); +static void __app_grid_dnd_drag_done_cb(void *data, Evas_Object *obj); +static void __app_grid_dnd_pos_changed_cb(void *data, Evas_Object *obj, Evas_Coord x, + Evas_Coord y, Elm_Xdnd_Action action); + +/*================================= PUBLIC FUNCTIONS DEFS ========================================*/ +HAPI Evas_Object *app_grid_create(Evas_Object *parent, Tree_node_t *data, Evas_Coord gengrid_width, + Evas_Coord gengrid_height, app_grid_type_t type) +{ + Evas_Object *gengrid = NULL; + Evas_Object *layout = NULL; + Evas_Object *rect = NULL; + + if (!parent) { + LOGE("[INVALID_PARAM]['parent'='%p']", parent); + return NULL; + } + + rect = evas_object_rectangle_add(evas_object_evas_get(parent)); + if (!rect) { + LOGE("[FAILED][rect=NULL]"); + return NULL; + } + + layout = __app_grid_create_ly(parent); + if (!layout) { + LOGE("[FAILED][__app_grid_create_ly]"); + evas_object_del(rect); + return NULL; + } + + evas_object_color_set(rect, 0, 0, 0, 0); + evas_object_size_hint_min_set(rect, gengrid_width, gengrid_height); + evas_object_size_hint_max_set(rect, gengrid_width, gengrid_height); + elm_object_part_content_set(layout, PART_APP_GRID_SIZE_SETTER, rect); + + gengrid = elm_gengrid_add(layout); + if (!gengrid) { + LOGE("[FAILED][elm_gengrid_add]"); + evas_object_del(layout); + evas_object_del(rect); + return NULL; + } + + evas_object_size_hint_weight_set(gengrid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(gengrid); + + if (!s_info.gic) { + if (!(s_info.gic = elm_gengrid_item_class_new())) { + LOGE("[FAILED][elm_gengrid_item_class_new]"); + evas_object_del(layout); + evas_object_del(rect); + return NULL; + } + + s_info.gic->item_style = "default"; + s_info.gic->func.content_get = __app_grid_get_content; + s_info.gic->func.del = __app_grid_del_content; + s_info.gic->func.text_get = __app_grid_get_text; + s_info.gic->func.state_get = __app_grid_get_state; + + ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, _app_grid_mouse_move_cb, parent); + ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, __app_grid_mouse_up_cb, NULL); + } + + elm_object_scale_set(gengrid, 0.5); + + elm_gengrid_select_mode_set(gengrid, ELM_OBJECT_SELECT_MODE_NONE); + elm_gengrid_reorder_mode_set(gengrid, EINA_FALSE); + elm_gengrid_align_set(gengrid, 0.0, 0.0); + + if (!__app_grid_fill(gengrid, data)) { + LOGE("[FAILED][__app_grid_fill]"); + evas_object_del(layout); + evas_object_del(rect); + return NULL; + } + + if (type == APP_GRID_TYPE_ALL_APPS) { + s_info.w = gengrid_width; + s_info.h = gengrid_height; + } else if (type == APP_GRID_TYPE_FOLDER) { + elm_object_signal_emit(layout, SIGNAL_APP_GRID_BG_HIDE, SIGNAL_SOURCE); + } + + elm_object_part_content_set(layout, PART_APP_GRID_CONTENT, gengrid); + evas_object_smart_callback_add(gengrid, "longpressed", __app_grid_item_longpressed_cb, NULL); + + elm_drop_target_add(gengrid, ELM_SEL_FORMAT_TARGETS, + NULL, NULL, NULL, NULL, __app_grid_dnd_pos_cb, NULL, NULL, NULL); + + data->data->layout = layout; + evas_object_event_callback_add(gengrid, EVAS_CALLBACK_RESIZE, __app_grid_resize_cb, (void *)type); + + /*It is used only internal.*/ + evas_object_data_set(gengrid, KEY_APP_GRID_DATA, layout); + + elm_scroller_movement_block_set(gengrid, ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL); + elm_scroller_movement_block_set(gengrid, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); + elm_gengrid_wheel_disabled_set(gengrid, EINA_TRUE); + + return layout; +} + +HAPI Elm_Object_Item *app_grid_append_item(Evas_Object *layout, Evas_Object *icon_to_append) +{ + LOGD(""); + Elm_Object_Item *result = NULL; + Evas_Object *container = NULL; + + if (!layout || !icon_to_append) { + LOGE("[INVALID_PARAM][layout='%p'][icon_to_append='%p']", layout, icon_to_append); + return NULL; + } + + Evas_Object *grid = elm_object_part_content_get(layout, PART_APP_GRID_CONTENT); + if (!grid) { + LOGE("[FAILED][elm_object_part_content_get]"); + return NULL; + } + + if (!(result = elm_gengrid_item_append(grid, s_info.gic, + (container = app_grid_item_pack(grid, icon_to_append)), NULL, NULL))) { + LOGE("Failed to append item"); + return NULL; + } + + evas_object_show(icon_to_append); + return result; +} + +HAPI Elm_Object_Item *app_grid_insert_item_relative(Evas_Object *layout, Evas_Object *item, + Elm_Object_Item *rel_it) +{ + Evas_Object *app_grid = NULL, *container = NULL; + Elm_Object_Item *result = NULL; + int dst_idx = -1; + + if (!layout || !item) { + LOGE("[INVALID_PARAM][layout='%p'][item='%p']", layout, item); + return NULL; + } + + app_grid = elm_object_part_content_get(layout, PART_APP_GRID_CONTENT); + if (!app_grid) { + LOGE("[FAILED][elm_object_part_content_get]"); + return NULL; + } + + if (rel_it) { + dst_idx = elm_gengrid_item_index_get(rel_it); + + if ((s_info.src_grid == app_grid && s_info.src_idx > dst_idx) + || (s_info.src_grid != app_grid)) { + if (!(result = elm_gengrid_item_insert_before(app_grid, s_info.gic, + (container = app_grid_item_pack(app_grid, item)), rel_it, NULL, NULL))) { + LOGE("[FAILED][elm_gengrid_item_insert_before]"); + evas_object_del(container); + return NULL; + } + } else if (s_info.src_grid == app_grid && s_info.src_idx < dst_idx) { + if (!(result = elm_gengrid_item_insert_after(app_grid, s_info.gic, + (container = app_grid_item_pack(app_grid, item)), rel_it, NULL, NULL))) { + LOGE("[FAILED][elm_gengrid_item_insert_before]"); + return NULL; + } + } + } else { + if (!(result = elm_gengrid_item_append(app_grid, s_info.gic, + (container = app_grid_item_pack(app_grid, item)), NULL, NULL))) { + LOGE("[FAILED][elm_gengrid_item_append]"); + return NULL; + } + } + + evas_object_show(item); + return result; +} + +HAPI Evas_Object *app_grid_item_pack(Evas_Object *p, Evas_Object *c) +{ + Evas_Object *container = NULL; + + if (!p) { /*When c is null it is not a big problem...it creates then empty gengrid item */ + LOGD("[ERR][INVALID_PARAM]['p'='%p']", p); + return NULL; + } + + /*This items will be removed when gengrid items will be deleted. + It was checked in EVAS_CALLBACK_DEL function. */ + container = __app_grid_create_item_container(home_screen_get_win()); + if (!container) { + LOGE("[FAILED][container=NULL]"); + return NULL; + } + + if (c) + elm_object_part_content_set(container, PART_APP_GRID_ITEM, c); + + return container; +} + +HAPI void app_grid_unpack_item(Elm_Object_Item *item) +{ + Evas_Object *container = NULL; + + if (!item) { + LOGE("[INVALID_PARAM][item=NULL]"); + return; + } + + container = elm_object_item_part_content_get(item, GRID_CONTENT); + if (!container) { + LOGE("[FAILED][elm_object_item_part_content_get]"); + return; + } + + elm_object_part_content_unset(container, PART_APP_GRID_ITEM); +} + +HAPI Eina_Bool app_grid_get_item_content(Elm_Object_Item *item, Evas_Object **icon, + Tree_node_t **data) +{ + Evas_Object *ic = NULL; + Evas_Object *container = NULL; + + if (!item) { + LOGE("[INVALID_PARAM][item='%p']", item); + return EINA_FALSE; + } + + container = elm_object_item_part_content_get(item, GRID_CONTENT); + if (!container) { + LOGE("[FAILED][elm_object_item_part_content_get]"); + return EINA_FALSE; + } + + ic = elm_object_part_content_get(container, PART_APP_GRID_ITEM); + if (!ic) { + LOGE("[FAILED][eina_list_data_get]"); + return EINA_FALSE; + } + + if (icon) + *icon = ic; + + if (data) { + *data = evas_object_data_get(ic, KEY_ICON_DATA); + if (!(*data)) { + LOGE("[FAILED][evas_object_data_get]"); + /*eina_list_free(box_content);*/ + return EINA_FALSE; + } + } + return EINA_TRUE; +} + +/*=====================GENGRID CALLBACKS IMPLEMENTATION===========================================*/ +static void __app_grid_item_longpressed_cb(void *data, Evas_Object *obj, void *ei) +{ + Elm_Object_Item *it = (Elm_Object_Item *)ei; + Evas_Coord x, y, w, h, m_x, m_y; + Evas_Object *icon_layout = NULL; + Evas_Object *icon = NULL; + Tree_node_t *icon_node = NULL; + + if (!it || !app_grid_get_item_content(it, &icon_layout, NULL)) { + LOGE("[FAILED][app_grid_item_content_get]"); + return; + } + + if (!evas_object_data_get(icon_layout, KEY_IS_REPOSITIONABLE)) + return; + + if (home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS_CHOOSE) + return; + + if (home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS) { + home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS_EDIT); + elm_drag_cancel(obj); + } + + if (!icon_layout) { + LOGE("[FAILED][icon_layout=NULL]"); + return; + } + + icon = elm_object_part_content_get(icon_layout, PART_ICON_CONTENT); + if (!icon) { + LOGE("[FAILED][icon=NULL]"); + return; + } + + icon_node = evas_object_data_get(icon_layout, KEY_ICON_DATA); + if (!icon_node) { + LOGE("[FAILED][icon_node=NULL]"); + return; + } + + /*check if the repositioned item is from a folder. + It is necessary for removing item from the folder.*/ + if (icon_node->parent && icon_node->parent->parent && icon_node->parent->parent->data + && icon_node->parent->parent->data->type == APP_ITEM_FOLDER) { + s_info.opened_folder_node = icon_node->parent->parent; + folder_panel_get_folder_geometry(&s_info.f_x, &s_info.f_y, &s_info.f_w, &s_info.f_h); + } + + evas_object_geometry_get(icon, &x, &y, &w, &h); + evas_pointer_output_xy_get(evas_object_evas_get(obj), &m_x, &m_y); + s_info.dx = abs(m_x - x); + s_info.dy = abs(m_y - y); + + /*check if user perform longpress action on icon or on item. + (item is a container for icon..is bigger because it must have place also for icon name)*/ + if ((m_x >= x && m_x <= x+w) && (m_y >= y && m_y <= y + h)) { + s_info.repositioned_icon_layout = icon_layout; + s_info.repositioned_icon = icon; + s_info.repositioned_item = it; + s_info.repositioned_node = icon_node; + s_info.src_grid = obj; + s_info.src_idx = elm_gengrid_item_index_get(s_info.repositioned_item); + s_info.is_dnd_on = true; + + app_grid_unpack_item(it); + + elm_drag_start(icon, ELM_SEL_FORMAT_TARGETS, "dnd", ELM_XDND_ACTION_MOVE, + NULL, NULL, __app_grid_dnd_pos_changed_cb, NULL, NULL, NULL, __app_grid_dnd_drag_done_cb, obj); + + evas_object_data_set(icon, KEY_REPOSITION_DATA, icon_layout); + /*This is necessary for hide only box content in grid*/ + elm_object_part_content_unset(icon_layout, PART_ICON_CONTENT); + evas_object_hide(icon_layout); + all_apps_set_scrolling_blocked_state(true); + folder_panel_enable_entry(false); + } +} + +static char *__app_grid_get_text(void *data, Evas_Object *obj, const char *part) +{ + return NULL; +} + +static Evas_Object *__app_grid_get_content(void *data, Evas_Object *obj, const char *part) +{ + if (!data) { + LOGE("[INVALID_PARAM][data='%p']", data); + return NULL; + } + + if (!strcmp(GRID_CONTENT, part)) + return (Evas_Object *) data; + + return NULL; +} + +static Eina_Bool __app_grid_get_state(void *data, Evas_Object *obj, const char *part) +{ + return EINA_FALSE; +} + +static void __app_grid_del_content(void *data, Evas_Object *obj) +{ + LOGD("DELETING : ", evas_object_type_get(obj)); + +} + +static void __app_grid_resize_cb(void *data, Evas *e, Evas_Object *obj, void *ei) +{ + int w = -1, h = -1, item_w = -1, item_h = -1; + evas_object_geometry_get(obj, NULL, NULL, &w, &h); + + if ((app_grid_type_t)data == APP_GRID_TYPE_ALL_APPS) { + item_w = w/APP_COLS; + item_h = h/APP_ROWS; + } else if ((app_grid_type_t)data == APP_GRID_TYPE_FOLDER) { + item_w = w/FOLDER_COL_APPS - FOLDER_ITEM_MARGIN*home_screen_get_root_width(); + item_h = h/FOLDER_ROW_APPS; + } + + elm_gengrid_item_size_set(obj, item_w, item_h); +} + +/*=========================== MOUSE HANDLERS =====================================================*/ +static Eina_Bool __app_grid_mouse_up_cb(void *data, int type, void *event) +{ + home_screen_set_indice_state(INDICE_OFF); + return ECORE_CALLBACK_RENEW; +} + +static Eina_Bool _app_grid_mouse_move_cb(void *data, int type, void *event) +{ + if (s_info.is_dnd_on) { + Evas_Object *scroller = (Evas_Object *) data; + Ecore_Event_Mouse_Move *move = event; + __app_grid_check_page_change(scroller, move->x, move->y); + } + + return ECORE_CALLBACK_RENEW; +} + +/*========================= PRIVATE FUNCTIONS ====================================================*/ +static bool __app_grid_fill(Evas_Object *grid, Tree_node_t *data) +{ + Evas_Object *icon = NULL, *box = NULL; + app_item_t *item = NULL; + Tree_node_t *it = NULL; + + if (!data || !grid) { + LOGE("[INVALID_PARAM][grid='%p'][data='%p']", grid, data); + return false; + } + + TREE_NODE_FOREACH(data, it) { + item = it->data; + if (!item) { + LOGE("[FAILED][item=%p", item); + continue; + } + + if (!item->exec || !item->icon || !item->label || !item->appid) { + LOGE("[FAILED][exec='%p'][icon='%p'][label='%p'][appid='%p']", + item->exec, item->label, item->icon, item->appid); + continue; + } + + LOGI("add item: [%s]", item->label); + + if (item->type == APP_ITEM_ICON) { + icon = app_icon_create(it, APP_ICON_TYPE_APP); + } else if (item->type == APP_ITEM_FOLDER) { + folder_panel_create(it); + app_icon_update_folder_icon(it); + icon = item->layout; + } + + if (!icon) { + LOGE("[FAILED][app_icon_create]"); + return false; + } + + if (!(item->grid_item = elm_gengrid_item_append(grid, s_info.gic, + (box = app_grid_item_pack(grid, icon)), NULL, NULL))) { + LOGE("Failed to append an item!"); + evas_object_del(box); + if (!box) {/*app_grid_item_pack had failed so the icon is still allocated:*/ + app_icon_destroy(icon); + } + return false; + } + + item->layout = icon; + } + + return true; +} + +static Evas_Object *__app_grid_create_ly(Evas_Object *parent) +{ + Evas_Object *ly = NULL; + + if (!parent) { + LOGE("[INVALID_PARAM][parent='%p']", parent); + return NULL; + } + + ly = elm_layout_add(parent); + if (!ly) { + LOGE("[FAILED][elm_layout_add]"); + return NULL; + } + + if (!elm_layout_file_set(ly, EDJE_DIR"/app_grid.edj", GROUP_APP_GRID)) { + LOGE("[FAILED][elm_layout_file_set][%s]", EDJE_DIR"/app_grid.edj"); + evas_object_del(ly); + return NULL; + } + + evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(ly); + + return ly; +} + +void app_grid_set_view_mode(Evas_Object *app_grid, homescreen_view_t view) +{ + if (!app_grid) { + LOGE("[INVALID_PARAM]"); + return; + } + + switch (view) { + case HOMESCREEN_VIEW_ALL_APPS: + elm_object_signal_emit(app_grid, SIGNAL_CHOOSE_MODE_OFF, SIGNAL_SOURCE); + elm_object_signal_emit(app_grid, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE); + __app_grid_resize(app_grid, s_info.w, s_info.h); + break; + case HOMESCREEN_VIEW_ALL_APPS_EDIT: + elm_object_signal_emit(app_grid, SIGNAL_CHOOSE_MODE_OFF, SIGNAL_SOURCE); + elm_object_signal_emit(app_grid, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + __app_grid_resize(app_grid, EDIT_MODE_SCALE*s_info.w, EDIT_MODE_SCALE*s_info.h); + break; + case HOMESCREEN_VIEW_ALL_APPS_CHOOSE: + elm_object_signal_emit(app_grid, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE); + elm_object_signal_emit(app_grid, SIGNAL_CHOOSE_MODE_ON, SIGNAL_SOURCE); + __app_grid_resize(app_grid, CHOOSE_MODE_SCALE*s_info.w, CHOOSE_MODE_SCALE*s_info.h); + break; + default: + LOGE("[FAILED][type='%d']", view); + break; + } +} + +static bool __app_grid_resize(Evas_Object *app_grid, Evas_Coord new_w, Evas_Coord new_h) +{ + Evas_Object *gengrid = NULL; + + Evas_Coord new_item_w = new_w/APP_COLS; + Evas_Coord new_item_h = new_h/APP_ROWS; + + if (!app_grid) { + LOGE("[INVALID_PARAM][app_grid='%p']", app_grid); + return false; + } + + gengrid = elm_object_part_content_get(app_grid, PART_APP_GRID_CONTENT); + if (!gengrid) { + LOGE("[FAILED][elm_object_part_content_get]"); + return false; + } + + if (new_item_w < 0 || new_item_h < 0) { + LOGE("[INVALID_SIZE]"); + return false; + } + + /*elm_gengrid_item_size_set(gengrid, new_item_w, new_item_h);*/ + + return true; +} + +static Eina_Bool __app_grid_change_page_cb(void *data) +{ + LOGI("__app_grid_change_page_cb"); + change_page_data_t *ch_page_data = (change_page_data_t *) data; + Evas_Object *parent = NULL; + + s_info.change_page_timer = NULL; + + if (!ch_page_data) { + LOGE("[INVALID_PARAM][ch_page_data='%p']", ch_page_data); + return ECORE_CALLBACK_CANCEL; + } else if (!ch_page_data->parent) { + LOGE("[INVALID_PARAM][ch_page_data->parent='%p']", ch_page_data->parent); + return ECORE_CALLBACK_CANCEL; + } + + parent = ch_page_data->parent; + + if (ch_page_data->action == NEXT_PAGE_CB) { + LOGI("next_page_signal"); + elm_object_signal_emit(parent, SIGNAL_NEXT_PAGE_CHANGE, SIGNAL_SOURCE); + } + + if (ch_page_data->action == PREV_PAGE_CB) { + LOGI("prev_page_signal"); + elm_object_signal_emit(parent, SIGNAL_PREV_PAGE_CHANGE, SIGNAL_SOURCE); + } + + return ECORE_CALLBACK_CANCEL; +} + +static void __app_grid_check_page_change(Evas_Object *scroller, int x, int y) +{ + if (!scroller) { + LOGE("[INVALID_PARAM][scroller='%p']", scroller); + return; + } + + s_info.cp_data.parent = scroller; + home_screen_set_indice_state(INDICE_OFF); + + if (x < CHANGE_PAGE_RIGHT_AREA * home_screen_get_root_width() && + x > CHANGE_PAGE_LEFT_AREA * home_screen_get_root_width() && + s_info.change_page_timer) { + ecore_timer_del(s_info.change_page_timer); + s_info.change_page_timer = NULL; + return; + } + + if (x >= CHANGE_PAGE_RIGHT_AREA * home_screen_get_root_width()) { + home_screen_set_indice_state(INDICE_NEXT_PAGE_ON); + s_info.cp_data.action = NEXT_PAGE_CB; + } + + if (x <= CHANGE_PAGE_LEFT_AREA * home_screen_get_root_width()) { + home_screen_set_indice_state(INDICE_PREV_PAGE_ON); + s_info.cp_data.action = PREV_PAGE_CB; + } + + if (!s_info.change_page_timer) { + s_info.change_page_timer = ecore_timer_add(CHANGE_PAGE_TIMER, __app_grid_change_page_cb, + (void *) &s_info.cp_data); + } +} + +static Evas_Object *__app_grid_get_icon_container_ptr(Elm_Object_Item *it) +{ + Evas_Object *container = NULL; + + if (!it) { + LOGE("[INVALID_PARAM][it='%p']", it); + return NULL; + } + + container = elm_object_item_part_content_get(it, GRID_CONTENT); + return container; +} + +static void __app_grid_clear_reposition_structure(void) +{ + s_info.destination_folder = NULL; + s_info.repositioned_icon_layout = NULL; + s_info.repositioned_item = NULL; + s_info.repositioned_icon = NULL; + s_info.repositioned_node = NULL; + s_info.opened_folder_node = NULL; + s_info.src_grid = NULL; + s_info.src_idx = -1; + s_info.is_dnd_on = false; + + s_info.f_x = -1; + s_info.f_y = -1; + s_info.f_w = -1; + s_info.f_h = -1; + + if (s_info.outside_folder_timer) { + ecore_timer_del(s_info.outside_folder_timer); + s_info.outside_folder_timer = NULL; + } + + if (s_info.change_page_timer) { + ecore_timer_del(s_info.change_page_timer); + s_info.change_page_timer = NULL; + } +} + +static Eina_Bool __app_grid_close_folder_cb(void *data) +{ + data_model_detach_from_folder(s_info.opened_folder_node, s_info.repositioned_node); + folder_panel_close_folder(); + return EINA_FALSE; +} + +static Evas_Object *__app_grid_create_item_container(Evas_Object *parent) +{ + Evas_Object *container = NULL; + + if (!parent) { + LOGE("[INVALID_PARAM]"); + return NULL; + } + + container = elm_layout_add(parent); + + if (!elm_layout_file_set(container, EDJE_DIR"/app_grid.edj", GROUP_APP_GRID_ITEM_CONTAINER)) { + LOGE("[FAILED][elm_layout_file_set][%s]", EDJE_DIR"/app_grid.edj"); + evas_object_del(container); + return NULL; + } + + evas_object_size_hint_weight_set(container, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(container); + return container; +} + +/*=============================== DND FUNCTIONS ==================================================*/ + +static void __app_grid_return_to_origin_pos(void) +{ + Evas_Object *container = NULL; + + if (!s_info.repositioned_item || !s_info.repositioned_icon_layout) { + LOGE("[FAILED][repositioned_item='%p'][repositioned_icon='%p']", + s_info.repositioned_item, s_info.repositioned_icon_layout); + return; + } + + container = __app_grid_get_icon_container_ptr(s_info.repositioned_item); + if (!container) { + LOGE("[FAILED][__app_grid_get_icon_container_ptr]"); + return; + } + + elm_object_part_content_set(container, PART_APP_GRID_ITEM, s_info.repositioned_icon_layout); + elm_object_part_content_set(s_info.repositioned_icon_layout, + PART_ICON_CONTENT, s_info.repositioned_icon); + evas_object_show(s_info.repositioned_icon_layout); +} + +static void __app_grid_dnd_pos_cb(void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y, + Elm_Xdnd_Action action) +{ + static Elm_Object_Item *it = NULL; + Evas_Object *icon = NULL; + Evas_Object *old_icon = NULL; + Elm_Object_Item *old_it = it; + Tree_node_t *destination_icon_data = NULL; + + it = elm_gengrid_at_xy_item_get(obj, x, y, NULL, NULL); + + app_grid_get_item_content(old_it, &old_icon, NULL); + app_grid_get_item_content(it, &icon, &destination_icon_data); + + if (!s_info.repositioned_node || !s_info.repositioned_node->data) { + LOGE("[INVALID_DATA]"); + return; + } + + if (it != old_it) { + elm_object_signal_emit(old_icon, SIGNAL_UNHIGHLIGHT_FOLDER, SIGNAL_SOURCE); + /*function not be invoked when s_info.repositioned_node == NULL;*/ + if (s_info.repositioned_node->data->type == APP_ITEM_FOLDER || + folder_panel_get_items_count(destination_icon_data) >= FOLDER_MAX_ITEMS) { + elm_object_signal_emit(icon, SIGNAL_HIGHLIGHT_IMPOSSIBLE_FOLDER, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(icon, SIGNAL_HIGHLIGHT_FOLDER, SIGNAL_SOURCE); + } + } + + if (destination_icon_data && destination_icon_data->data->type == APP_ITEM_FOLDER) { + s_info.destination_folder = destination_icon_data; + } else { + s_info.destination_folder = NULL; + } +} + +static void __app_grid_dnd_drag_done_cb(void *data, Evas_Object *obj) +{ + Tree_node_t *folder = s_info.destination_folder; + Tree_node_t *item = s_info.repositioned_node; + Tree_node_t *src_folder = s_info.opened_folder_node; + + char trbuf[PATH_MAX] = {0, }; + + /*Check if folder has empty space*/ + if (item && folder && folder_panel_get_items_count(folder) < FOLDER_MAX_ITEMS + && item->data->type != APP_ITEM_FOLDER) { + home_screen_mvc_drag_item_to_folder_cb(item, folder); + evas_object_hide(s_info.repositioned_icon); + } else if (item && folder && folder_panel_get_items_count(folder) >= FOLDER_MAX_ITEMS) { + popup_data_t *p_data = popup_create_data(); + if (!p_data) { + LOGE("[FAILED][failed to create popup data]"); + return; + } + + snprintf(trbuf, sizeof(trbuf), _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), + FOLDER_APPS_PAGE); + + p_data->type = POPUP_INFO; + p_data->popup_title_text = NULL; + p_data->popup_content_text = strdup(trbuf); + p_data->popup_confirm_text = NULL; + p_data->popup_cancel_text = NULL; + p_data->orientation = ELM_POPUP_ORIENT_CENTER; + p_data->visible_time = 1.5; + + popup_show(p_data, NULL, NULL, NULL); + + __app_grid_return_to_origin_pos(); + } else if (item && src_folder && !folder_panel_is_folder_visible()) { + home_screen_mvc_drag_item_from_folder_cb(); + elm_object_part_content_set(s_info.repositioned_icon_layout, PART_ICON_CONTENT, + s_info.repositioned_icon); + app_icon_set_view_mode(s_info.repositioned_icon_layout, home_screen_get_view_type(), false); + } else { + __app_grid_return_to_origin_pos(); + } + + if (folder && folder->data->layout) + elm_object_signal_emit(folder->data->layout, SIGNAL_UNHIGHLIGHT_FOLDER, SIGNAL_SOURCE); + + __app_grid_clear_reposition_structure(); + all_apps_set_scrolling_blocked_state(false); + folder_panel_enable_entry(true); +} + +static void __app_grid_dnd_pos_changed_cb(void *data, Evas_Object *obj, Evas_Coord x, + Evas_Coord y, Elm_Xdnd_Action action) +{ + evas_object_move(obj, x - s_info.dx, y - s_info.dy); + + if (folder_panel_is_folder_visible()) { + if ((y <= s_info.f_y || y >= s_info.f_y + s_info.f_h) && !s_info.outside_folder_timer) { + s_info.outside_folder_timer = ecore_timer_add(1.0, __app_grid_close_folder_cb, NULL); + if (!s_info.outside_folder_timer) { + LOGE("[FAILED][timer=NULL]"); + return; + } + } else if (y >= s_info.f_y && y <= s_info.f_y + s_info.f_h) { + ecore_timer_del(s_info.outside_folder_timer); + s_info.outside_folder_timer = NULL; + } + } +} diff --git a/src/app_icon.c b/src/app_icon.c new file mode 100644 index 0000000..1596ae9 --- /dev/null +++ b/src/app_icon.c @@ -0,0 +1,678 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "app_icon.h" +#include "all_apps.h" +#include "util.h" +#include "folder_panel.h" +#include "option_menu.h" +#include "folder_panel.h" +#include "popup.h" +#include "app_grid.h" +#include "data_model.h" + +#define MAX_BADGE_COUNT_STR_LEN 32 +#define MAX_BADGE_DISPLAY_COUNT 999 +#define ABOVE_MAX_BADGE_APPENDIX "+" + +static struct { + Evas_Object *icon_layout; + Evas_Object *icon_image; + char *runned_app_id; + bool click_ignore; + +} s_info = { + .icon_layout = NULL, + .icon_image = NULL, + .runned_app_id = NULL, + .click_ignore = false, +}; + +static void __app_icon_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __app_icon_pressed_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __app_icon_launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data); +static bool __app_icon_check_removeable_state(Evas_Object *icon); +static void __app_icon_check_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __app_icon_uncheck_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static Evas_Object *__app_icon_load(Evas_Object *parent, const char *icon_path); +static void __app_icon_uninstall_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); + +static void __app_icon_uninstall(void *data); +static void __app_icon_highlight_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __app_icon_unhighlight_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __app_icon_higlight_impossible_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source); + +/*=========================================PUBLIC FUNCTIONS IMPLEMENTATION===========================================*/ +HAPI Evas_Object *app_icon_create(Tree_node_t *tree_data, app_icon_type_t type) +{ + Evas_Object *icon_image = NULL, *icon_layout = NULL, *folder_icon_layout = NULL; + Evas_Object *parent = home_screen_get_win(); + app_item_t *item = NULL; + + if (!parent || !tree_data) { + LOGE("[INVALID_PARAM][parent='%p'][item='%p']", parent, tree_data); + return NULL; + } + + item = tree_data->data; + if (!item) { + LOGE("[FAILED][item='%p']", item); + return NULL; + } + + if (type == APP_ICON_TYPE_APP || type == APP_ICON_TYPE_FOLDER) { + icon_layout = util_create_edje_layout(parent, EDJE_DIR"/icon.edj", GROUP_ICON_LY); + if (!icon_layout) { + LOGE("Failed to create icon layout"); + return NULL; + } + + elm_object_signal_callback_add(icon_layout, SIGNAL_CHECKBOX_CHECKED, SIGNAL_SOURCE, __app_icon_check_cb, tree_data); + elm_object_signal_callback_add(icon_layout, SIGNAL_CHECKBOX_UNCHECKED, SIGNAL_SOURCE, __app_icon_uncheck_cb, tree_data); + elm_object_signal_callback_add(icon_layout, SIGNAL_UNINSTALL_BUTTON_CLICKED, SIGNAL_SOURCE, __app_icon_uninstall_button_clicked_cb, tree_data); + + elm_object_signal_callback_add(icon_layout, "mouse,down,1", SIGNAL_PRESS_SOURCE, __app_icon_pressed_cb, (void *)item->type); + + home_screen_mvc_set_ly_scale(icon_layout); + } + + if (type == APP_ICON_TYPE_APP) { + icon_image = __app_icon_load(icon_layout, item->icon); + if (!icon_image) { + LOGE("Failed to create icon layout"); + evas_object_del(icon_layout); + return NULL; + } + + elm_object_part_content_set(icon_layout, PART_ICON_CONTENT, icon_image); + elm_object_signal_callback_add(icon_layout, SIGNAL_ICON_CLICKED, SIGNAL_SOURCE, __app_icon_clicked_cb, (void *)item->appid); + + app_icon_set_label(icon_layout, item->label); + + evas_object_show(icon_image); + } else if (type == APP_ICON_TYPE_FOLDER) { + folder_icon_layout = elm_layout_add(parent); + if (!folder_icon_layout) { + LOGE("Failed to create icon layout"); + evas_object_del(icon_layout); + return NULL; + } + + if (!elm_layout_file_set(folder_icon_layout, EDJE_DIR"/folder.edj", GROUP_FOLDER_ICON_LAYOUT)) { + LOGE("Failed to load edje file for layout"); + evas_object_del(folder_icon_layout); + evas_object_del(icon_layout); + return NULL; + } + + elm_object_part_content_set(icon_layout, PART_ICON_CONTENT, folder_icon_layout); + elm_object_signal_callback_add(icon_layout, SIGNAL_HIGHLIGHT_FOLDER, SIGNAL_SOURCE, __app_icon_highlight_folder_icon_cb, item); + elm_object_signal_callback_add(icon_layout, SIGNAL_HIGHLIGHT_IMPOSSIBLE_FOLDER, SIGNAL_SOURCE, __app_icon_higlight_impossible_folder_icon_cb, item); + elm_object_signal_callback_add(icon_layout, SIGNAL_UNHIGHLIGHT_FOLDER, SIGNAL_SOURCE, __app_icon_unhighlight_folder_icon_cb, item); + app_icon_set_label(icon_layout, item->label); + evas_object_show(folder_icon_layout); + } else { + /*create miniatures*/ + if (item->icon) { + icon_layout = __app_icon_load(parent, item->icon); + if (!icon_layout) { + LOGE("Failed to create icon layout"); + return NULL; + } + } + } + + evas_object_size_hint_align_set(icon_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(icon_layout); + + evas_object_data_set(icon_layout, KEY_ICON_DATA, tree_data); + evas_object_data_set(icon_layout, KEY_IS_REPOSITIONABLE, (void *)true); + + return icon_layout; +} + +HAPI void app_icon_update_folder_icon(Tree_node_t *folder_node) +{ + LOGI(""); + Evas_Object *miniatures_list_item = NULL; + Evas_Object *folder_icon = NULL; + Evas_Object *item = NULL; + Eina_List *it = NULL; + Tree_node_t *it2; + folder_data_t *folder_data = NULL; + app_item_t *tree_item = NULL; + + char part_buf[BUF_SIZE]; + char signal_buf[BUF_SIZE]; + + int miniatures = 0; + int miniatures_iterator = 0; + + if (!folder_node || !folder_node->data || !folder_node->data->layout || !folder_node->data->data) { + LOGE("[INVALID_PARAMS]"); + return; + } + + folder_icon = elm_object_part_content_get(folder_node->data->layout, PART_ICON_CONTENT); + if (!folder_icon) { + LOGE("Failed to get folder icon"); + return; + } + + folder_data = (folder_data_t *)folder_node->data->data; + + if (!folder_data) { + LOGE("Failed to get folder_data"); + return; + } + + EINA_LIST_FOREACH(folder_data->miniatures, it, miniatures_list_item) { + snprintf(part_buf, sizeof(part_buf), "miniature_%d", miniatures_iterator++); + elm_object_part_content_unset(folder_icon, part_buf); + evas_object_del(miniatures_list_item); + } + folder_data->miniatures = eina_list_free(folder_data->miniatures); + folder_data->miniatures = NULL; + + if (!folder_node->first || !(miniatures = folder_node->first->count)) { + elm_object_signal_emit(folder_icon, SIGNAL_EMPTY_BG_SHOW, SIGNAL_SOURCE); + return; + } + + if (miniatures >= 3) { + miniatures = 4; + } + + miniatures_iterator = 0; + TREE_NODE_FOREACH(folder_node->first, it2) + { + tree_item = it2->data; + + if (tree_item) { + if (miniatures_iterator >= FOLDER_ICON_MAX_MINIATURES) + break; + LOGI("label %s", tree_item->label); + item = app_icon_create(it2, APP_ICON_TYPE_MINIATURE); + + if (!item) + return; + + folder_data->miniatures = eina_list_append(folder_data->miniatures, item); + if (!folder_data->miniatures) { + app_icon_destroy(item); + return; + } + + snprintf(part_buf, sizeof(part_buf), "miniature_%d", miniatures_iterator++); + elm_object_part_content_set(folder_icon, part_buf, item); + } + } + + snprintf(signal_buf, sizeof(signal_buf), "set,miniatures,%d", miniatures); + elm_object_signal_emit(folder_icon, signal_buf, SIGNAL_SOURCE); +} + +HAPI void app_icon_highlight_folder_icon(Evas_Object *folder_icon_layout, folder_icon_frame_type_t frame_type) +{ + Evas_Object *icon = NULL; + Tree_node_t *node = NULL; + + if (!folder_icon_layout) { + LOGE("Invalid parameter"); + return; + } + + icon = elm_object_part_content_get(folder_icon_layout, PART_ICON_CONTENT); + if (!icon) { + LOGE("Failed to get icon"); + return; + } + + node = evas_object_data_get(folder_icon_layout, KEY_ICON_DATA); + if (!node) { + LOGE("[FAILED][node=NULL]"); + return; + } + + LOGI("count %d ", node->count); + + if (frame_type == FOLDER_ICON_FRAME_POSSIBLE) { + elm_object_signal_emit(icon, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE); + } else if (frame_type == FOLDER_ICON_FRAME_IMPOSSIBLE) { + elm_object_signal_emit(icon, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(icon, SIGNAL_FRAME_HIDE, SIGNAL_SOURCE); + } +} + +HAPI void app_icon_set_click_ignore(bool ignore) +{ + s_info.click_ignore = ignore; + folder_panel_set_click_ignore_state(ignore); +} + +HAPI bool app_icon_set_view_mode(Evas_Object *icon, homescreen_view_t view, bool in_folder) +{ + switch (view) { + case HOMESCREEN_VIEW_ALL_APPS: + in_folder ? elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_BLACK_OFF, SIGNAL_SOURCE) : + elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE); + elm_object_signal_emit(icon, SIGNAL_UNINSTALL_BUTTON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(icon, SIGNAL_CHECKBOX_HIDE, SIGNAL_SOURCE); + app_icon_set_click_ignore(false); + break; + case HOMESCREEN_VIEW_ALL_APPS_EDIT: + in_folder ? elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_BLACK_ON, SIGNAL_SOURCE) : + elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + if (__app_icon_check_removeable_state(icon)) + elm_object_signal_emit(icon, SIGNAL_UNINSTALL_BUTTON_SHOW, SIGNAL_SOURCE); + app_icon_set_click_ignore(true); + break; + case HOMESCREEN_VIEW_ALL_APPS_CHOOSE: + in_folder ? elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_BLACK_ON, SIGNAL_SOURCE) : + elm_object_signal_emit(icon, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + elm_object_signal_emit(icon, SIGNAL_UNINSTALL_BUTTON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(icon, SIGNAL_CHECKBOX_SHOW_UNCHECKED, SIGNAL_SOURCE); + app_icon_set_click_ignore(true); + break; + case HOMESCREEN_VIEW_HOME: + case HOMESCREEN_VIEW_HOME_EDIT: + case HOMESCREEN_VIEW_HOME_ALL_PAGES: + default: + app_icon_set_click_ignore(true); + break; + } + + return true; +} + +HAPI void app_icon_set_label(Evas_Object *icon_layout, const char* label) +{ + if (!icon_layout || !label) { + LOGE("Invalid parameter"); + return; + } + + elm_object_part_text_set(icon_layout, PART_ICON_NAME, label); +} + +HAPI void app_icon_set_label_black(Evas_Object *icon_layout) +{ + if (home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS_EDIT) { + elm_object_signal_emit(icon_layout, SIGNAL_EDIT_MODE_BLACK_ON, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(icon_layout, SIGNAL_BLACK_TEXT, SIGNAL_SOURCE); + } +} + +HAPI void app_icon_set_color(Evas_Object *icon_layout, int r, int g, int b, int a) +{ + if (!icon_layout) { + LOGE("Failed to get folder icon layout"); + return; + } + + evas_object_color_set(icon_layout, r, g, b, a); +} + +HAPI void app_icon_destroy(Evas_Object *icon_layout) +{ + if (!icon_layout) { + LOGE("Invalid parameter : icon_layout is NULL"); + return; + } + + evas_object_del(icon_layout); +} + + +HAPI void app_icon_show_badge(Evas_Object *app_icon_layout, const unsigned int number) +{ + char number_str[MAX_BADGE_COUNT_STR_LEN]; + + if (!app_icon_layout) { + LOGE("Invalid state of the application - icon_layout is NULL"); + return; + } + + if (number == 0) { + app_icon_hide_badge(app_icon_layout); + return; + } + + if (number > MAX_BADGE_DISPLAY_COUNT) { + eina_convert_itoa(MAX_BADGE_DISPLAY_COUNT, number_str); + strncat(number_str, ABOVE_MAX_BADGE_APPENDIX, MAX_BADGE_COUNT_STR_LEN); + } else { + eina_convert_itoa(number, number_str); + } + + elm_layout_text_set(app_icon_layout, "icon_badge_text", number_str); + + elm_object_signal_emit(app_icon_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE); +} + +HAPI void app_icon_hide_badge(Evas_Object *app_icon_layout) +{ + if (!app_icon_layout) { + LOGE("Invalid state of the application - icon_layout is NULL"); + return; + } + + elm_object_signal_emit(app_icon_layout, SIGNAL_BADGE_HIDE, SIGNAL_SOURCE); +} + +HAPI void app_icon_show_label(Evas_Object *app_icon_layout) +{ + Evas_Object *icon = NULL; + + if (app_icon_layout) { + icon = elm_object_part_content_get(app_icon_layout, PART_ICON_CONTENT); + if (icon) + elm_object_signal_emit(icon, SIGNAL_LABEL_SHOW, SIGNAL_SOURCE); + } +} + +HAPI void app_icon_hide_label(Evas_Object *app_icon_layout) +{ + Evas_Object *icon = NULL; + + if (app_icon_layout) { + icon = elm_object_part_content_get(app_icon_layout, PART_ICON_CONTENT); + if (icon) + elm_object_signal_emit(icon, SIGNAL_LABEL_HIDE, SIGNAL_SOURCE); + } +} + +HAPI void app_icon_remove(Evas_Object *icon_layout) +{ + if (!icon_layout) { + LOGE("[INVALID_PARAM]"); + return; + } + + evas_object_data_del(icon_layout, KEY_ICON_DATA); + evas_object_del(icon_layout); +} + + +/*=========================================PRIVATE FUNCTIONS IMPLEMENTATION======================================*/ +static void __app_icon_launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data) +{ + LOGD("[__app_icon_launch_request_cb]"); + switch (result) { + case APP_CONTROL_RESULT_CANCELED: + LOGD("[APP_CONTROL_RESULT_CANCELED]"); + s_info.runned_app_id = NULL; + break; + case APP_CONTROL_RESULT_FAILED: + LOGD("[APP_CONTROL_RESULT_FAILED]"); + s_info.runned_app_id = NULL; + break; + case APP_CONTROL_RESULT_SUCCEEDED: + LOGD("[APP_CONTROL_RESULT_SUCCEEDED]"); + break; + default: + LOGD("UNKNOWN ERROR"); + s_info.runned_app_id = NULL; + break; + } +} + +static void __app_icon_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + char *appid = (char *) data; + app_control_h app_control_handle = NULL; + + if (!appid) { + LOGE("Failed to obtain pgk_id of clicked application"); + return; + } + + if (s_info.click_ignore == false) { + if (!s_info.runned_app_id) { + folder_panel_close_folder(); + + if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_create]"); + return; + } + + if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_app_id]"); + app_control_destroy(app_control_handle); + return; + } + + if (app_control_send_launch_request(app_control_handle, __app_icon_launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_send_launch_request]"); + app_control_destroy(app_control_handle); + return; + } + app_control_destroy(app_control_handle); + } + } + +} + +static void __app_icon_pressed_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + app_item_type_t type = (app_item_type_t)data; + + if (type == APP_ITEM_FOLDER || + home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS) + elm_object_signal_emit(obj, SIGNAL_ICON_PRESS, SIGNAL_PRESS_SOURCE); +} + +static bool __app_icon_check_removeable_state(Evas_Object *icon) +{ + Tree_node_t *item = NULL; + if (!icon) { + LOGE("[INVALID_PARAM][icon='%p']", icon); + return false; + } + + item = evas_object_data_get(icon, KEY_ICON_DATA); + if (!item) { + LOGE("[FAILED][evas_object_data_get]"); + return false; + } + + if (!item->data) { + LOGE("[FAILED][item->data='%p']", item->data); + return false; + } + + return item->data->removable; +} + +static void __app_icon_check_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Tree_node_t *node = (Tree_node_t *)data; + app_item_t *item = node->data; + int count = -1; + char trbuf[PATH_MAX] = {0, }; + + if (item->type == APP_ITEM_ICON) { + item->is_checked = true; + if (node->parent->parent->data->type == APP_ITEM_FOLDER && folder_panel_set_content_checked(node->parent->parent)) + elm_object_signal_emit(node->parent->parent->data->layout, SIGNAL_CHECKBOX_SHOW_CHECKED, SIGNAL_SOURCE); + } else if (item->type == APP_ITEM_FOLDER) { + data_model_check_all_apps(node, true); + } + option_menu_update_on_item_selected(); + + count = data_model_get_app_check_state(); + if (count > FOLDER_MAX_ITEMS) { + __app_icon_uncheck_cb(data, obj, SIGNAL_CHECKBOX_UNCHECKED, SIGNAL_SOURCE); + elm_object_signal_emit(node->data->layout, SIGNAL_CHECKBOX_SHOW_UNCHECKED, SIGNAL_SOURCE); + + popup_data_t *p_data = popup_create_data(); + if (!p_data) { + LOGE("[FAILED][failed to create popup data]"); + return; + } + + snprintf(trbuf, sizeof(trbuf), _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), + FOLDER_APPS_PAGE); + + p_data->type = POPUP_INFO; + p_data->popup_title_text = NULL; + p_data->popup_content_text = strdup(trbuf); + p_data->popup_confirm_text = NULL; + p_data->popup_cancel_text = NULL; + p_data->orientation = ELM_POPUP_ORIENT_CENTER; + p_data->visible_time = 2.0; + + popup_show(p_data, NULL, NULL, NULL); + } +} + +static void __app_icon_uncheck_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Tree_node_t *node = (Tree_node_t *)data; + app_item_t *item = node->data; + if (item->type == APP_ITEM_ICON) { + item->is_checked = false; + if (node->parent->parent->data->type == APP_ITEM_FOLDER && !folder_panel_set_content_checked(node->parent->parent)) + elm_object_signal_emit(node->parent->parent->data->layout, SIGNAL_CHECKBOX_SHOW_UNCHECKED, SIGNAL_SOURCE); + } else if (item->type == APP_ITEM_FOLDER) { + data_model_check_all_apps(node, false); + } + option_menu_update_on_item_selected(); +} + +Evas_Object *__app_icon_load(Evas_Object *parent, const char *icon_path) +{ + Evas_Object *icon_image = NULL; + + if (!parent || !icon_path) { + LOGE("Invalid parameter"); + return NULL; + } + + icon_image = elm_image_add(parent); + if (!icon_image) { + LOGE("Failed to create an icon."); + return NULL; + } + + if ((strncmp("", icon_path, strlen(icon_path)) && elm_image_file_set(icon_image, icon_path, NULL)) || elm_image_file_set(icon_image, DEFAULT_APP_ICON, NULL)) + return icon_image; + + evas_object_del(icon_image); + return NULL; +} + +static void __app_icon_uninstall_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + LOGI("__app_icon_uninstall_button_clicked_cb"); + Tree_node_t *app_node = NULL; + char buf[BUF_SIZE] = {0, }; + + app_node = (Tree_node_t *) data; + if (!app_node) { + LOGE("[FAILED][evas_object_data_get]"); + return; + } + + if (!app_node->data || !app_node->data->label) { + LOGE("[INVALID][invalid node data]"); + return; + } + + popup_data_t *p_data = popup_create_data(); + if (!p_data) { + LOGE("[FAILED][failed to create popup data]"); + return; + } + + if ((app_node->data->type == APP_ITEM_FOLDER) && (folder_panel_get_items_count(app_node) > 0)) { + p_data->type = POPUP_TWO_BUTTONS; + p_data->popup_title_text = strdup(_("IDS_HS_HEADER_REMOVE_FOLDER_ABB")); + p_data->popup_content_text = strdup(_("IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED")); + p_data->popup_confirm_text = strdup(_("IDS_ST_BUTTON_REMOVE_ABB2")); + p_data->popup_cancel_text = strdup(_("IDS_CAM_SK_CANCEL")); + p_data->orientation = ELM_POPUP_ORIENT_CENTER; + popup_show(p_data, __app_icon_uninstall, NULL, (void *) obj); + } else if (app_node->data->type == APP_ITEM_ICON) { + snprintf(buf, sizeof(buf), _("IDS_HS_POP_PS_WILL_BE_UNINSTALLED"), app_node->data->label); + p_data->type = POPUP_TWO_BUTTONS; + p_data->popup_title_text = strdup(_("IDS_AT_BODY_UNINSTALL")); + p_data->popup_content_text = strdup(buf); + p_data->popup_confirm_text = strdup(_("IDS_AT_BODY_UNINSTALL")); + p_data->popup_cancel_text = strdup(_("IDS_CAM_SK_CANCEL")); + p_data->orientation = ELM_POPUP_ORIENT_CENTER; + popup_show(p_data, __app_icon_uninstall, NULL, (void *) obj); + } else { + __app_icon_uninstall((void *) obj); + popup_data_free(p_data); + } +} + +static void __app_icon_uninstall(void *data) +{ + Tree_node_t *app_node = NULL; + Evas_Object *icon = NULL; + + icon = (Evas_Object *) data; + if (!icon) { + LOGE("[INVALID_PARAM][data='%p']", data); + return; + } + + LOGI("[%s]", evas_object_type_get(icon)); + + app_node = evas_object_data_get(icon, KEY_ICON_DATA); + if (!app_node || !app_node->data) { + LOGE("[FAILED][evas_object_data_get]"); + return; + } + + all_apps_detach_from_grid(app_node->data->grid_item); + app_node->data->grid_item = NULL; + app_icon_remove(icon); + app_node->data->layout = NULL; + + home_screen_mvc_item_uninstall_cb(app_node); +} + +static void __app_icon_highlight_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Evas_Object *icon = elm_object_part_content_get(obj, PART_ICON_CONTENT); + elm_object_signal_emit(icon, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE); +} + +static void __app_icon_unhighlight_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Evas_Object *icon = elm_object_part_content_get(obj, PART_ICON_CONTENT); + elm_object_signal_emit(icon, SIGNAL_FRAME_HIDE, SIGNAL_SOURCE); +} + +static void __app_icon_higlight_impossible_folder_icon_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Evas_Object *icon = elm_object_part_content_get(obj, PART_ICON_CONTENT); + elm_object_signal_emit(icon, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE); +} +/*===============================================================================================================*/ diff --git a/src/app_item.c b/src/app_item.c new file mode 100644 index 0000000..f23b007 --- /dev/null +++ b/src/app_item.c @@ -0,0 +1,120 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "app_item.h" +#include "app_mgr.h" + +static struct +{ + int unique_id; +} s_app_item_info = { + .unique_id = -1 +}; + +HAPI app_item_t *app_item_create(const app_item_type_t type, const int unique_id, + const char *label, const char *icon, const char *exec, + const char *appid, void *data, bool is_removeable, + int col, int row, int col_span, int row_span, + const char *content_info) +{ + app_item_t *item = (app_item_t *)calloc(1, sizeof(app_item_t)); + + if (!item) { + dlog_print(DLOG_ERROR, LOG_TAG, "[ALLOC_FAILED]"); + return NULL; + } + + item->type = type; + if (unique_id < 0) { + item->unique_id = ++s_app_item_info.unique_id; + } else { + item->unique_id = unique_id; + s_app_item_info.unique_id = s_app_item_info.unique_id > unique_id ? s_app_item_info.unique_id : unique_id; + } + + if (label) + item->label = strdup(label); + if (icon) + item->icon = strdup(icon); + if (exec) + item->exec = strdup(exec); + if (appid) + item->appid = strdup(appid); + if (content_info) + item->content_info = strdup(content_info); + + item->badge_count = 0; + item->data = data; + item->removable = is_removeable; + item->is_checked = false; + item->layout = NULL; + item->grid_item = NULL; + + item->col = col; + item->row = row; + item->col_span = col_span; + item->row_span = row_span; + + + return item; +} + +HAPI void app_item_free(app_item_t *item) +{ + if (!item) + return; + + free((void *)item->label); + free((void *)item->icon); + free((void *)item->exec); + free((void *)item->appid); + free((void *)item->content_info); + + free(item); +} + +HAPI void app_item_geometry_update(app_item_t *app_item, int x, int y, int w, int h) +{ + if (!app_item) { + LOGE("app_item == NULL"); + return; + } + + app_item->col = x; + app_item->row = y; + app_item->col_span = w; + app_item->row_span = h; +} + +HAPI void app_item_update_content_info(app_item_t *app_item, const char *content_info) +{ + if (!app_item) { + LOGE("app_item == NULL"); + return; + } + + if (app_item->content_info) + free(app_item->content_info); + + if (content_info) { + app_item->content_info = strdup(content_info); + } else { + app_item->content_info = NULL; + } +} + + diff --git a/src/app_mgr.c b/src/app_mgr.c new file mode 100644 index 0000000..004d006 --- /dev/null +++ b/src/app_mgr.c @@ -0,0 +1,362 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "app_mgr.h" +#include "util.h" +#include "data_model.h" +#include "app_icon.h" + +static struct +{ + package_manager_h pack_mgr; +} s_app_mgr_info = { + .pack_mgr = NULL, +}; + +static bool __app_info_cb(app_info_h ai, void *ud); +static void __app_mgr_event_cb(const char *type, const char *package, + package_manager_event_type_e event_type, + package_manager_event_state_e event_state, + int progress, + package_manager_error_e error, + void *user_data); + +static app_mgr_item_t *__app_mgr_load_item_info(app_info_h ai_h); + +HAPI void app_mgr_init(void) +{ + package_manager_error_e res_stat = PACKAGE_MANAGER_ERROR_NONE; + package_manager_error_e res_cb = PACKAGE_MANAGER_ERROR_NONE; + + if (s_app_mgr_info.pack_mgr) + return; + + if (PACKAGE_MANAGER_ERROR_NONE == + package_manager_create(&s_app_mgr_info.pack_mgr)) { + LOGD("PACKAGE_EVENT_MGR - handle obtained"); + + res_stat = package_manager_set_event_status( + s_app_mgr_info.pack_mgr, + PACKAGE_MANAGER_STATUS_TYPE_INSTALL | + PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL); + + res_cb = package_manager_set_event_cb( + s_app_mgr_info.pack_mgr, __app_mgr_event_cb, NULL); + + if (res_stat != PACKAGE_MANAGER_ERROR_NONE || + res_cb != PACKAGE_MANAGER_ERROR_NONE) + LOGE("App mgr initialization failed!"); + } else { + s_app_mgr_info.pack_mgr = NULL; + } +} + +HAPI void app_mgr_deinit(void) +{ + if (s_app_mgr_info.pack_mgr) { + LOGD("PACKAGE_EVENT_MGR - freeing handle"); + package_manager_unset_event_cb(s_app_mgr_info.pack_mgr); + package_manager_destroy(s_app_mgr_info.pack_mgr); + } +} + +HAPI Eina_List *app_mgr_get_apps(void) +{ + Eina_List *apps = NULL; + app_manager_foreach_app_info(__app_info_cb, &apps); + return apps; +} + +HAPI void app_mgr_free_apps(Eina_List *apps) +{ + app_mgr_item_t *app_mgr_item; + EINA_LIST_FREE(apps, app_mgr_item) + free(app_mgr_item); +} + +HAPI Eina_Bool app_mgr_uninstall_app(const char *appid) +{ + LOGI(""); + + package_manager_request_h request; + int id = 0; + + if (package_manager_request_create(&request) + != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not create unistall request. App: %s", appid); + return EINA_FALSE; + } + + int ret = package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not set request mode. App: %s", appid); + return EINA_FALSE; + } + + if (package_manager_request_uninstall(request, appid, &id) != + PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not uninstall application. App: %s", appid); + return EINA_FALSE; + } + + if (package_manager_request_destroy(request) != + PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not destroy unistall request. App: %s", appid); + return EINA_FALSE; + } + + return EINA_TRUE; +} + +HAPI Eina_Bool app_mgr_app_get_badge_count(const char *app_id, + unsigned int *count) +{ + unsigned int to_be_displayed = 0; + int result = BADGE_ERROR_NONE; + + if (!app_id) { + LOGE("app_item is NULL in badge count"); + return EINA_FALSE; + } + + *count = 0; + result = badge_get_display(app_id, &to_be_displayed); + + if (result != BADGE_ERROR_NONE) { + if ((result == BADGE_ERROR_SERVICE_NOT_READY || + result == BADGE_ERROR_NOT_EXIST)) + return true; + + LOGE("badge_get_display error %d", result); + return false; + } + + if (!to_be_displayed) + return EINA_TRUE; + + result = badge_get_count(app_id, count); + + if (result != BADGE_ERROR_NONE) { + *count = 0; + if ((result == BADGE_ERROR_SERVICE_NOT_READY || + result == BADGE_ERROR_NOT_EXIST)) + return true; + + LOGE("badge_get_count error %d", result); + return false; + } + + return EINA_TRUE; +} + +HAPI void app_mgr_register_badge_callback(badge_change_cb callback) +{ + int ret = BADGE_ERROR_NONE; + ret = badge_register_changed_cb(callback, NULL); + + if (ret != BADGE_ERROR_NONE) + LOGE("Could not register badge callback"); +} + +HAPI void app_mgr_unregister_badge_callback(badge_change_cb callback) +{ + int ret = BADGE_ERROR_NONE; + ret = badge_unregister_changed_cb(callback); + + if (ret != BADGE_ERROR_NONE) + LOGE("Could not unregister badge callback"); +} + +HAPI char *app_mgr_get_app_label(const char *app_id) +{ + app_info_h ai_handle; + char *label = NULL; + + if (!app_id) { + LOGE("Invalid parameter"); + return NULL; + } + + if (app_info_create(app_id, &ai_handle) != APP_MANAGER_ERROR_NONE) { + LOGE("Failed to load application id"); + return NULL; + } + + if (app_info_get_label(ai_handle, &label) != APP_MANAGER_ERROR_NONE) { + LOGE("Failed to get label!"); + app_info_destroy(ai_handle); + return NULL; + } + + app_info_destroy(ai_handle); + return label; +} + +static void __app_mgr_event_cb(const char *type, const char *package, + package_manager_event_type_e event_type, + package_manager_event_state_e event_state, int progress, + package_manager_error_e error, void *user_data) +{ + if (PACKAGE_MANAGER_ERROR_NONE != error) { + LOGE("PACKAGE_EVENT_MGR error in cb"); + return; + } + + if (PACKAGE_MANAGER_EVENT_STATE_FAILED == event_state) + progress = 0; + + if (PACKAGE_MANAGER_EVENT_TYPE_INSTALL == event_type && progress == 100) { + LOGD("%s", package); + app_info_h ai_handle = NULL; + app_mgr_item_t *app_mgr_item = NULL; + Tree_node_t *item = NULL; + + app_info_create(package, &ai_handle); + if (!ai_handle) { + LOGE("Failed to get app info handle"); + return; + } + + app_mgr_item = __app_mgr_load_item_info(ai_handle); + item = data_model_install_application(app_mgr_item); + if (!item) { + LOGE("Failed to create app item"); + app_info_destroy(ai_handle); + return; + } + + item->data->layout = app_icon_create(item, APP_ICON_TYPE_APP); + app_info_destroy(ai_handle); + home_screen_mvc_update_view(); + + } + + if (PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL == event_type && progress == 100) + LOGI("%s", package); +} + +static bool __app_info_cb(app_info_h ai, void *ud) +{ + app_mgr_item_t *app_mgr_item = NULL; + bool nodisplay = false; + Eina_List **list = (Eina_List **)ud; + + if (app_info_is_nodisplay(ai, &nodisplay)) { + LOGE("[FAILED][app_info_is_nodisplay]"); + return false; + } + + #ifndef HOME_SCREEN_EFL_TEST_RUN + if (nodisplay) + return true; + #endif + + app_mgr_item = __app_mgr_load_item_info(ai); + + if (!app_mgr_item) { + LOGE("[Failed to initialie app_mgr_item]"); + return false; + } + + + *list = eina_list_append(*list, app_mgr_item); + return true; +} + +static app_mgr_item_t *__app_mgr_load_item_info(app_info_h ai_h) +{ + package_info_h p_handle = NULL; + package_manager_error_e ret = PACKAGE_MANAGER_ERROR_NONE; + + if (!ai_h) { + LOGE("[INVALID_PARAMS]"); + return NULL; + } + + app_mgr_item_t *item = (app_mgr_item_t *) calloc(1, sizeof(*item)); + if (!item) { + LOGE("Failed to create app_mgr_item"); + return NULL; + } + + if (app_info_get_label(ai_h, &item->label)) { + LOGE("[FAILED][app_info_get_label]"); + free(item); + return NULL; + } + + if (app_info_get_exec(ai_h, &item->exec)) { + LOGE("[FAILED][app_info_get_exec]"); + free(item->label); + free(item); + return NULL; + } + + if (app_info_get_icon(ai_h, &item->icon)) { + LOGE("[FAILED][app_info_get_icon]"); + free(item->label); + free(item->exec); + free(item); + return NULL; + } + + if (app_info_get_app_id(ai_h, &item->appid)) { + LOGE("[FAILED][app_info_get_app_id]"); + free(item->label); + free(item->exec); + free(item->icon); + free(item); + return NULL; + } + + if (app_info_get_package(ai_h, &item->package)) { + LOGE("[FAILED][app_info_get_package]"); + free(item->label); + free(item->exec); + free(item->icon); + free(item->appid); + free(item); + return NULL; + } + + ret = package_manager_get_package_info(item->package, &p_handle); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGW("Failed to inialize package handle for item : %s", + item->package); + item->removable = false; + return item; + } + + ret = package_info_is_removable_package(p_handle, &item->removable); + + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Failed to get pacakge removeable flag"); + free(item->label); + free(item->exec); + free(item->icon); + free(item->appid); + free(item->package); + free(item); + return NULL; + } + + package_info_destroy(p_handle); + + return item; +} diff --git a/src/data_model.c b/src/data_model.c new file mode 100644 index 0000000..8682e92 --- /dev/null +++ b/src/data_model.c @@ -0,0 +1,937 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "data_model.h" +#include "db/db.h" +#include "app_icon.h" +#include "app_item.h" +#include "app_grid.h" +#include "folder_panel.h" +#include "all_apps.h" +#include "livebox/livebox_widget.h" +#include "popup.h" + +static struct { + Tree_node_t *data; + Tree_node_t *all_apps; + Tree_node_t *home; +} s_info = { + .data = NULL, + .all_apps = NULL, + .home = NULL, +}; + +static bool __data_model_get_empty_page(Tree_node_t *nothing, Tree_node_t *page, void *data); +static void __data_model_load_item(Tree_node_t *parent, Tree_node_t **item, db_item_t* db_item, Eina_List* apps_db); +static void __data_model_free_subtree(Tree_node_t *root_node); +static bool __data_model_append_item(Tree_node_t *parent, Tree_node_t *node, int container_limit); +static void __data_model_convert_db_list_to_tree(Tree_node_t *parent, int id, Eina_List *list); +static bool __data_model_update_tree_cb(Tree_node_t *parent, Tree_node_t *node, void *data); +static bool __data_model_check_cb(Tree_node_t *parent, Tree_node_t *node, void *data); +static bool __data_model_check_count_cb(Tree_node_t *parent, Tree_node_t *node, void *data); +static bool __data_model_set_set_cb(Tree_node_t *parent, Tree_node_t *node, void *data); +static void __data_model_remove_empty(Tree_node_t *node); +static int __data_model_set_lexical_compare_function(const void *data1, const void *data2); +static Eina_Inarray *__data_model_sort_children(const Tree_node_t *const root, + unsigned int size_hint, + Eina_Compare_Cb sort_compare_function); +static void __add_default_widget(widget_info_t *widget); + +static Eina_Bool __data_model_reattach_children(const void *container, void *node, void *fdata); + +HAPI Tree_node_t *data_model_get_data(void) +{ + return s_info.data; +} + +HAPI Tree_node_t *data_model_get_all_apps(void) +{ + return s_info.all_apps; +} + +HAPI Tree_node_t *data_model_get_home(void) +{ + return s_info.home; +} + + +HAPI void data_model_load_app_mgr(void) +{ + Eina_List *livebox_list = NULL; + Eina_List *apps = NULL; + Eina_List *it = NULL; + app_mgr_item_t *app_mgr_item = NULL; + Tree_node_t *page = NULL; + Tree_node_t *item = NULL; + widget_info_t *widget = NULL; + + LOGD("LOADING DATA MODEL FROM APP MGR"); + db_create_tables(); + + if (!tree_node_new(&s_info.data)) { + LOGE("app_mgr_load -> tree_node_new failure1"); + return; + } + + s_info.data->data = app_item_create(APP_ITEM_ROOT, -1, "ROOT", NULL, NULL, "ROOT", NULL, false, 0, 0, 0, 0, NULL); + + if (!tree_node_new(&s_info.all_apps)) { + LOGE("app_mgr_load -> tree_node_new failure2"); + return; + } + s_info.all_apps->data = app_item_create(APP_ITEM_ALL_APPS_ROOT, -1, "ALL APPS", NULL, NULL, "ALL APPS", NULL, false, 0, 0, 0, 0, NULL); + tree_node_append(s_info.data, s_info.all_apps); + + if (!tree_node_new(&s_info.home)) { + LOGE("app_mgr_load -> tree_node_new failure2"); + return; + } + s_info.home->data = app_item_create(APP_ITEM_HOME, -1, "HOME", NULL, NULL, "HOME", NULL, false, 0, 0, 0, 0, NULL); + tree_node_append(s_info.data, s_info.home); + + + apps = app_mgr_get_apps(); + + EINA_LIST_FOREACH(apps, it, app_mgr_item) { + if (!tree_node_new(&item)) { + LOGE("app_mgr_load -> tree_node_new failure2"); + return; + } + item->data = app_item_create( + APP_ITEM_ICON, + -1, + app_mgr_item->label, + app_mgr_item->icon, + app_mgr_item->exec, + app_mgr_item->appid, + NULL, + app_mgr_item->removable, + 0, + 0, + 0, + 0, + NULL); + + if (!item->data) { + LOGE("app_mgr_load -> app_item-create failure"); + tree_node_free(item, NULL, NULL, NULL); + continue; + } + + if (!__data_model_append_item(s_info.all_apps, item, APPS_PAGE)) + tree_node_free(item, NULL, NULL, NULL); + } + + livebox_list = livebox_widget_get_list(); + if (!livebox_list) { + LOGW(" livebox_list == NULL"); + + page = data_model_add_widget_page(); + if (!page) { + LOGE("page == NULL"); + return; + } + + return; + } + + widget = eina_list_nth(livebox_list, 0); + if (!widget) { + LOGE("widget == NULL"); + return; + } + + __add_default_widget(widget); + + + widget = eina_list_nth(livebox_list, 1); + if (!widget) { + LOGE("widget == NULL"); + return; + } + + __add_default_widget(widget); + + app_mgr_free_apps(apps); + + /*by default model is being sorted:*/ + data_model_sort(__data_model_set_lexical_compare_function); +} + +HAPI Eina_Bool data_model_load_db(void) +{ + Eina_List *apps_db = NULL; + Eina_List *apps_mgr = NULL; + Eina_List *it = NULL; + db_item_t *db_item = NULL; + + LOGD("LOADING DATA MODEL FROM DB"); + + db_get_apps(&apps_db); + + if (apps_db == NULL || eina_list_count(apps_db) == 0) + return EINA_FALSE; + + EINA_LIST_FOREACH(apps_db, it, db_item) { + switch (db_item->type) { + case APP_ITEM_ROOT: + if (!s_info.data) { + __data_model_load_item(NULL, &s_info.data, db_item, apps_db); + } else { + LOGE("DB corrupted s_info.data != NULL"); + } + break; + case APP_ITEM_ALL_APPS_ROOT: + if (!s_info.all_apps) { + __data_model_load_item(s_info.data, &s_info.all_apps, db_item, apps_db); + } else { + LOGE("DB corrupted s_info.all_apps != NULL"); + } + break; + case APP_ITEM_HOME: + if (!s_info.home) { + __data_model_load_item(s_info.data, &s_info.home, db_item, apps_db); + } else { + LOGE("DB corrupted s_info.home != NULL"); + } + break; + default: + LOGW("Unknown type"); + } + } + db_free_apps(apps_db); + + apps_mgr = app_mgr_get_apps(); + tree_in_depth_browse(s_info.all_apps, __data_model_update_tree_cb, apps_mgr); + app_mgr_free_apps(apps_mgr); + + if (!s_info.home) { + LOGE("s_info.home == NULL"); + + if (!tree_node_new(&s_info.home)) { + LOGE("app_mgr_load -> tree_node_new failure2"); + return EINA_FALSE; + } + s_info.home->data = app_item_create(APP_ITEM_HOME, -1, "HOME", NULL, NULL, "HOME", NULL, false, 0, 0, 0, 0, NULL); + tree_node_append(s_info.data, s_info.home); + } + + if (s_info.home->count == 0) { + LOGE("s_info.home == s_info.home->count"); + data_model_add_widget_page(); + } + + home_screen_print_tree(); + + /*by default model is being sorted:*/ + data_model_sort(__data_model_set_lexical_compare_function); + return EINA_TRUE; +} + +HAPI void data_model_free(void) +{ + __data_model_free_subtree(s_info.data); +} + +HAPI Tree_node_t *data_model_create_folder(app_item_t *new_folder_data) +{ + Tree_node_t *folder = NULL, *new_page = NULL; + + if (new_folder_data) { + tree_node_new(&folder); + if (folder) { + folder->data = new_folder_data; + __data_model_append_item(s_info.all_apps, folder, APPS_PAGE); + /*also give it one initial page:*/ + tree_node_new(&new_page); + if (new_page) { + new_page->data = app_item_create(APP_ITEM_PAGE, -1, NULL, NULL, NULL, "PAGE", NULL, false, 0, 0, 0, 0, NULL); + if (new_page->data) { + tree_node_append(folder, new_page); + } else { + tree_node_free(new_page, NULL, NULL, NULL); + } + } + } + } + + return folder; +} + +HAPI void data_model_append_node_to_folder(Tree_node_t *folder, Tree_node_t *node) +{ + if (!node || !folder) + return; + tree_node_detatch(node); + __data_model_append_item(folder, node, FOLDER_APPS_PAGE); +} + +HAPI void data_model_free_empty_pages(Tree_node_t *folder_or_some_other_root) +{ + Tree_node_t *empty_page = NULL; + + if (!folder_or_some_other_root) + folder_or_some_other_root = data_model_get_all_apps(); + + do { + empty_page = NULL; + data_model_iterate_pages(folder_or_some_other_root, __data_model_get_empty_page, NULL, &empty_page); + __data_model_free_subtree(empty_page); + } while (empty_page); +} + +HAPI void data_model_delete_folder(Tree_node_t *node) +{ + Tree_node_t *page = NULL, *it = NULL, *it_tmp_next = NULL; + + /*attach child elements to the last page:*/ + TREE_NODE_FOREACH(node, page) + for (it = page->first; it; it = it_tmp_next) { + it_tmp_next = it->next; + tree_node_detatch(it); + tree_node_append(s_info.all_apps->last, it); + } + + /*out from the tree:*/ + tree_node_detatch(node); + /*folder with empty pages subtree can be deleted:*/ + __data_model_free_subtree(node); +} + +HAPI Tree_node_t *data_model_install_application(app_mgr_item_t *app_mgr_item) +{ + Tree_node_t *item = NULL; + + tree_node_new(&item); + item->data = app_item_create( + APP_ITEM_ICON, + -1, + app_mgr_item->label, + app_mgr_item->icon, + app_mgr_item->exec, + app_mgr_item->appid, + NULL, + app_mgr_item->removable, + 0, + 0, + 0, + 0, + NULL); + + if (!item->data) { + tree_node_free(item, NULL, NULL, NULL); + return NULL; + } + + __data_model_append_item(s_info.all_apps, item, APPS_PAGE); + + return item; +} + +HAPI void data_model_uninstall_application(Tree_node_t *node) +{ + tree_node_detatch(node); + + /*this will free memory since application node is always empty:*/ + __data_model_remove_empty(node); +} + +HAPI void data_model_check_all_apps(Tree_node_t *node, bool checked) +{ + LOGI(""); + tree_in_depth_browse(node, __data_model_check_cb, &checked); +} + +HAPI int data_model_get_app_check_state(void) +{ + LOGI(""); + int count = 0; + tree_in_depth_browse(s_info.all_apps, __data_model_check_count_cb, &count); + return count; +} + +HAPI void data_model_reposition_item(Tree_node_t *node, Tree_node_t *destinations_parent, Tree_node_t *destination, + reposition_side_t side, int page_limit) +{ + if (!node || !destinations_parent) { + LOGE("item_reposition INVALID usage: %d %d %d", node, destinations_parent, destination); + return; + } + + if (node == destination) + return; + + tree_node_detatch(node); + + if (destination) + /*append relatively to sibling:*/ + side == REPOSITION_SIDE_TO_RIGHT ? tree_node_append_relative(node, destination) : tree_node_prepend_relative(node, destination); + else + /*append to page:*/ + side == REPOSITION_SIDE_TO_RIGHT ? tree_node_append(destinations_parent, node) : tree_node_prepend(destinations_parent, node); + + /*now, it may be that we have more items than we can on this page...*/ + while (destinations_parent->count > page_limit) { + tree_node_detatch(node = destinations_parent->last); + + /*next page (create, or prepend):*/ + if (!destinations_parent->next) { /*there seems to be no pages left, create one:*/ + __data_model_append_item(destinations_parent->parent, node, page_limit); + break; + } else {/*there is a next page, so lets prepend*/ + destinations_parent = destinations_parent->next; + tree_node_prepend(destinations_parent, node); + } + } +} + +HAPI void data_model_iterate(Tree_node_t *node, tree_browse_cb_t func_cb, void *data) +{ + if (!node) + tree_in_depth_browse(s_info.all_apps, func_cb, data); + else + tree_in_depth_browse(node, func_cb, data); +} + +HAPI void data_model_iterate_pages(Tree_node_t *node, tree_browse_cb_t page_func, tree_browse_cb_t item_func, void *data) +{ + Tree_node_t *page = NULL, *item = NULL; + + if (!node) + node = s_info.all_apps; + + /*for each page:*/ + for (page = node->first; page; page = page->next) { + if (!page->data || page->data->type != APP_ITEM_PAGE) { + LOGE("Model unstable [or node != root], skipping: %d %d", page->data, page->data ? page->data->type : -1); + continue; + } + if (page_func) + page_func(NULL, page, data); + /*for each item in page:*/ + if (item_func) { + for (item = page->first; item; item = item->next) { + item_func(page, item, data); + LOGI("[%s]", item->data->label); + } + } + } +} + +HAPI void data_model_update_item(Tree_node_t *node) +{ + if (!node) { + LOGE("node == NULL"); + return; + } + + tree_node_update(node); +} + +HAPI void data_model_set_view_mode(homescreen_view_t view) +{ + tree_in_depth_browse(s_info.all_apps, __data_model_set_set_cb, &view); +} + +HAPI void data_model_detach_from_folder(Tree_node_t *folder_node, Tree_node_t *node) +{ + if (!folder_node || !node) { + LOGE("[INVALID_PARAMS]"); + return; + } + + data_model_reposition_item(node, s_info.all_apps->last, NULL, + REPOSITION_SIDE_TO_RIGHT, APPS_PAGE); + data_model_sort(__data_model_set_lexical_compare_function); +} + + +/* -----=========================== widget ===================================*/ + +HAPI Tree_node_t *data_model_add_widget_page() +{ + Tree_node_t *item = NULL; + + if (!tree_node_new(&item)) { + LOGE(" app_mgr_load -> tree_node_new failure2"); + return NULL; + } + + item->data = app_item_create(APP_ITEM_PAGE, -1, "WIDGET_PAGE", NULL, NULL, "WIDGET_PAGE", NULL, false, 0, 0, 0, 0, NULL); + if (!item->data) { + tree_node_free(item, NULL, NULL, NULL); + return NULL; + } + + tree_node_append(s_info.home, item); + + return item; +} + +HAPI Tree_node_t *data_model_add_widget(Tree_node_t *page, const char *widget_id, int col, int row, int col_span, int row_span, const char *content_info) +{ + Tree_node_t *item = NULL; + + if (!tree_node_new(&item)) { + LOGE(" app_mgr_load -> tree_node_new failure2"); + return NULL; + } + + item->data = app_item_create(APP_ITEM_WIDGET, -1, + NULL, + NULL, + NULL, + widget_id, + NULL, + false, + col, + row, + col_span, + row_span, + content_info); + + if (!item->data) { + tree_node_free(item, NULL, NULL, NULL); + return NULL; + } + + tree_node_append(page, item); + + return item; +} + +HAPI void data_model_reposition_widget(Tree_node_t *page_node, Tree_node_t *obj_node) +{ + tree_node_detatch(obj_node); + tree_node_append(page_node, obj_node); +} + +HAPI void data_model_insert_after(Tree_node_t *prev_node, Tree_node_t *item_node) +{ + tree_node_detatch(item_node); + + if (prev_node) { + tree_node_append_relative(item_node, prev_node); + } else { + tree_node_prepend(s_info.home, item_node); + } +} + +HAPI void data_model_del_item(Tree_node_t *node) +{ + tree_node_detatch(node); + __data_model_free_subtree(node); +} + +HAPI void data_model_resize_widget(Tree_node_t *item_node, int col, int row, int col_span, int row_span) +{ + if (!item_node) { + LOGE("item_node == NULL"); + return; + } + + if (!item_node->data) { + LOGE("item_node->data == NULL"); + return; + } + + app_item_geometry_update(item_node->data, col, row, col_span, row_span); + tree_node_update(item_node); +} + +HAPI void data_model_update_content_info(Tree_node_t *item_node, const char *content_info) +{ + if (!item_node) { + LOGE("item_node == NULL"); + return; + } + + if (!item_node->data) { + LOGE("item_node->data == NULL"); + return; + } + + app_item_update_content_info(item_node->data, content_info); + tree_node_update(item_node); +} + +/*===================================== widget ===============================*/ + +HAPI void data_model_sort(Eina_Compare_Cb sort_compare_function) +{ + Eina_Inarray *sorted_children = NULL; + Tree_node_t *page = NULL, *it = NULL; + + if (!sort_compare_function) + sort_compare_function = __data_model_set_lexical_compare_function; + + if (!s_info.all_apps) + return; + + /*First we have to sort top level applications and folders:*/ + sorted_children = __data_model_sort_children(s_info.all_apps, s_info.all_apps->count*APPS_PAGE, sort_compare_function); + eina_inarray_foreach(sorted_children, __data_model_reattach_children, s_info.all_apps); + eina_inarray_free(sorted_children); + + /*Second we have to sort all items in all folders: + find folders:*/ + for (page = s_info.all_apps->first; page; page = page->next) { + for (it = page->first; it; it = it->next) { + if (it->data && it->data->type == APP_ITEM_FOLDER) { + sorted_children = __data_model_sort_children(it, it->count*FOLDER_APPS_PAGE, sort_compare_function); + eina_inarray_foreach(sorted_children, __data_model_reattach_children, it); + eina_inarray_free(sorted_children); + } + } + } +} + +static bool __data_model_get_empty_page(Tree_node_t *nothing, Tree_node_t *page, void *data) +{ + Tree_node_t **empty_page = (Tree_node_t **)data; + + if (page->count == 0) { + *empty_page = page; + return false; + } + + return true; +} + +static void __data_model_load_item(Tree_node_t *parent, Tree_node_t **item, db_item_t* db_item, Eina_List* apps_db) +{ + if (!tree_node_new(item)) { + LOGE("*item == NULL"); + return; + } + + (*item)->data = app_item_create(db_item->type, + db_item->id, + NULL, + NULL, NULL, + db_item->appid, + NULL, + false, + db_item->x, + db_item->y, + db_item->w, + db_item->h, + db_item->content_info); + + if (parent) { + if (!tree_node_append(parent, *item)) { + LOGE("failed to append home to data"); + __data_model_free_subtree(*item); + return; + } + + __data_model_convert_db_list_to_tree(*item, db_item->first_id, apps_db); + } +} + + +static bool __data_model_append_item(Tree_node_t *parent, Tree_node_t *node, int container_limit) +{ + Tree_node_t *page = NULL; + + if (!parent || !node) + return false; + + page = parent->last; + if (!page || page->count >= container_limit) { + if (!tree_node_new(&page)) + return false; + page->data = app_item_create(APP_ITEM_PAGE, -1, "PAGE", NULL, NULL, "PAGE", NULL, false, 0, 0, 0, 0, NULL); + if (!page->data) { + tree_node_free(page, NULL, NULL, NULL); + return NULL; + } + + if (!tree_node_append(parent, page)) { + data_model_del_item(page); + return false; + } + } + + return tree_node_append(page, node); +} + +static void __data_model_convert_db_list_to_tree(Tree_node_t *parent, int id, Eina_List *list) +{ + Eina_List *it = NULL; + db_item_t *db_item = NULL; + Tree_node_t *node = NULL; + + if (id == -1) + return; + + EINA_LIST_FOREACH(list, it, db_item) { + if (db_item->id == id) + break; + } + + if (!db_item) + return; + + tree_node_new(&node); + node->data = app_item_create(db_item->type, + db_item->id, + "", + "", + "", + db_item->appid, + NULL, + db_item->type == APP_ITEM_FOLDER, + db_item->x, + db_item->y, + db_item->w, + db_item->h, + db_item->content_info); + + if (!node->data) { + tree_node_free(node, NULL, NULL, NULL); + return; + } + + tree_node_append(parent, node); + + __data_model_convert_db_list_to_tree(parent, db_item->next_id, list); + __data_model_convert_db_list_to_tree(node, db_item->first_id, list); +} + +static bool __data_model_update_tree_cb(Tree_node_t *parent, Tree_node_t *node, void *data) +{ + if (node->data->type == APP_ITEM_ICON) { + Eina_List *it; + app_mgr_item_t *app_mgr; + EINA_LIST_FOREACH((Eina_List *)data, it, app_mgr) { + if (!strncmp(app_mgr->appid, node->data->appid, strlen(node->data->appid))) + break; + } + + if (app_mgr) { + node->data->label = strdup(app_mgr->label); + node->data->icon = strdup(app_mgr->icon); + node->data->exec = strdup(app_mgr->exec); + + node->data->removable = app_mgr->removable; + } + } else if (node->data->type == APP_ITEM_FOLDER) { + node->data->label = strdup(node->data->appid); + } + return true; +} + +static bool __data_model_check_cb(Tree_node_t *parent, Tree_node_t *node, void *data) +{ + if (node->data->type == APP_ITEM_ICON) + node->data->is_checked = *(bool *)data; + + return true; +} + +static bool __data_model_check_count_cb(Tree_node_t *parent, Tree_node_t *node, void *data) +{ + if (node && node->data && node->data->is_checked) { + LOGI("%s", node->data->label); + ++*(int *)data; + } + return true; +} + +static bool __data_model_set_set_cb(Tree_node_t *parent, Tree_node_t *node, void *data) +{ + if (node->data->type == APP_ITEM_ICON || node->data->type == APP_ITEM_FOLDER) { + if (node->parent->parent && node->parent->parent->data->type == APP_ITEM_FOLDER) { + app_icon_set_view_mode(node->data->layout, *(homescreen_view_t *)data, true); + } else { + app_icon_set_view_mode(node->data->layout, *(homescreen_view_t *)data, false); + } + } else if (node->data->type == APP_ITEM_PAGE && node->parent->data->type == APP_ITEM_ALL_APPS_ROOT) { + app_grid_set_view_mode(node->data->layout, *(homescreen_view_t *)data); + } + return true; +} + +/* +static void _data_model_full_page_reorder(Tree_node_t *node) +{ + if (node->parent->count > APPS_PAGE) + { + Tree_node_t *parent = node->parent; + Tree_node_t *last = parent->last; + tree_node_detatch(last); + + last->data->grid_item = app_grid_insert_item_relative(parent->next->data->layout, last->data->layout, parent->next->first->data->grid_item); + + //TODO check if next exist + tree_node_prepend(parent->next, last); + _data_model_full_page_reorder(last); + } +} +*/ + +static void __data_model_remove_empty(Tree_node_t *node) +{ + if (!node || !node->data) + return; + + if ((node->data->type == APP_ITEM_PAGE || node->data->type == APP_ITEM_FOLDER) && node->count == 0) { + app_item_free(node->data); + /*since it's empty, we pass NULLs:*/ + tree_node_free(node, NULL, NULL, NULL); + } +} + +static Eina_Bool __data_model_reattach_children(const void *container, void *node, void *fdata) +{ + unsigned int page_size_limit = FOLDER_APPS_PAGE; + bool place_found = false; + Tree_node_t *parent = (Tree_node_t *)fdata, *child = *((Tree_node_t **)node), *page = NULL; + + if (parent->data->type == APP_ITEM_ALL_APPS_ROOT) + page_size_limit = APPS_PAGE; + + /*now find first free page:*/ + for (page = parent->first; page; page = page->next) { + if (page->count < page_size_limit) { + tree_node_append(page, child); + place_found = true; + LOGI("reattach_children %s found place in %s", child->data->label, parent->data->label); + break; + } + } + + /*sanity check:*/ + if (!place_found) { + LOGE("reattach_children %s could not find place", child->data->label); + __data_model_append_item(parent, child, page_size_limit); + } + return EINA_TRUE; +} + +static Eina_Inarray *__data_model_sort_children(const Tree_node_t *const root, unsigned int size_hint, Eina_Compare_Cb sort_compare_function) +{ + Eina_Inarray *array = NULL; + Tree_node_t *page = NULL, *it = NULL, *it_tmp = NULL; + + if (!root || !root->data || + !(root->data->type == APP_ITEM_FOLDER || + root->data->type == APP_ITEM_ALL_APPS_ROOT) + ) + return NULL; + /*now we know this is root or folder for sure, so it contains pages:*/ + + array = eina_inarray_new(sizeof(Tree_node_t *), size_hint); + + if (!array) { + LOGE("sort_children: allocation error"); + return NULL; + } + + /*for each "page":*/ + for (page = root->first; page; page = page->next) { + /*sanity check:*/ + if (!page->data || page->data->type != APP_ITEM_PAGE) { + LOGE("sort_children problem: data: %d type: %d", page->data, page->data ? page->data->type : -1); + return array; + } + + /*for each node in "page":*/ + for (it = page->first; it; it = it_tmp) { + it_tmp = it->next; + tree_node_detatch(it); + + if (eina_inarray_insert_sorted(array, &it, sort_compare_function) < 0) { + LOGE("sort_children: item insertion error"); + return array; + } + } + } + + return array; +} + +static void __data_model_free_subtree(Tree_node_t *root_node) +{ + Tree_node_t *first_child = NULL, *last_child = NULL, *child_tmp = NULL; + int children_count = 0; + + if (!root_node) { + LOGE("root_node == NULL"); + return; + } + + tree_node_free(root_node, &first_child, &last_child, &children_count); + + if ((!first_child || !last_child) && children_count > 0) { + LOGE("Node has %d children but pointers are first: %d, last: %d", children_count, first_child, last_child); + return; + } + + while (children_count-- > 0) { + child_tmp = first_child->next; + __data_model_free_subtree(first_child); + first_child = child_tmp; + } +} + +static int __data_model_set_lexical_compare_function(const void *data1, const void *data2) +{ + char *l_upper = NULL, *r_upper = NULL; + Tree_node_t *l = *((Tree_node_t **)data1), *r = *((Tree_node_t **)data2); + int res = 0; + + if (!l || !l->data || !l->data->label) + return 1; + + if (!r || !r->data || !r->data->label) + return -1; + + l_upper = (char *)alloca(NAME_MAX*sizeof(char)); + r_upper = (char *)alloca(NAME_MAX*sizeof(char)); + + strncpy(l_upper, l->data->label, NAME_MAX - sizeof('\0')); + strncpy(r_upper, r->data->label, NAME_MAX - sizeof('\0')); + + eina_str_toupper(&l_upper); + eina_str_toupper(&r_upper); + + return !(res = strcoll(l_upper, r_upper)) ? 1 : res; +} + +static void __add_default_widget(widget_info_t *widget) +{ + Tree_node_t *item = NULL; + + Tree_node_t *page = data_model_add_widget_page(); + if (!page) { + LOGE("item == NULL"); + return; + } + + item = data_model_add_widget(page, widget->widget_id, 0, 0, widget->width, + widget->height, NULL); + if (!item) { + LOGE("item == NULL"); + return; + } + + LOGD("Widget: %s with size (%d, %d) added", widget->widget_id, + widget->width, widget->height); +} diff --git a/src/db/db.c b/src/db/db.c new file mode 100644 index 0000000..5c137d2 --- /dev/null +++ b/src/db/db.c @@ -0,0 +1,330 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "conf.h" +#include "util.h" +#include "db/db.h" + +static struct { + sqlite3 *db; + Ecore_Timer *close_timer; +} db_info = { + .db = NULL, + .close_timer = NULL, +}; + +#define CREATE_TABLE_ITEM "CREATE TABLE IF NOT EXISTS item(\ +id INTEGER PRIMARY KEY NOT NULL,\ +type INTEGER,\ +pkg_id TEXT,\ +first INTEGER,\ +next INTEGER,\ +x INTEGER,\ +y INTEGER,\ +w INTEGER,\ +h INTEGER,\ +content_info TEXT);" + +#define SELECT_ITEM "SELECT * FROM item;" +#define INSERT_ITEM "INSERT OR REPLACE INTO item VALUES(?,?,?,?,?,?,?,?,?,?);" +#define CLEAR_TABLE "DELETE FROM item;" +#define DELETE_ITEM "DELETE FROM item WHERE id = ?;" + +#define DATABASE_CLOSE_TIME 5 + +bool _db_is_success(int return_code); +bool _db_open(void); +void _db_close(void); +bool _db_prepare(const char *query, sqlite3_stmt **stmt); +bool _db_step(sqlite3_stmt *stmt); +bool _db_finalize(sqlite3_stmt *stmt); + +bool db_create_tables(void) +{ + if (!_db_open()) + return false; + + sqlite3_exec(db_info.db, CLEAR_TABLE, NULL, NULL, NULL); + + if (sqlite3_exec(db_info.db, CREATE_TABLE_ITEM, NULL, NULL, NULL)) + return false; + + db_item_t root = {0, APP_ITEM_ROOT, "", -1, -1, 0, 0, 0, 0}; + if (!db_update_apps(root, true)) + return false; + + _db_close(); + + return true; +} + +bool db_get_apps(Eina_List **apps) +{ + const char *content_info = NULL; + sqlite3_stmt *stmt; + if (!_db_open()) + return false; + + if (!_db_prepare(SELECT_ITEM, &stmt)) + return false; + + while (sqlite3_step(stmt) == SQLITE_ROW) { + db_item_t *item = (db_item_t *) malloc(sizeof(db_item_t)); + item->id = sqlite3_column_int(stmt, 0); + item->type = sqlite3_column_int(stmt, 1); + item->appid = strdup((const char *) sqlite3_column_text( + stmt, 2)); + item->first_id = sqlite3_column_int(stmt, 3); + item->next_id = sqlite3_column_int(stmt, 4); + + item->x = sqlite3_column_int(stmt, 5); + item->y = sqlite3_column_int(stmt, 6); + item->w = sqlite3_column_int(stmt, 7); + item->h = sqlite3_column_int(stmt, 8); + + + content_info = (const char *)sqlite3_column_text(stmt, 9); + + if (content_info) { + item->content_info = strdup(content_info); + } else { + item->content_info = NULL; + } + + *apps = eina_list_append(*apps, item); + dlog_print(DLOG_DEBUG, LOG_TAG, "App: %s [%s]", item->appid, item->content_info ); + } + + if (!_db_finalize(stmt)) + return false; + + _db_close(); + + return true; +} + +void db_free_apps(Eina_List *apps) +{ + db_item_t *db_item; + EINA_LIST_FREE(apps, db_item) { + free(db_item->appid); + free(db_item); + } +} + +bool db_update_apps(db_item_t item, bool insert) +{ + sqlite3_stmt *stmt; + + if (!_db_open()) + return false; + + if (insert) { + if (!_db_prepare(INSERT_ITEM, &stmt)) { + LOGD("_db_prepare() failed"); + return false; + } + + sqlite3_bind_int(stmt, 1, item.id); + sqlite3_bind_int(stmt, 2, item.type); + sqlite3_bind_text(stmt, 3, item.appid, -1, SQLITE_STATIC); + sqlite3_bind_int(stmt, 4, item.first_id); + sqlite3_bind_int(stmt, 5, item.next_id); + sqlite3_bind_int(stmt, 6, item.x); + sqlite3_bind_int(stmt, 7, item.y); + sqlite3_bind_int(stmt, 8, item.w); + sqlite3_bind_int(stmt, 9, item.h); + sqlite3_bind_text(stmt, 10, item.content_info, -1, SQLITE_STATIC); + } else { + if (!_db_prepare(DELETE_ITEM, &stmt)) { + LOGD("_db_prepare() failed"); + return false; + } + + sqlite3_bind_int(stmt, 1, item.id); + } + + + if (!_db_step(stmt)) + return false; + + if (!_db_finalize(stmt)) + return false; + + _db_close(); + + return true; +} + +bool _db_is_success(int return_code) +{ + switch (return_code) { + case SQLITE_OK: + LOGD("RETURN CODE: SQLITE_OK"); + break; + case SQLITE_ERROR: + LOGD("RETURN CODE: SQLITE_ERROR"); + break; + case SQLITE_INTERNAL: + LOGD("RETURN CODE: SQLITE_INTERNAL"); + break; + case SQLITE_PERM: + LOGD("RETURN CODE: SQLITE_PERM"); + break; + case SQLITE_ABORT: + LOGD("RETURN CODE: SQLITE_ABORT"); + break; + case SQLITE_BUSY: + LOGD("RETURN CODE: SQLITE_BUSY"); + break; + case SQLITE_LOCKED: + LOGD("RETURN CODE: SQLITE_LOCKED"); + break; + case SQLITE_NOMEM: + LOGD("RETURN CODE: SQLITE_NOMEM"); + break; + case SQLITE_READONLY: + LOGD("RETURN CODE: SQLITE_READONLY"); + break; + case SQLITE_INTERRUPT: + LOGD("RETURN CODE: SQLITE_INTERRUPT"); + break; + case SQLITE_IOERR: + LOGD("RETURN CODE: SQLITE_IOERR"); + break; + case SQLITE_CORRUPT: + LOGD("RETURN CODE: SQLITE_CORRUPT"); + break; + case SQLITE_NOTFOUND: + LOGD("RETURN CODE: SQLITE_NOTFOUND"); + break; + case SQLITE_FULL: + LOGD("RETURN CODE: SQLITE_FULL"); + break; + case SQLITE_CANTOPEN: + LOGD("RETURN CODE: SQLITE_CANTOPEN"); + break; + case SQLITE_PROTOCOL: + LOGD("RETURN CODE: SQLITE_PROTOCOL"); + break; + case SQLITE_EMPTY: + LOGD("RETURN CODE: SQLITE_EMPTY"); + break; + case SQLITE_SCHEMA: + LOGD("RETURN CODE: SQLITE_SCHEMA"); + break; + case SQLITE_TOOBIG: + LOGD("RETURN CODE: SQLITE_TOOBIG"); + break; + case SQLITE_CONSTRAINT: + LOGD("RETURN CODE: SQLITE_CONSTRAINT"); + break; + case SQLITE_MISMATCH: + LOGD("RETURN CODE: SQLITE_MISMATCH"); + break; + case SQLITE_MISUSE: + LOGD("RETURN CODE: SQLITE_MISUSE"); + break; + case SQLITE_NOLFS: + LOGD("RETURN CODE: SQLITE_NOLFS"); + break; + case SQLITE_AUTH: + LOGD("RETURN CODE: SQLITE_AUTH"); + break; + case SQLITE_FORMAT: + LOGD("RETURN CODE: SQLITE_FORMAT"); + break; + case SQLITE_RANGE: + LOGD("RETURN CODE: SQLITE_RANGE"); + break; + case SQLITE_NOTADB: + LOGD("RETURN CODE: SQLITE_NOTADB"); + break; + case SQLITE_ROW: + LOGD("RETURN CODE: SQLITE_ROW"); + break; + case SQLITE_DONE: + LOGD("RETURN CODE: SQLITE_DONE"); + break; + default: + break; + } + + return return_code == SQLITE_OK || return_code == SQLITE_DONE; +} + +bool _db_open(void) +{ + if (db_info.db) + return true; + + if (!_db_is_success(sqlite3_open(DATABASE_FILE, &db_info.db))) + return false; + + if (sqlite3_exec(db_info.db, "BEGIN IMMEDIATE TRANSACTION", NULL, + NULL, NULL)) + return false; + + return true; +} + +Eina_Bool _db_close_cb(void *data) +{ + LOGD("DB CLOSE"); + + if (db_info.db) { + if (sqlite3_exec(db_info.db, "COMMIT TRANSACTION", + NULL, NULL, NULL)) + return ECORE_CALLBACK_DONE; + + if (_db_is_success(sqlite3_close(db_info.db))) + db_info.db = NULL; + } + db_info.close_timer = NULL; + return ECORE_CALLBACK_DONE; +} + +void _db_close(void) +{ + if (!db_info.db) + return; + + if (db_info.close_timer) { + ecore_timer_reset(db_info.close_timer); + } else { + db_info.close_timer = ecore_timer_add(DATABASE_CLOSE_TIME, + _db_close_cb, NULL); + } +} + +bool _db_prepare(const char *query, sqlite3_stmt **stmt) +{ + return _db_is_success(sqlite3_prepare_v2(db_info.db, query, + strlen(query), stmt, NULL)); +} + +bool _db_step(sqlite3_stmt *stmt) +{ + return _db_is_success(sqlite3_step(stmt)); +} + +bool _db_finalize(sqlite3_stmt *stmt) +{ + return _db_is_success(sqlite3_finalize(stmt)); +} diff --git a/src/dynamic_index.c b/src/dynamic_index.c new file mode 100644 index 0000000..30dc48d --- /dev/null +++ b/src/dynamic_index.c @@ -0,0 +1,375 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "dynamic_index.h" + +#include +#include + +#include "homescreen-efl.h" +#include "util.h" +#include "livebox/livebox_panel.h" +#include "layout.h" + +static Evas_Object *__dynamic_index_create_indice(Evas_Object *box); +static Eina_Bool __dynamic_index_fill_box(dynamic_index_t *dynamic_index); + +static void __dynamic_index_page_count_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __dynamic_index_page_area_changed_cb(void *data, Evas_Object *obj, void *event_info); + +static void __dynamic_index_current_page_changed_start_cb(void *data, Evas_Object *obj, void *event_info); +static void __dynamic_index_current_page_changed_stop_cb(void *data, Evas_Object *obj, void *event_info); +static void __dynamic_index_set_properties(Evas_Object *index, double percent); +static Evas_Object *__dynamic_index_box_create(void); +static void __dynamic_index_rotate(Evas_Object *element, double angle, double alpha); + +HAPI dynamic_index_t *dynamic_index_new(Evas_Object *page_scroller) +{ + dynamic_index_t *dynamic_index = NULL; + Evas_Object *box = NULL; + + if (!page_scroller) { + LOGD("Invalid parameter : page_scroller is NULL"); + return NULL; + } + + dynamic_index = (dynamic_index_t *) malloc (sizeof(dynamic_index_t)); + if (!dynamic_index) + return NULL; + + box = __dynamic_index_box_create(); + + dynamic_index->scroller = page_scroller; + dynamic_index->box = box; + dynamic_index->page_count = page_scroller_get_page_count(page_scroller); + dynamic_index->page_current = page_scroller_get_current_page(page_scroller); + + elm_scroller_page_size_get(page_scroller, &dynamic_index->page_width, NULL); + elm_scroller_region_get(page_scroller, &dynamic_index->x_current, NULL, NULL, NULL); + + if (!__dynamic_index_fill_box(dynamic_index)) { + LOGD("Box fill failed"); + evas_object_del(box); + free(dynamic_index); + return NULL; + } + + elm_object_signal_callback_add(page_scroller, "scroller,count,changed", "*", __dynamic_index_page_count_changed_cb, dynamic_index); + evas_object_smart_callback_add(page_scroller, "scroll", __dynamic_index_page_area_changed_cb, dynamic_index); + + evas_object_smart_callback_add(page_scroller, "scroll,drag,start", __dynamic_index_current_page_changed_start_cb, dynamic_index); + evas_object_smart_callback_add(page_scroller, "scroll,anim,stop", __dynamic_index_current_page_changed_stop_cb, dynamic_index); + + evas_object_data_set(page_scroller, KEY_INDEX, dynamic_index); + + return dynamic_index; +} + +HAPI void dynamic_index_clear(dynamic_index_t *dynamic_index) +{ + int i = 0; + + if (!dynamic_index) { + LOGE("Invalid parameter"); + return; + } + + for (i = 0; i < dynamic_index->page_count; i++) { + if (dynamic_index->indices[i]) { + evas_object_del(dynamic_index->indices[i]); + dynamic_index->indices[i] = NULL; + } + } + + elm_box_clear(dynamic_index->box); +} + +HAPI void dynamic_index_del(dynamic_index_t *dynamic_index) +{ + if (!dynamic_index) { + LOGE("[INVALID_PARAM][dynamic_index='%p']", dynamic_index); + return; + } + + elm_object_signal_callback_del(dynamic_index->scroller, "scroller,count,changed", "*", __dynamic_index_page_count_changed_cb); + + evas_object_smart_callback_del(dynamic_index->scroller, "scroll", __dynamic_index_page_area_changed_cb); + evas_object_smart_callback_del(dynamic_index->scroller, "scroll,drag,start", __dynamic_index_current_page_changed_start_cb); + evas_object_smart_callback_del(dynamic_index->scroller, "scroll,anim,stop", __dynamic_index_current_page_changed_stop_cb); + + dynamic_index_clear(dynamic_index); + free(dynamic_index); +} + +HAPI void dynamic_index_reload(dynamic_index_t *dynamic_index, int idx, int page_count) +{ + if (!dynamic_index) { + LOGE("[INVALID_PARAMS]"); + return; + } + + dynamic_index_clear(dynamic_index); + dynamic_index->page_current = idx; + dynamic_index->page_count = page_count; + + __dynamic_index_fill_box(dynamic_index); +} + +static Evas_Object *__dynamic_index_create_indice(Evas_Object *box) +{ + Evas_Object *layout = NULL; + Evas_Object *size_setter_rect = NULL; + + int idx_width = (INDEX_ELEMENT_CONTAINER_WIDTH / ROOT_WIN_W) * home_screen_get_root_width(); + int idx_height = (INDEX_ELEMENT_CONTAINER_HEIGHT / ROOT_WIN_H) * home_screen_get_root_height(); + + + if (!box) { + LOGD("Invalid argument : box is NULL"); + return NULL; + } + + layout = elm_layout_add(box); + if (!layout) { + LOGD("Layout creation failed"); + return NULL; + } + + if (!elm_layout_file_set(layout, INDEX_EDJE, GROUP_INDEX_ELEMENT)) { + evas_object_del(layout); + return NULL; + } + + size_setter_rect = evas_object_rectangle_add(evas_object_evas_get(home_screen_get_win())); + if (!size_setter_rect) { + LOGE("Failed to create size setter rectangle"); + return NULL; + } + + elm_object_part_content_set(layout, INDICE_SIZE_SETTER, size_setter_rect); + + evas_object_color_set(size_setter_rect, 0, 0, 0, 0); + evas_object_size_hint_min_set(size_setter_rect, idx_width, idx_height); + evas_object_size_hint_max_set(size_setter_rect, idx_width, idx_height); + evas_object_resize(size_setter_rect, idx_width, idx_height); + + evas_object_show(layout); + elm_box_pack_end(box, layout); + + return layout; +} + +static void __dynamic_index_set_properties(Evas_Object *index, double percent) +{ + double size = (percent*INDEX_CURRENT_SIZE+(1.0-percent)*INDEX_NORMAL_SIZE)*home_screen_get_root_width(); + evas_object_size_hint_min_set(index, size, size); + evas_object_size_hint_max_set(index, size, size); + evas_object_color_set(index, 255, 255, 255, percent*INDEX_CURRENT_ALPHA+(1.0-percent)*INDEX_NORMAL_ALPHA); +} + +static Eina_Bool __dynamic_index_fill_box(dynamic_index_t *dynamic_index) +{ + int i = 0, c_page = -1; + + Evas_Object *layout = NULL; + + if (!dynamic_index) + return EINA_FALSE; + + if (!dynamic_index->box || dynamic_index->page_count < 1) { + LOGD("Invalid parameters : box is NULL or elements_count is < 1"); + return EINA_FALSE; + } + + c_page = dynamic_index->page_current; + if(c_page < 0 || c_page > dynamic_index->page_count) + { + LOGE("Failed to get current_page "); + return EINA_FALSE; + } + + for (i = 0 ; i < dynamic_index->page_count; i++) { + layout = __dynamic_index_create_indice(dynamic_index->box); + if (!layout) { + LOGE("Failed to append index element into the box"); + dynamic_index_clear(dynamic_index); + return EINA_FALSE; + } + + dynamic_index->indices[i] = layout; + } + + elm_layout_signal_emit(dynamic_index->indices[c_page], SIGNAL_SET_CURRENT, SIGNAL_SOURCE); + __dynamic_index_set_properties(dynamic_index->indices[dynamic_index->page_current], 1.0); + + return EINA_TRUE; +} + +static void __dynamic_index_page_count_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + LOGD("The page count has changed"); + dynamic_index_t *dynamic_index = (dynamic_index_t *)data; + dynamic_index_clear(dynamic_index); + dynamic_index->page_count = page_scroller_get_page_count(dynamic_index->scroller); + + LOGD("page count : %d ", dynamic_index->page_count); + + if (!dynamic_index->page_count) + return; + + dynamic_index->page_current = page_scroller_get_current_page(dynamic_index->scroller); + + if (!__dynamic_index_fill_box(dynamic_index)) { + elm_object_signal_callback_del(dynamic_index->scroller, "scroller,count,changed", "*", __dynamic_index_page_count_changed_cb); + evas_object_smart_callback_del(dynamic_index->scroller, "scroll", __dynamic_index_page_area_changed_cb); + evas_object_smart_callback_del(dynamic_index->scroller, "scroll,drag,start", __dynamic_index_current_page_changed_start_cb); + evas_object_smart_callback_del(dynamic_index->scroller, "scroll,anim,stop", __dynamic_index_current_page_changed_stop_cb); + } +} + +HAPI double _dist(int current, int page_x, int page_width) +{ + return 1.0-((double)fabs(page_x-current))/page_width; +} + +static void __dynamic_index_page_area_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + int x = 0; + double angle = 0.0; + double color = 0.0; + int next_page = -1; + + dynamic_index_t *dynamic_index = (dynamic_index_t*) data; + if(!dynamic_index) + { + LOGE("Invalid dynamic_index"); + return; + } + elm_scroller_region_get(obj, &x, NULL, NULL, NULL); + + angle = (double)(x - dynamic_index->x_current)/dynamic_index->page_width * 90.0; + + if(fabs(x - dynamic_index->x_current) <= dynamic_index->page_width) + { + next_page = x > dynamic_index->x_current ? (dynamic_index->page_current+1) % dynamic_index->page_count : dynamic_index->page_current-1; + color = fabs(angle) * 2; + } + else + { + if(x > dynamic_index->x_current) + { + next_page = dynamic_index->page_count-1; + color = (double)(dynamic_index->page_width*dynamic_index->page_count - x)/dynamic_index->page_width * 180.0; + } + else + { + next_page = 0; + color = 180.0; + } + } + + if (next_page == dynamic_index->page_count - 1 && dynamic_index->page_current == 0 && dynamic_index->page_count % 2 == 1) + angle = angle - 270.0; + + __dynamic_index_rotate(dynamic_index->indices[dynamic_index->page_current], 90.0 + angle, 255.0 - color); + __dynamic_index_rotate(dynamic_index->indices[next_page], angle, 75.0 + color); +} + +static Evas_Object *__dynamic_index_box_create(void) +{ + Evas_Object *box = NULL; + + box = elm_box_add(home_screen_get_win()); + if (!box) { + LOGD("Box creation failed"); + return NULL; + } + + elm_box_homogeneous_set(box, EINA_TRUE); + elm_box_horizontal_set(box, EINA_TRUE); + + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + elm_box_align_set(box, 0.5, 0.5); + evas_object_show(box); + + return box; +} + +static void __dynamic_index_current_page_changed_start_cb(void *data, Evas_Object *obj, void *event_info) +{ + dynamic_index_t *dynamic_index = (dynamic_index_t*) data; + if(!dynamic_index) + { + LOGE("Invalid data"); + return; + } + + elm_scroller_current_page_get(obj, &dynamic_index->page_current, NULL); + elm_scroller_region_get(obj, &dynamic_index->x_current, NULL, NULL, NULL); +} + +static void __dynamic_index_current_page_changed_stop_cb(void *data, Evas_Object *obj, void *event_info) +{ + dynamic_index_t *dynamic_index = (dynamic_index_t*)data; + int i; + + if(!dynamic_index) + { + LOGE("Invalid data"); + return; + } + + elm_scroller_current_page_get(obj, &dynamic_index->page_current, NULL); + for(i = 0; ipage_current; i++) + { + elm_object_signal_emit(dynamic_index->indices[i], SIGNAL_SET_DEFAULT, SIGNAL_SOURCE); + } + elm_object_signal_emit(dynamic_index->indices[dynamic_index->page_current], SIGNAL_SET_CURRENT, SIGNAL_SOURCE); + for(i = dynamic_index->page_current+1; ipage_count; i++) + { + elm_object_signal_emit(dynamic_index->indices[i], SIGNAL_SET_DEFAULT, SIGNAL_SOURCE); + } +} + +static void __dynamic_index_rotate(Evas_Object *element, double angle, double alpha) +{ + Evas_Object *edje = NULL; + + if(!element) + { + LOGE("Invalid argument : element is NULL"); + return; + } + + edje = elm_layout_edje_get(element); + if(!edje) + { + LOGE("Failed to get edje from layout"); + return; + } + + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + sizeof(double)); + msg->count = 2; + msg->val[0] = angle; + msg->val[1] = alpha; + + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, "rot_changed", "ly"); + + free(msg); +} + diff --git a/src/folder_panel.c b/src/folder_panel.c new file mode 100644 index 0000000..a516f43 --- /dev/null +++ b/src/folder_panel.c @@ -0,0 +1,902 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "folder_panel.h" +#include "homescreen-efl.h" +#include "util.h" +#include "page_scroller.h" +#include "app_icon.h" +#include "app_grid.h" +#include "layout.h" +#include "option_menu.h" +#include "tree.h" +#include "data_model.h" +#include "all_apps.h" + +static struct +{ + Evas_Object *opened_folder_window; + Evas_Object *opened_folder_popup; + Elm_Theme *folder_entry_theme; + app_item_t *folder_item; + app_item_t *folder_item_add; + Tree_node_t *destination_folder; + bool click_ignore; + bool is_opened; + bool entry_activated; + bool opened_folder_name_is_empty; + bool opened_folder_entrychange_cb_ignore; +} s_info = { + .opened_folder_window = NULL, + .opened_folder_popup = NULL, + .folder_entry_theme = NULL, + .folder_item = NULL, + .folder_item_add = NULL, + .destination_folder = NULL, + .click_ignore = false, + .is_opened = false, + .entry_activated = false, + .opened_folder_name_is_empty = true, + .opened_folder_entrychange_cb_ignore = true +}; + + +static void __folder_panel_create_folder_window_layout_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __folder_window_destroy_signal_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static bool __folder_panel_detach_grid_items(Tree_node_t *parent, Tree_node_t *item, void *data); +static void __folder_panel_name_set_cb(void *data, Evas_Object *obj, void *event_info); +static bool __folder_panel_get_items_count(Tree_node_t *parent, Tree_node_t *item, void *count); +/*frees folder UI data related to opened window:*/ +static void __folder_panel_free_popup_data(folder_data_t *folder_data); + +static Evas_Object* __folder_panel_create_icon(Tree_node_t *new_folder); +static Evas_Object *__folder_panel_create_scroller(Evas_Object *folder_window_layout); +static bool __folder_panel_create_layout(Evas_Object *parent, app_item_t *folder, bool keypad_show); +static bool __folder_panel_fill(Evas_Object *folder_window_layout, Evas_Object *folder_page_scroller,app_item_t *folder); +static bool __folder_panel_set_current_view_state(Tree_node_t *parent, Tree_node_t *item, void *data); +static bool __folder_panel_show_checkbox(Tree_node_t *parent, Tree_node_t *leaf, void *data); +static bool __folder_panel_get_checked_icons(Tree_node_t *parent, Tree_node_t *leaf, void *data); +static Evas_Object *__folder_panel_create_add_icon(app_item_t *folder); +static Evas_Object *__folder_panel_create_popup(Evas_Object *parent, app_item_t *item); + +static Evas_Object *__folder_panel_create_entry(Evas_Object *parent, const char *default_text); +static void __folder_panel_entry_activated_cb(void *data, Evas_Object *obj, void *ei); +static void __folder_panel_entry_deactivated_cb(void *data, Evas_Object *obj, void *ei); +static void __folder_panel_entry_changed_cb(void *data, Evas_Object *obj, void *ei); +static void __folder_panel_entry_clicked_cb(void *data, Evas_Object *obj, void *ei); +static void __folder_panel_entry_clear_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); + +static void __folder_panel_item_add_to_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __folder_panel_print_labels(Tree_node_t *folder_tree); +static void __folder_panel_close_cb(void *data, Evas_Object *obj, const char *emission, const char *source); + +/*========================================== PUBLIC FUNCTIONS IMPLEMENTATION =============================================*/ +HAPI void folder_panel_init_module(void) +{ + if (!s_info.folder_entry_theme) { + s_info.folder_entry_theme = elm_theme_new(); + if (!s_info.folder_entry_theme) { + LOGE("Failed to create theme"); + return; + } + + elm_theme_ref_set(s_info.folder_entry_theme, NULL); + elm_theme_extension_add(s_info.folder_entry_theme, EDJE_DIR"/folder_entry.edj"); + } +} + +HAPI void folder_panel_deinit_module(void) +{ + elm_theme_free(s_info.folder_entry_theme); + s_info.folder_entry_theme = NULL; +} + +HAPI app_item_t *folder_panel_create(Tree_node_t *data) +{ + LOGI(""); + Evas_Object *folder_icon_layout = NULL; + folder_data_t *f_data = NULL; + + f_data = (folder_data_t *) calloc(1, sizeof(folder_data_t)); + if (!f_data) { + LOGE("Failed to create either data: %d", f_data); + return NULL; + } + + folder_icon_layout = __folder_panel_create_icon(data); + if (!folder_icon_layout) { + LOGE("Failed to create folder"); + free(f_data); + f_data = NULL; + } + + data->data->layout = folder_icon_layout; + data->data->data = f_data; + + __folder_panel_print_labels(data); + + return data->data; +} + +HAPI void folder_panel_set_click_ignore_state(bool ignore) +{ + s_info.click_ignore = ignore; +} + +HAPI void folder_panel_enable_entry(bool state) +{ + if (s_info.opened_folder_popup) { + if (state) { + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_ENTRY_BLOCK_OFF, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_ENTRY_BLOCK_ON, SIGNAL_SOURCE); + } + } +} + +HAPI Elm_Object_Item * folder_panel_attach_to_grid(Evas_Object *icon, folder_data_t *folder_data) +{ + Evas_Object *grid_layout = NULL; + Evas_Object *grid = NULL; + + if (!icon || !folder_data) { + LOGE("icon: %d folder_data: %d", icon, folder_data); + return NULL; + } + + if (!folder_data->folder_scroller) + return NULL; + + grid_layout = page_scroller_get_page(folder_data->folder_scroller, 0); + grid = elm_object_part_content_get(grid_layout, PART_APP_GRID_CONTENT); + + /*the last item is "+:"*/ + return app_grid_insert_item_relative(grid_layout, icon, elm_gengrid_last_item_get(grid)); +} + +HAPI bool folder_panel_open_folder(app_item_t *folder, bool keypad_show) +{ + LOGI(""); + s_info.is_opened = true; + s_info.opened_folder_entrychange_cb_ignore = true; + + return __folder_panel_create_layout(home_screen_get_win(), folder, keypad_show); +} + +HAPI void folder_panel_close_folder(void) +{ + s_info.is_opened = false; + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_PANEL_CLOSE, SIGNAL_SOURCE); + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_HIDE, SIGNAL_SOURCE); + elm_object_signal_callback_add(s_info.opened_folder_popup, SIGNAL_FOLDER_ANIM_DONE, SIGNAL_SOURCE, + __folder_panel_close_cb, NULL); + +} + +HAPI void folder_panel_cancel_add_icon(void) +{ + if (s_info.folder_item_add) + app_icon_set_color(s_info.folder_item_add->layout, 255, 255, 255, 255); + s_info.folder_item_add = NULL; + s_info.destination_folder = NULL; +} + +HAPI bool folder_panel_is_folder_visible(void) +{ + return s_info.is_opened; +} + +HAPI bool folder_panel_set_content_checked(Tree_node_t *node) +{ + bool all_checked = true; + tree_in_depth_browse(node, __folder_panel_get_checked_icons, &all_checked); + return all_checked; +} + +HAPI Tree_node_t *folder_panel_get_opened_folder_node(void) +{ + return s_info.destination_folder; +} + +HAPI const app_item_t *folder_panel_get_opened_folder_item(void) +{ + return s_info.folder_item; +} + +HAPI int folder_panel_get_items_count(Tree_node_t *folder) +{ + int i = 0; + data_model_iterate_pages(folder, NULL, __folder_panel_get_items_count, &i); + + return i; +} + +HAPI void folder_panel_remove_empty_folder(Tree_node_t *folder) +{ + if (!folder) { + LOGE("[INVALID_PARAM][folder=NULL]"); + return; + } + + app_icon_remove(folder->data->layout); + folder->data->layout = NULL; +} + +HAPI void folder_panel_get_folder_geometry(int *x, int *y, int *w, int *h) +{ + if (!s_info.opened_folder_popup) { + if (x) + *x = -1; + + if (y) + *y = -1; + + if (w) + *w = -1; + + if (h) + *h = -1; + } + + evas_object_geometry_get(s_info.opened_folder_popup, x, y, w, h); +} + +HAPI void folder_panel_hide_input_panel(void) +{ + Evas_Object *entry = NULL; + + if (!s_info.opened_folder_popup) + return; + + entry = elm_object_part_content_get(s_info.opened_folder_popup, PART_FOLDER_NAME); + if (!entry) { + LOGE("[FAILED][entry=NULL]"); + return; + } + + elm_entry_input_panel_hide(entry); +} +/*====================================== PRIVATE FUNCTIONS IMPLEMENTATION =================================================*/ +static bool __folder_panel_get_items_count(Tree_node_t *parent, Tree_node_t *item, void *count) +{ + (*(int *)count)++; + + return true; +} + +static void __folder_panel_create_folder_window_layout_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + bool keypad_show = false; + + if (s_info.click_ignore && s_info.destination_folder) { /*don't open a folder when adding items to it*/ + LOGI("Click ignore"); + return; + } + + s_info.folder_item = (app_item_t*) data; + if (!s_info.folder_item) { + LOGE("Failed to get folder item"); + return; + } + + if (!emission && !source) + keypad_show = true; + + if (!folder_panel_open_folder(s_info.folder_item, keypad_show)) { + LOGE("Failed to open folder"); + return; + } + + app_icon_highlight_folder_icon(s_info.folder_item->layout, FOLDER_ICON_FRAME_POSSIBLE); +} + +static void __folder_window_destroy_signal_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + folder_panel_close_folder(); +} + +static void __folder_panel_name_set_cb(void *data, Evas_Object *obj, void *event_info) +{ + LOGI(""); + app_item_t *folder = NULL; + Tree_node_t *node = NULL; + const char *entry_text; + char prev_label[NAME_MAX]; + + folder = (app_item_t*) data; + if (!data) { + LOGE("invalid cb parameter : data is NULL"); + return; + } + + strncpy(prev_label, folder->label, NAME_MAX - sizeof('\0')); + + if (elm_entry_is_empty(obj) || s_info.opened_folder_name_is_empty) { + free((void *)folder->label); + folder->label = strdup(""); + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_SHOW, + SIGNAL_SOURCE); + } else { + entry_text = elm_object_text_get(obj); + if (!entry_text) { + LOGE("Failed to get the text from the entry"); + return; + } + + free((void *)folder->label); + folder->label = strdup(entry_text); + if (!folder->label) { + LOGE("Failed to copy the text"); + return; + } + + folder->appid = strdup(entry_text); + if (!folder->appid) { + LOGE("Failed to copy the text"); + return; + } + } + + if (folder->label && + strncasecmp(prev_label, folder->label, NAME_MAX) != 0) { + app_icon_set_label(folder->layout, folder->label); + + node = (Tree_node_t*)evas_object_data_get(folder->layout, KEY_ICON_DATA); + if (!node) { + LOGE("node == NULL"); + return; + } + data_model_update_item(node); + home_screen_mvc_update_view(); + } + + home_screen_print_tree(); +} + +static Evas_Object* __folder_panel_create_icon(Tree_node_t *new_folder) +{ + Evas_Object *folder_icon_layout = app_icon_create(new_folder, APP_ICON_TYPE_FOLDER); + if (!folder_icon_layout) { + LOGE("Failed to create folder"); + return NULL; + } + + elm_object_signal_callback_add(folder_icon_layout, SIGNAL_ICON_CLICKED, SIGNAL_SOURCE, __folder_panel_create_folder_window_layout_cb, new_folder->data); + + return folder_icon_layout; +} + +static bool __folder_panel_create_layout(Evas_Object *parent, app_item_t *folder, bool keypad_show) +{ + Evas_Object *entry = NULL; + Evas_Object *add_icon = NULL; + + folder_data_t *f_data = NULL; + Tree_node_t *f_node = NULL; + + int count = -1; + + if (!parent || !folder) { + LOGE("Invalid parameter"); + return false; + } + + f_data = (folder_data_t *) folder->data; + if (!f_data) { + LOGE("Failed to get folder data"); + return false; + } + + s_info.opened_folder_window = elm_layout_add(parent); + if (!s_info.opened_folder_window) { + LOGE("Failed to create folder icon layout"); + return false; + } + + if (!elm_layout_file_set(s_info.opened_folder_window, EDJE_DIR"/folder.edj", GROUP_FOLDER_WINDOW)) { + LOGE("Failed to load edje file for layout"); + evas_object_del(s_info.opened_folder_window); + s_info.opened_folder_window = NULL; + return false; + } + + s_info.opened_folder_popup = __folder_panel_create_popup(parent, folder); + if (!s_info.opened_folder_popup) { + LOGE("Failed to create folder_popup "); + evas_object_del(s_info.opened_folder_window); + s_info.opened_folder_window = NULL; + return false; + } + evas_object_show(s_info.opened_folder_popup); + + entry = __folder_panel_create_entry(s_info.opened_folder_popup, folder->label); + if (!entry) { + LOGE("Failed to create entry"); + evas_object_del(s_info.opened_folder_window); + evas_object_del(s_info.opened_folder_popup); + s_info.opened_folder_window = NULL; + s_info.opened_folder_popup = NULL; + return false; + } + + f_data->folder_scroller = __folder_panel_create_scroller(home_screen_get_win()); + if (!f_data->folder_scroller) { + LOGE("Failed to create folder layout"); + evas_object_del(s_info.opened_folder_window); + evas_object_del(s_info.opened_folder_popup); + s_info.opened_folder_window = NULL; + s_info.opened_folder_popup = NULL; + return false; + } + elm_object_part_content_set(s_info.opened_folder_popup, PART_FOLDER_CONTENT, f_data->folder_scroller); + if (!__folder_panel_fill(s_info.opened_folder_popup, f_data->folder_scroller, folder)) { + LOGE("Failed to fill folder grid"); + evas_object_del(s_info.opened_folder_window); + evas_object_del(s_info.opened_folder_popup); + __folder_panel_free_popup_data(folder->data); + s_info.opened_folder_window = NULL; + s_info.opened_folder_popup = NULL; + return false; + } + + f_node = evas_object_data_get(folder->layout, KEY_ICON_DATA); + if (!f_node) { + LOGE("[FAILED][f_node=NULL]"); + evas_object_del(s_info.opened_folder_window); + evas_object_del(s_info.opened_folder_popup); + __folder_panel_free_popup_data(folder->data); + s_info.opened_folder_window = NULL; + s_info.opened_folder_popup = NULL; + return false; + } + + count = folder_panel_get_items_count(f_node); + if (count < FOLDER_MAX_ITEMS) { + add_icon = __folder_panel_create_add_icon(folder); + + if (!app_grid_append_item(page_scroller_get_page(f_data->folder_scroller, page_scroller_get_page_count(f_data->folder_scroller)-1), add_icon)) { + LOGE("Creating folder window without \"+\""); + evas_object_del(add_icon); + } + } + + evas_object_resize(s_info.opened_folder_window, FOLDER_WINDOW_W, FOLDER_WINDOW_H); + evas_object_move(s_info.opened_folder_window, 0, 0); + evas_object_show(s_info.opened_folder_window); + + elm_object_signal_callback_add(s_info.opened_folder_window, SIGNAL_BG_CLICKED, SIGNAL_SOURCE, __folder_window_destroy_signal_cb, folder); + evas_object_smart_callback_add(entry, "focused", __folder_panel_entry_activated_cb, folder); + evas_object_smart_callback_add(entry, "unfocused", __folder_panel_entry_deactivated_cb, folder); + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_PANEL_OPEN, SIGNAL_SOURCE); + + return true; +} + +static Evas_Object* __folder_panel_create_scroller(Evas_Object *folder_window_layout) +{ + Evas_Object *folder_page_scroller = NULL; + LOGI(""); + + if (!folder_window_layout) { + LOGE("Invalid parameter"); + return NULL; + } + + folder_page_scroller = page_scroller_create(FOLDER_GRID_W_REL*home_screen_get_root_width(), FOLDER_GRID_H_REL*home_screen_get_root_height()); + if (!folder_page_scroller) { + LOGE("Failed to create folder page scroller layout"); + return NULL; + } + + elm_scroller_movement_block_set(folder_page_scroller, ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL); + elm_scroller_movement_block_set(folder_page_scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); + elm_scroller_loop_set(folder_page_scroller, EINA_FALSE, EINA_FALSE); + + return folder_page_scroller; +} + +static bool __folder_panel_detach_grid_items(Tree_node_t *parent, Tree_node_t *item, void *data) +{ + if (item->data && item->data->grid_item) { + app_grid_unpack_item(item->data->grid_item); + elm_object_item_del(item->data->grid_item); + evas_object_hide(item->data->layout); + item->data->grid_item = NULL; + + return true; + } + + return false; +} + +static bool __folder_panel_set_current_view_state(Tree_node_t *parent, Tree_node_t *item, void *data) +{ + app_icon_set_view_mode(item->data->layout, home_screen_get_view_type(), true); + return true; +} + +static bool __folder_panel_show_checkbox(Tree_node_t *parent, Tree_node_t *leaf, void *data) +{ + if (leaf->data->type == APP_ITEM_ICON) { + if (leaf->data->is_checked) + elm_object_signal_emit(leaf->data->layout, SIGNAL_CHECKBOX_SHOW_CHECKED, SIGNAL_SOURCE); + else + elm_object_signal_emit(leaf->data->layout, SIGNAL_CHECKBOX_SHOW_UNCHECKED, SIGNAL_SOURCE); + } + return true; +} + +static bool __folder_panel_get_checked_icons(Tree_node_t *parent, Tree_node_t *leaf, void *data) +{ + if (leaf->data->type == APP_ITEM_ICON && !leaf->data->is_checked) { + *(bool *)data = false; + return false; + } + return true; +} + +static bool __folder_panel_fill(Evas_Object *folder_window_layout, Evas_Object *folder_page_scroller, app_item_t *folder) +{ + folder_data_t *folder_data = NULL; + Tree_node_t *it; + Tree_node_t *folder_app_tree = NULL; + Evas_Object *folder_app_grid = NULL; + LOGI(""); + + if (!folder_page_scroller || !folder) { + LOGE("Invalid parameter"); + return false; + } + + folder_data = (folder_data_t*)folder->data; + if (!folder_data) { + LOGE("Failed to get folder data"); + return false; + } + + folder_app_tree = evas_object_data_get(folder->layout, KEY_ICON_DATA); + if (!folder_app_tree) { + LOGE("Failed to get folder app tree"); + return false; + } + + TREE_NODE_FOREACH(folder_app_tree, it) { + folder_app_grid = app_grid_create(folder_page_scroller, it, + FOLDER_GRID_W_REL*home_screen_get_root_width(), FOLDER_GRID_H_REL*home_screen_get_root_height(), APP_GRID_TYPE_FOLDER); + if (!folder_app_grid) { + LOGE("[FAILED][app_grid_create]"); + return false; + } + + if (!page_scroller_add_page(folder_page_scroller, folder_app_grid)) { + LOGE("[FAILED][page_scroller_page_add]"); + evas_object_del(folder_app_grid); + return false; + } + + data_model_iterate(it, __folder_panel_set_current_view_state, NULL); + } + + if (home_screen_get_view_type() == HOMESCREEN_VIEW_ALL_APPS_CHOOSE) + data_model_iterate(folder_app_tree, __folder_panel_show_checkbox, NULL); + + __folder_panel_print_labels(folder_app_tree); + + return true; +} + +static Evas_Object* __folder_panel_create_add_icon(app_item_t *folder) +{ + Evas_Object *icon_layout = NULL; + Evas_Object *add_icon = NULL; + LOGI(""); + + icon_layout = util_create_edje_layout(home_screen_get_win(), EDJE_DIR"/icon.edj", GROUP_ICON_LY); + if (!icon_layout) { + LOGE("Failed to create icon layout"); + return NULL; + } + + add_icon = elm_layout_add(home_screen_get_win()); + if (!add_icon) { + LOGE("Failed to create folder icon layout"); + evas_object_del(icon_layout); + return NULL; + } + + if (!elm_layout_file_set(add_icon, EDJE_DIR"/folder.edj", GROUP_FOLDER_ADD_ICON)) { + LOGE("Failed to load edje file for layout"); + evas_object_del(add_icon); + evas_object_del(icon_layout); + return NULL; + } + + elm_object_part_content_set(icon_layout, PART_ICON_CONTENT, add_icon); + evas_object_size_hint_align_set(icon_layout, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(icon_layout); + evas_object_show(add_icon); + + elm_object_signal_callback_add(add_icon, "mouse,clicked,1", "add_icon", __folder_panel_item_add_to_folder_cb, s_info.folder_item); + evas_object_data_set(icon_layout, KEY_IS_REPOSITIONABLE, (void*)false); + + return icon_layout; +} + +static Evas_Object *__folder_panel_create_popup(Evas_Object *parent, app_item_t *folder) +{ + Evas_Object *folder_popup = NULL; + Tree_node_t *folder_app_tree = NULL; + + if (!parent || !folder) { + LOGE("Invalid parameters: [%p] [%p]", parent, folder); + return NULL; + } + + folder_app_tree = evas_object_data_get(folder->layout, KEY_ICON_DATA); + if (!folder_app_tree) { + LOGE("Failed to get folder app tree"); + return NULL; + } + + folder_popup = elm_layout_add(parent); + if (!folder_popup) { + LOGE("Failed to create folder_popup "); + return NULL; + } + + if (!elm_layout_file_set(folder_popup, EDJE_DIR"/folder.edj", GROUP_FOLDER_POPUP)) { + LOGE("Failed to set folder popup"); + evas_object_del(folder_popup); + return NULL; + } + + elm_object_part_text_set(folder_popup, PART_FOLDER_UNNAMED_TEXT, gettext("IDS_COM_HEADER_UNNAMED_FOLDER")); + + evas_object_resize(folder_popup, FOLDER_POPUP_W_REL*home_screen_get_root_width(), FOLDER_3_ROW_H_REL*home_screen_get_root_height()); + + evas_object_move(folder_popup, FOLDER_POPUP_X_REL*home_screen_get_root_width(), + FOLDER_POPUP_Y_REL*home_screen_get_root_height()); + + return folder_popup; +} + +static Evas_Object *__folder_panel_create_entry(Evas_Object *parent, const char *default_text) +{ + Evas_Object *entry = NULL; + + if (!parent) { + LOGE("Invalid parameter : parent is NULL"); + return NULL; + } + + entry = elm_entry_add(parent); + if (!entry) { + LOGE("Failed to create entry widget"); + return NULL; + } + + evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_scrollable_set(entry, EINA_TRUE); + evas_object_show(entry); + + if (s_info.folder_entry_theme) { + elm_object_theme_set(entry, s_info.folder_entry_theme); + elm_object_style_set(entry, "default"); + } + + elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NORMAL); + elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); + + evas_object_smart_callback_add(entry,"changed", __folder_panel_entry_changed_cb, parent); + evas_object_smart_callback_add(entry, "clicked",__folder_panel_entry_clicked_cb, parent); + elm_object_signal_callback_add(parent, SIGNAL_CLEAR_BTN_CLICKED, SIGNAL_SOURCE, + __folder_panel_entry_clear_button_clicked_cb, entry); + + if (strlen(default_text) > 0) { + elm_entry_entry_set(entry, default_text); + s_info.opened_folder_name_is_empty = false; + } else { + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_SHOW, + SIGNAL_SOURCE); + s_info.opened_folder_name_is_empty = true; + } + + elm_object_part_content_set(s_info.opened_folder_popup, PART_FOLDER_NAME, entry); + + return entry; +} + +static void __folder_panel_entry_activated_cb(void *data, Evas_Object *obj, void *ei) +{ + app_item_t *folder = (app_item_t*) data; + LOGI("Entry"); + + if (!folder) { + LOGE("Failed to get folder"); + return; + } + + if (!strcmp(folder->label, "")) { + elm_object_text_set(obj, ""); + s_info.opened_folder_name_is_empty = true; + } + + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_HIDE, + SIGNAL_SOURCE); + + s_info.entry_activated = true; + s_info.opened_folder_entrychange_cb_ignore = false; +} + +static void __folder_panel_entry_deactivated_cb(void *data, Evas_Object *obj, void *ei) +{ + const char *label = NULL; + label = elm_entry_entry_get(obj); + + if (!label || !strcmp(label, "")) { + s_info.opened_folder_name_is_empty = true; + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_FOLDER_UNNAMED_TEXT_SHOW, + SIGNAL_SOURCE); + } + + elm_object_signal_emit(s_info.opened_folder_popup, SIGNAL_CLEAR_BTN_HIDE, SIGNAL_SOURCE); +} + +static void __folder_panel_entry_changed_cb(void *data, Evas_Object *obj, void *ei) +{ + Evas_Object *folder = (Evas_Object *)data; + const char *entry_text = elm_object_text_get(obj); + + if (s_info.opened_folder_entrychange_cb_ignore) + return; + + if (!entry_text || strlen(entry_text) == 0) { + s_info.opened_folder_name_is_empty = true; + elm_object_signal_emit(folder, SIGNAL_CLEAR_BTN_HIDE, SIGNAL_SOURCE); + } else { + s_info.opened_folder_name_is_empty = false; + elm_object_signal_emit(folder, SIGNAL_CLEAR_BTN_SHOW, SIGNAL_SOURCE); + } +} + +static void __folder_panel_entry_clicked_cb(void *data, Evas_Object *obj, void *ei) +{ + Evas_Object *folder_popup = (Evas_Object*) data; + LOGI(""); + + if (!folder_popup) { + LOGE("Invalid data"); + return; + } + + if (s_info.entry_activated) { + elm_entry_cursor_end_set(obj); + s_info.entry_activated = false; + } + + if (!s_info.opened_folder_name_is_empty) + elm_object_signal_emit(folder_popup, SIGNAL_CLEAR_BTN_SHOW, SIGNAL_SOURCE); + else + elm_object_signal_emit(folder_popup, SIGNAL_CLEAR_BTN_HIDE, SIGNAL_SOURCE); + elm_entry_input_panel_show(obj); +} + +static void __folder_panel_entry_clear_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + LOGI(""); + Evas_Object *entry = NULL; + + entry = (Evas_Object*) data; + if (!entry) { + LOGE("Invalid data pointer"); + return; + } + + elm_object_text_set(entry, ""); + s_info.opened_folder_name_is_empty = true; + elm_object_signal_emit(obj, SIGNAL_CLEAR_BTN_HIDE, SIGNAL_SOURCE); +} + +static void __folder_panel_item_add_to_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + app_item_t *folder_item = NULL; + Tree_node_t *node = NULL; + + home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS_CHOOSE); + option_menu_update_on_item_selected(); + folder_panel_close_folder(); + + folder_item = (app_item_t*) data; + if (!folder_item) { + LOGE("Failed to get folder item"); + return; + } + + node = evas_object_data_get(folder_item->layout, KEY_ICON_DATA); + if (!node) { + LOGE("[FAILED][node=NULL]"); + return; + } + s_info.destination_folder = node; + + elm_object_signal_emit(folder_item->layout, SIGNAL_CHECKBOX_CHECKED, SIGNAL_SOURCE); + elm_object_signal_emit(folder_item->layout, SIGNAL_CHECKBOX_SHOW_CHECKED, SIGNAL_SOURCE); + elm_object_signal_emit(folder_item->layout, SIGNAL_CHECKBOX_BLOCK, SIGNAL_SOURCE); + + app_icon_set_color(folder_item->layout, 150, 150, 150, 150); + s_info.folder_item_add = folder_item; +} + +static void __folder_panel_print_labels(Tree_node_t *folder_tree) +{ + app_item_t *t = NULL; + Tree_node_t *page = NULL; + Tree_node_t *it = NULL; + int i=0; + TREE_NODE_FOREACH(folder_tree, page) { + TREE_NODE_FOREACH(page, it) { + t = it->data; + LOGI("item %d: %s", i++, t->label); + } + } +} + +static void __folder_panel_free_popup_data(folder_data_t *folder_data) +{ + if (!folder_data) + return; + + evas_object_del(folder_data->folder_scroller); + folder_data->folder_scroller = NULL; +} + +static void __folder_panel_close_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Tree_node_t *folder_app_tree = NULL; + Evas_Object *entry = NULL; + + entry = elm_object_part_content_get(s_info.opened_folder_popup, PART_FOLDER_NAME); + elm_object_signal_callback_del(s_info.opened_folder_popup, SIGNAL_FOLDER_ANIM_DONE, SIGNAL_SOURCE, __folder_panel_close_cb); + __folder_panel_name_set_cb(s_info.folder_item, entry, NULL); + + if (s_info.folder_item) { + folder_app_tree = evas_object_data_get(s_info.folder_item->layout, KEY_ICON_DATA); + if (folder_app_tree) { + __folder_panel_print_labels(folder_app_tree); + data_model_iterate_pages(folder_app_tree, NULL, __folder_panel_detach_grid_items, NULL); + } + + app_icon_highlight_folder_icon(s_info.folder_item->layout, FOLDER_ICON_FRAME_NONE); + //app_icon_set_color(s_info.folder_item->layout, 255, 255, 255, 255); + + __folder_panel_free_popup_data(s_info.folder_item->data); + s_info.folder_item = NULL; + } + + if (s_info.opened_folder_popup) { + evas_object_del(s_info.opened_folder_popup); + s_info.opened_folder_popup = NULL; + } + if (s_info.opened_folder_window) { + evas_object_del(s_info.opened_folder_window); + s_info.opened_folder_window = NULL; + } +} diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c new file mode 100644 index 0000000..4a983fe --- /dev/null +++ b/src/homescreen-efl.c @@ -0,0 +1,1154 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "key.h" +#include "option_menu.h" +#include "livebox/livebox_panel.h" +#include "livebox/livebox_utils.h" +#include "mouse.h" +#include "app_mgr.h" +#include "app_icon.h" +#include "all_apps.h" +#include "data_model.h" +#include "layout.h" +#include "folder_panel.h" +#include "livebox_all_pages.h" +#include "mouse.h" +#include "popup.h" + +static struct { + Evas_Object *win; + Evas_Object *bg; + Evas_Object *gradient_bg; + Evas_Object *conformant; + Evas_Object *layout; + Evas_Object *all_apps; + Evas_Object *home; + int root_width; + int root_height; + homescreen_view_t view_type; + bool is_bg_blurred; +} s_info = { + .win = NULL, + .bg = NULL, + .gradient_bg = NULL, + .conformant = NULL, + .layout = NULL, + .all_apps = NULL, + .home = NULL, + .root_width = 0, + .root_height = 0, + .view_type = HOMESCREEN_VIEW_HOME, + .is_bg_blurred = false +}; + +static bool mvc_badge_refresh_enable = true; + +/*======================================UI HELPER FUNCTIONS========================*/ +static void __homescreen_efl_create_base_gui(void); +static void __homescreen_efl_win_delete_request_cb(void *data, Evas_Object *obj, void *event_info); +static void __homescreen_efl_get_window_size(Evas_Object *win); +static void __homescreen_efl_home_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __homescreen_efl_menu_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __homescreen_efl_attach_badge_callback(void); +static void __homescreen_efl_detach_badge_callback(void); +static bool __homescreen_efl_update_icon_label(Tree_node_t *parent, Tree_node_t *node, void *data); +static void __homescreen_efl_make_gradient_bg(void); +static void __homescreen_efl_show_gradient_bg(void); +static void __homescreen_efl_show_normal_bg(void); + +/*======================================APP CONTROL CALLBACKS=======================*/ +static bool __homescreen_efl_app_create_cb(void *data); +static void __homescreen_efl_app_control_cb(app_control_h app_control, void *data); +static void __homescreen_efl_app_pause_cb(void *data); +static void __homescreen_efl_app_resume_cb(void *data); +static void __homescreen_efl_app_terminate_cb(void *data); + + +/*============================UI CALLBACKS==========================================*/ +static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data); +static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data); +static void __homescreen_efl_region_changed_cb(app_event_info_h event_info, void *user_data); +static void __homescreen_efl_low_battery_cb(app_event_info_h event_info, void *user_data); +static void __homescreen_efl_low_memory_cb(app_event_info_h event_info, void *user_data); + +/*==================== MVC Controller functions implementation: ===================*/ +static bool __update_all_badges_count(Tree_node_t *parent, Tree_node_t *node, void *data); +static void __badge_change_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data); +static bool __homescreen_efl_update_icon_badge(Tree_node_t *parent, Tree_node_t *node, void *data); +static void __homescreen_efl_badge_count_update_cb(void *app_item); +static void __homescreen_efl_activate_chooser_caption(void); +static void __homescreen_efl_deactivate_chooser_caption(void); +static void __homescreen_efl_chooser_caption_done_button_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __homescreen_efl_chooser_caption_cancel_button_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static bool __homescreen_efl_free_grid_item(Tree_node_t *page, Tree_node_t *item, void *data); +static bool __homescreen_efl_increment_page(Tree_node_t *parent, Tree_node_t *item, void *data); +static bool __homescreen_efl_attach_all_apps_grid_item(Tree_node_t *page, Tree_node_t *item, void *data); +static void __homescreen_efl_apply_data_model_to_view(void); +static void __homescreen_efl_show_all_apps(void); +static void __homescreen_efl_show_home_view(void); +static void __homescreen_efl_home_bg_changed_cb(system_settings_key_e key, void *data); +static void __homescreen_efl_apply_home_bg_effect(bool is_on); +static Eina_Bool __homescreen_efl_show_all_apps_anim(void *data, double pos); +static Eina_Bool __homescreen_efl_show_home_anim(void *data, double pos); +/*====================PUBLIC FUNCTIONS IMPLEMENTATION===============================*/ + +/*used to iterate over data model:*/ +static bool folder_count_pending = false; +static unsigned int folder_badge_counter = 0; + +int main(int argc, char *argv[]) +{ + dlog_print(DLOG_DEBUG, LOG_TAG, "Starting homescreen-efl"); + + int ret = 0; + ui_app_lifecycle_callback_s event_callback = {0,}; + app_event_handler_h handlers[5] = {NULL, }; + + event_callback.create = __homescreen_efl_app_create_cb; + event_callback.terminate = __homescreen_efl_app_terminate_cb; + event_callback.pause = __homescreen_efl_app_pause_cb; + event_callback.resume = __homescreen_efl_app_resume_cb; + event_callback.app_control = __homescreen_efl_app_control_cb; + + ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, __homescreen_efl_low_battery_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, __homescreen_efl_low_memory_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, __homescreen_efl_orient_changed_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, __homescreen_efl_lang_changed_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, __homescreen_efl_region_changed_cb, NULL); + ui_app_remove_event_handler(handlers[APP_EVENT_LOW_MEMORY]); + + ret = ui_app_main(argc, argv, &event_callback, NULL); + if (ret != APP_ERROR_NONE) + dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_main() is failed. err = %d", ret); + + s_info.view_type = HOMESCREEN_VIEW_HOME; + + return ret; +} + +HAPI int home_screen_get_root_width(void) +{ + return s_info.root_width; +} + +HAPI int home_screen_get_root_height(void) +{ + return s_info.root_height; +} + +HAPI Evas_Object *home_screen_get_win(void) +{ + return s_info.win; +} + +HAPI Evas_Object *home_screen_get_layout(void) +{ + return s_info.layout; +} + +HAPI homescreen_view_t home_screen_get_view_type(void) +{ + return s_info.view_type; +} + +HAPI void home_screen_set_view_type(homescreen_view_t view) +{ + switch (view) { + case HOMESCREEN_VIEW_HOME: + __homescreen_efl_apply_home_bg_effect(false); + __homescreen_efl_show_normal_bg(); + if (s_info.view_type == HOMESCREEN_VIEW_ALL_APPS) { + all_apps_set_view_mode(view); + __homescreen_efl_show_home_view(); + } + break; + case HOMESCREEN_VIEW_HOME_EDIT: + LOGI("HOMESCREEN_VIEW_HOME_EDIT"); + + break; + case HOMESCREEN_VIEW_HOME_ALL_PAGES: + LOGI("HOMESCREEN_VIEW_HOME_ALL_PAGES"); + livebox_all_pages_show(); + break; + case HOMESCREEN_VIEW_ALL_APPS: + __homescreen_efl_apply_home_bg_effect(true); + __homescreen_efl_show_gradient_bg(); + if (s_info.view_type == HOMESCREEN_VIEW_HOME) + __homescreen_efl_show_all_apps(); + + if (s_info.view_type == HOMESCREEN_VIEW_ALL_APPS_CHOOSE) + __homescreen_efl_deactivate_chooser_caption(); + all_apps_set_view_mode(view); + elm_object_signal_emit(s_info.layout, SIGNAL_BOTTOM_BUTTONS_ALL_APPS_STATE_SET, SIGNAL_SOURCE); + __badge_change_cb(0, NULL, 0, NULL); + break; + case HOMESCREEN_VIEW_ALL_APPS_EDIT: + LOGI("HOMESCREEN_VIEW_ALL_APPS_EDIT"); + if (s_info.view_type == HOMESCREEN_VIEW_ALL_APPS_CHOOSE) + __homescreen_efl_deactivate_chooser_caption(); + all_apps_set_view_mode(view); + elm_object_signal_emit(s_info.layout, SIGNAL_BOTTOM_BUTTONS_ALL_APPS_EDIT_STATE_SET, SIGNAL_SOURCE); + break; + case HOMESCREEN_VIEW_ALL_APPS_CHOOSE: + LOGI("HOMESCREEN_VIEW_ALL_APPS_CHOOSE"); + __homescreen_efl_activate_chooser_caption(); + all_apps_set_view_mode(view); + break; + case HOMESCREEN_VIEW_UNKNOWN: + LOGI("HOMESCREEN_VIEW_UNKNOWN"); + break; + default: + LOGE("UKNOWN VIEW TYPE"); + break; + } + + s_info.view_type = view; +} + +HAPI void home_screen_set_indice_state(indice_type_t indice) +{ + switch (indice) { + case INDICE_NEXT_PAGE_ON: + elm_object_signal_emit(s_info.layout, SIGNAL_NEXT_PAGE_INDICE_SHOW, SIGNAL_SOURCE); + break; + case INDICE_PREV_PAGE_ON: + elm_object_signal_emit(s_info.layout, SIGNAL_PREV_PAGE_INDICE_SHOW, SIGNAL_SOURCE); + break; + case INDICE_OFF: + elm_object_signal_emit(s_info.layout, SIGNAL_INDICE_HIDE, SIGNAL_SOURCE); + break; + default: + break; + } +} + +HAPI void home_screen_mvc_set_ly_scale(Evas_Object *layout) +{ + Evas_Object *edje = NULL; + int width = -1; + int height = -1; + + if (!layout) { + LOGE("[FAILED][invalid parameter]"); + return; + } + + edje = elm_layout_edje_get(layout); + + width = s_info.root_width; + height = s_info.root_height; + + if (width == HD_WIDTH && height == HD_HEIGHT) { + LOGD("HD_RES"); + edje_object_scale_set(edje, HD_SCALE_FACTOR); + } else if(width == QHD_WIDTH && height == QHD_HEIGHT) { + LOGD("QHD_RES"); + edje_object_scale_set(edje, QHD_SCALE_FACTOR); + } else if(width == WVGA_WIDTH && height == WVGA_HEIGHT) { + LOGD("WVGA_RES"); + edje_object_scale_set(edje, WVGA_SCALE_FACTOR); + } + +} + +/*====================END OF PUBLIC FUNCTIONS IMPLEMENTATION=========================*/ + +static void __homescreen_efl_win_delete_request_cb(void *data, Evas_Object *obj, void *event_info) +{ + ui_app_exit(); +} + +static Evas_Object *_create_conformant(void) +{ + Evas_Object *conformant = NULL; + + if (!s_info.win) { + LOGE("Window is not created"); + return NULL; + } + + conformant = elm_conformant_add(s_info.win); + if (!conformant) { + LOGE("Failed to create conformant"); + return NULL; + } + elm_win_conformant_set(s_info.win, EINA_TRUE); + + evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(s_info.win, conformant); + + elm_win_indicator_mode_set(s_info.win, ELM_WIN_INDICATOR_SHOW); + elm_win_indicator_opacity_set(s_info.win, ELM_WIN_INDICATOR_TRANSLUCENT); + elm_object_signal_emit(conformant, "elm,state,indicator,overlap", "elm"); + + evas_object_show(conformant); + + return conformant; +} + +static void __homescreen_efl_create_base_gui(void) +{ + char edj_path[PATH_MAX] = {0, }; + const char *bg_path = IMAGE_DIR"/default_bg.png"; + char trbuf[PATH_MAX] = {0, }; + char *buf = NULL; + int ret = -1; + + /* Window */ + s_info.win = elm_win_util_standard_add(PACKAGE, PACKAGE); + elm_win_autodel_set(s_info.win, EINA_TRUE); + + evas_object_smart_callback_add(s_info.win, "delete,request", __homescreen_efl_win_delete_request_cb, NULL); + + /*Background*/ + s_info.bg = evas_object_image_filled_add(evas_object_evas_get(s_info.win)); + + ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf); + if (!buf || ret != SYSTEM_SETTINGS_ERROR_NONE) { + evas_object_image_file_set(s_info.bg, bg_path, "bg"); + } else { + evas_object_image_file_set(s_info.bg, buf, "bg"); + free(buf); + } + + system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, __homescreen_efl_home_bg_changed_cb, NULL); + + elm_win_resize_object_add(s_info.win, s_info.bg); + evas_object_show(s_info.bg); + + __homescreen_efl_get_window_size(s_info.win); + __homescreen_efl_make_gradient_bg(); + + /* Conformant */ + s_info.conformant = _create_conformant(); + + /* Base Layout */ + snprintf(edj_path, sizeof(edj_path), EDJE_DIR"/home.edj"); + s_info.layout = elm_layout_add(s_info.win); + elm_layout_file_set(s_info.layout, edj_path, GROUP_HOME_LY); + evas_object_size_hint_weight_set(s_info.layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(s_info.win, s_info.layout); + evas_object_show(s_info.layout); + + home_screen_mvc_set_ly_scale(s_info.layout); + + s_info.home = livebox_panel_create(s_info.layout); + if (!s_info.home) { + evas_object_del(s_info.win); + evas_object_del(s_info.bg); + evas_object_del(s_info.conformant); + evas_object_del(s_info.layout); + + LOGE("s_info.home == NULL"); + return; + } + + elm_object_part_content_set(s_info.layout, PART_CONTENT, s_info.home); + + /* Show window after base gui is set up */ + evas_object_show(s_info.win); + elm_object_signal_callback_add(s_info.layout, SIGNAL_HOME_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_home_btn_clicked, NULL); + elm_object_signal_callback_add(s_info.layout, SIGNAL_MENU_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_menu_btn_clicked, NULL); + + /*Chooser caption setup:*/ + elm_layout_signal_callback_add(s_info.layout, "mouse,clicked,*", + "chooser_caption_left_clickable_space", + __homescreen_efl_chooser_caption_cancel_button_cb, NULL); + elm_layout_signal_callback_add(s_info.layout, "mouse,clicked,*", + "chooser_caption_right_clickable_space", + __homescreen_efl_chooser_caption_done_button_cb, NULL); + + snprintf(trbuf, sizeof(trbuf), _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), 0); + layout_main_caption_set_menu_texts(trbuf, + _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"), + _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); +} + +/*TODO: coding convention!*/ +bool tree_print_cb(Tree_node_t *parent_node, Tree_node_t *tn, void *data) +{ + app_item_t *item = tn->data; + app_item_t *parent = NULL; + + if (tn->parent) + parent = tn->parent->data; + + LOGD("TYPE: %2d; PARENT name: %12.12s; id: %2d | ITEM appid: %28.28s; id: %2d; [%d, %d; %d, %d]; %s", + item->type, + parent ? parent->appid : "NULL", + parent ? parent->unique_id : -1, + item->appid, + item->unique_id, + item->col, + item->row, + item->col_span, + item->row_span, + item->content_info); + + return true; +} + +/*TODO: coding convention!*/ +void home_screen_print_tree(void) +{ + LOGD("TREE TEST START"); + data_model_iterate(data_model_get_data(), tree_print_cb, NULL); +} + +static void __homescreen_efl_attach_badge_callback(void) +{ + app_mgr_register_badge_callback(__badge_change_cb); +} + +static void __homescreen_efl_detach_badge_callback(void) +{ + app_mgr_unregister_badge_callback(__badge_change_cb); +} + +static bool __homescreen_efl_app_create_cb(void *data) +{ + elm_config_accel_preference_set("3d"); + ecore_animator_frametime_set(FRAMES_PER_SECOND); + + key_register(); + mouse_register(); + + __homescreen_efl_create_base_gui(); + folder_panel_init_module(); + app_mgr_init(); + + if(!data_model_load_db()) { + data_model_load_app_mgr(); + } + + livebox_panel_fill(); + livebox_panel_set_content(s_info.layout); + __homescreen_efl_attach_badge_callback(); + + home_screen_mvc_update_view(); + return true; +} + +static void __homescreen_efl_app_control_cb(app_control_h app_control, void *data) +{ + elm_win_activate(s_info.win); +} + +static void __homescreen_efl_app_pause_cb(void *data) +{ + /* Take necessary actions when application becomes invisible. */ + livebox_panel_paused(); +} + +static void __homescreen_efl_app_resume_cb(void *data) +{ + /* Take necessary actions when application becomes visible. */ + livebox_panel_resumed(); +} + +static void __homescreen_efl_app_terminate_cb(void *data) +{ + /* Release all resources. */ + __homescreen_efl_detach_badge_callback(); + mouse_unregister(); + key_unregister(); + app_mgr_deinit(); + all_apps_del(); + popup_destroy(); + folder_panel_deinit_module(); + data_model_free(); + livebox_panel_destroy(); +} + +static bool __homescreen_efl_update_icon_label(Tree_node_t *parent, Tree_node_t *node, void *data) +{ + if(!node || !node->data) + return false; + + /*update model*/ + if (node->data->label && node->data->type == APP_ITEM_ICON) { + free(node->data->label); + node->data->label = app_mgr_get_app_label(node->data->appid); + } + + /*update view*/ + elm_object_part_text_set(node->data->layout, PART_ICON_NAME, node->data->label); + + return true; +} + +static void __homescreen_efl_make_gradient_bg(void) +{ +#ifdef HOME_HOME_SCREEN_GRADIENT_ENABLED + Evas_Map *m = NULL; + Evas_Colorspace ec = EVAS_COLORSPACE_ARGB8888; + char *image_raw_data = NULL; + int image_width = 0; + int image_height = 0; + int r = 0; + int g = 0; + int b = 0; + int a = 0; + + if(!s_info.bg) + return; + + ec = evas_object_image_colorspace_get(s_info.bg); + + if(ec != EVAS_COLORSPACE_ARGB8888) + return; + + image_raw_data = evas_object_image_data_get(s_info.bg, EINA_FALSE); + if(!image_raw_data) + return; + + evas_object_image_size_get(s_info.bg, &image_width, &image_height); + if(image_width == 0 || image_height == 0) + return; + + if(!s_info.gradient_bg) + s_info.gradient_bg = evas_object_rectangle_add(evas_object_evas_get(s_info.win)); + + if(!s_info.gradient_bg) + return; + + evas_object_resize(s_info.gradient_bg, s_info.root_width, s_info.root_height); + + m = evas_map_new(4); + if(!m) + return; + + evas_map_util_points_populate_from_object(m, s_info.gradient_bg); + + r = image_raw_data[2] & 0xff; + g = image_raw_data[1] & 0xff; + b = image_raw_data[0] & 0xff; + a = image_raw_data[3] & 0xff; + evas_map_point_color_set(m, 0, r, g, b, a); + + r = image_raw_data[4*image_width -4 + 2] & 0xff; + g = image_raw_data[4*image_width -4 + 1] & 0xff; + b = image_raw_data[4*image_width -4 + 0] & 0xff; + a = image_raw_data[4*image_width -4 + 3] & 0xff; + evas_map_point_color_set(m, 1, r, g, b, a); + + r = image_raw_data[4*image_width -4 + (image_height-1)*4*image_width + 2] & 0xff; + g = image_raw_data[4*image_width -4 + (image_height-1)*4*image_width + 1] & 0xff; + b = image_raw_data[4*image_width -4 + (image_height-1)*4*image_width + 0] & 0xff; + a = image_raw_data[4*image_width -4 + (image_height-1)*4*image_width + 3] & 0xff; + evas_map_point_color_set(m, 2, r, g, b, a); + + r = image_raw_data[(image_height-1)*4*image_width + 2] & 0xff; + g = image_raw_data[(image_height-1)*4*image_width + 1] & 0xff; + b = image_raw_data[(image_height-1)*4*image_width + 0] & 0xff; + a = image_raw_data[(image_height-1)*4*image_width + 3] & 0xff; + evas_map_point_color_set(m, 3, r, g, b, a); + + evas_object_map_set(s_info.gradient_bg, m); + evas_object_map_enable_set(s_info.gradient_bg, EINA_TRUE); + evas_map_free(m); +#endif +} + +static void __homescreen_efl_show_gradient_bg(void) +{ +#ifdef HOME_HOME_SCREEN_GRADIENT_ENABLED + if(s_info.gradient_bg) { + evas_object_hide(s_info.bg); + elm_win_resize_object_del(s_info.win, s_info.bg); + elm_win_resize_object_add(s_info.win, s_info.gradient_bg); + evas_object_show(s_info.gradient_bg); + evas_object_raise(s_info.layout); + } +#endif +} + +static void __homescreen_efl_show_normal_bg(void) +{ +#ifdef HOME_HOME_SCREEN_GRADIENT_ENABLED + evas_object_hide(s_info.gradient_bg); + elm_win_resize_object_del(s_info.win, s_info.gradient_bg); + elm_win_resize_object_add(s_info.win, s_info.bg); + evas_object_show(s_info.bg); + evas_object_raise(s_info.layout); +#endif +} + +static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data) +{ + data_model_iterate(NULL, __homescreen_efl_update_icon_label, NULL); +} + +static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data) +{ + /*APP_EVENT_DEVICE_ORIENTATION_CHANGED*/ +} + +static void __homescreen_efl_region_changed_cb(app_event_info_h event_info, void *user_data) +{ + /*APP_EVENT_REGION_FORMAT_CHANGED*/ +} + +static void __homescreen_efl_low_battery_cb(app_event_info_h event_info, void *user_data) +{ + /*APP_EVENT_LOW_BATTERY*/ +} + +static void __homescreen_efl_low_memory_cb(app_event_info_h event_info, void *user_data) +{ + /*APP_EVENT_LOW_MEMORY*/ +} + +static void __homescreen_efl_get_window_size(Evas_Object *win) +{ + elm_win_screen_size_get(win, NULL, NULL, &s_info.root_width, &s_info.root_height); + dlog_print(DLOG_DEBUG, LOG_TAG, "Width: [%d], Height: [%d]", s_info.root_width, s_info.root_height); +} + +static void __homescreen_efl_home_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + homescreen_view_t view_t = home_screen_get_view_type(); + + if (view_t == HOMESCREEN_VIEW_HOME) { + home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS); + } else if (view_t == HOMESCREEN_VIEW_ALL_APPS) { + home_screen_set_view_type(HOMESCREEN_VIEW_HOME); + } +} + +static void __homescreen_efl_menu_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + homescreen_view_t view = home_screen_get_view_type(); + + switch (view) { + case HOMESCREEN_VIEW_HOME: + case HOMESCREEN_VIEW_ALL_APPS: + option_menu_show(); + break; + default: + break; + } +} + +/*==================== MVC Controller functions implementation: ===================*/ + +/*TODO: code convention!*/ +void home_screen_mvc_item_uninstall_cb(Tree_node_t *item) +{ + if (!item || !item->data) + return; + + if (item->data->type == APP_ITEM_ICON) { + app_mgr_uninstall_app(item->data->appid); + data_model_uninstall_application(item); + } else {/*folder item type:*/ + data_model_delete_folder(item); + } + + /*by default model is being sorted:*/ + data_model_sort(NULL); + data_model_free_empty_pages(NULL); + __homescreen_efl_apply_data_model_to_view(); + all_apps_remove_empty_pages(); +} + +void home_screen_mvc_update_view(void) +{ + data_model_sort(NULL); + __homescreen_efl_apply_data_model_to_view(); +} + +void home_screen_mvc_drag_item_to_folder_cb(Tree_node_t *dragged_item, Tree_node_t *folder) +{ + if (dragged_item && folder) { + if (!folder->last) + data_model_append_node_to_folder(folder, dragged_item); /*there were no pages in folder*/ + else + data_model_reposition_item(dragged_item, folder->last, folder->last->last, REPOSITION_SIDE_TO_RIGHT, FOLDER_APPS_PAGE); + + /*for now model is always sorted:*/ + data_model_sort(NULL); + data_model_free_empty_pages(NULL); + __homescreen_efl_apply_data_model_to_view(); + all_apps_remove_empty_pages(); + } +} + +/*TODO:All mvc funcitons will be moved to separeted file.*/ +void home_screen_mvc_drag_item_from_folder_cb(void) +{ + __homescreen_efl_apply_data_model_to_view(); +} + +static void __homescreen_efl_activate_chooser_caption(void) +{ + data_model_check_all_apps(data_model_get_all_apps(), false); + elm_layout_signal_emit(s_info.layout, SIGNAL_CHOOSER_CAPTION_ACTIVATE, SIGNAL_SOURCE); + elm_win_indicator_mode_set(s_info.win, ELM_WIN_INDICATOR_HIDE); +} + +static void __homescreen_efl_deactivate_chooser_caption(void) +{ + elm_layout_signal_emit(s_info.layout, SIGNAL_CHOOSER_CAPTION_DEACTIVATE, SIGNAL_SOURCE); + elm_win_indicator_mode_set(s_info.win, ELM_WIN_INDICATOR_SHOW); +} + +static bool __homescreen_efl_free_grid_item(Tree_node_t *page, Tree_node_t *item, void *data) +{ + if (!item->data || !item->data->grid_item) { + LOGE("__homescreen_efl_free_grid_item, skipping: %d %d", item->data, item->data ? item->data->type : -1); + return true; + } + + if (!item->data->layout) + LOGD("__homescreen_efl_free_grid_item, %s item->data->layout == NULL", item->data->label); + + all_apps_detach_from_grid(item->data->grid_item); + item->data->grid_item = NULL; + evas_object_hide(item->data->layout); + + return true; +} + +static bool __homescreen_efl_increment_page(Tree_node_t *parent, Tree_node_t *item, void *data) +{ + (*((int *)data))++; + + return true; +} + +static bool __homescreen_efl_attach_all_apps_grid_item(Tree_node_t *page, Tree_node_t *item, void *data) +{ + if (!item->data) { + LOGE("__homescreen_efl_attach_all_apps_grid_item, skipping: %d", item->data); + return true; + } + + item->data->grid_item = all_apps_attach_to_grid(item->data->layout, *(int *)data); + + if (!item->data->grid_item) { + /*failed to attach item - there is no room in page scroller + so we have to add another page. This problem does not concern folders.*/ + + if (!all_apps_append_page(page)) + LOGE("Could not create page for item: %s", item->data->label); + } + + app_icon_set_view_mode(item->data->layout, home_screen_get_view_type(), false); + + return true; +} + +static bool _folder_grid_item_att(Tree_node_t *page, Tree_node_t *item, void *data) +{ + if (!item->data || !page->parent || !page->parent->data || + page->parent->data->type != APP_ITEM_FOLDER || + folder_panel_get_opened_folder_item() != page->parent->data) { + LOGE("_folder_grid_item_att, skipping: %s dest_folder: %d", item->data ? item->data->appid : NULL); + return true; + } + + item->data->grid_item = folder_panel_attach_to_grid(item->data->layout, ((app_item_t *)page->parent->data)->data); + + return true; +} + +static bool _folder_data_model_to_view_apply_cb(Tree_node_t *page, Tree_node_t *item, void *data) +{ + if (!item->data || item->data->type != APP_ITEM_FOLDER) + return true; + + data_model_iterate_pages(item, NULL, __homescreen_efl_free_grid_item, NULL); + data_model_iterate_pages(item, NULL, _folder_grid_item_att, NULL); + app_icon_update_folder_icon(item); + return true; +} + +static void __homescreen_efl_apply_data_model_to_view(void) +{ + int page_counter = -1; + Tree_node_t *apps_root = data_model_get_all_apps(); + + if (!apps_root || !apps_root->data || apps_root->data->type != APP_ITEM_ALL_APPS_ROOT) { + LOGE("Can't apply view [apps root]: %d %d", apps_root, apps_root ? apps_root->data : NULL); + return; + } + + mvc_badge_refresh_enable = false; + + data_model_iterate_pages(NULL, NULL, __homescreen_efl_free_grid_item, NULL); + data_model_iterate_pages(NULL, NULL, _folder_data_model_to_view_apply_cb, NULL); + data_model_iterate_pages(NULL, __homescreen_efl_increment_page, __homescreen_efl_attach_all_apps_grid_item, &page_counter); + all_apps_update_dynamic_index_count(); + + mvc_badge_refresh_enable = true; + + __badge_change_cb(0, NULL, 0, NULL); +} + +static bool _checked_items_get(Tree_node_t *root, Tree_node_t *item, void *list) +{ + Eina_List **checked_items_list = (Eina_List **)list; + + if (item->data && item->data->is_checked) { + *checked_items_list = eina_list_append(*checked_items_list, item); + item->data->is_checked = false; + } + + return true; +} + +static void __homescreen_efl_chooser_caption_done_button_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + /*Folder creation/modification:*/ + app_item_t *destination_folder_data = NULL; + Eina_List *iterator = NULL, *checked_items_list = NULL; + Tree_node_t *item = NULL; + Tree_node_t *destination_folder = folder_panel_get_opened_folder_node(); + + if (!destination_folder) { + destination_folder_data = app_item_create(APP_ITEM_FOLDER, -1, "", NULL, NULL, NULL, NULL, true, 0, 0, 0, 0, NULL); + + if (!destination_folder_data) { + LOGE("caption_done_button_cb: failed to create destination_folder_data"); + return; + } + + destination_folder = data_model_create_folder(destination_folder_data); + + if (!destination_folder) { + LOGE("caption_done_button_cb: failed to create destination_folder"); + folder_panel_cancel_add_icon(); + folder_panel_set_click_ignore_state(false); + app_item_free(destination_folder_data); + return; + } + folder_panel_create(destination_folder); + } + + /*all checked items should be added to the folder:*/ + data_model_iterate(NULL, _checked_items_get, &checked_items_list); + + EINA_LIST_FOREACH(checked_items_list, iterator, item) + data_model_append_node_to_folder(destination_folder, item); + + eina_list_free(checked_items_list); + /*for now they are always sorted:*/ + data_model_sort(NULL); + + folder_panel_cancel_add_icon(); + folder_panel_set_click_ignore_state(false); + + data_model_free_empty_pages(NULL); + home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS); + __homescreen_efl_apply_data_model_to_view(); + all_apps_remove_empty_pages(); +} + +static void __homescreen_efl_chooser_caption_cancel_button_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + folder_panel_cancel_add_icon(); + folder_panel_set_click_ignore_state(false); + data_model_check_all_apps(data_model_get_all_apps(), false); + home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS); +} + +static void __homescreen_efl_show_all_apps(void) +{ + livebox_panel_unset_content(s_info.layout); + all_apps_show(); + + if (!s_info.all_apps) + s_info.all_apps = all_apps_create(s_info.layout, NULL); + + elm_object_part_content_unset(s_info.layout, PART_CONTENT); + + evas_object_hide(s_info.all_apps); + evas_object_move(s_info.all_apps, 0, s_info.root_height); + + elm_object_signal_emit(s_info.layout, SIGNAL_BLOCK_EVENTS, SIGNAL_SOURCE); + app_icon_set_click_ignore(true); + + ecore_animator_timeline_add(APPS_SHOW_HIDE_ANIMATION_TIME, __homescreen_efl_show_all_apps_anim, NULL); +} + +static void __homescreen_efl_show_home_view(void) +{ + elm_object_part_content_unset(s_info.layout, PART_CONTENT); + all_apps_hide(); + elm_object_signal_emit(s_info.layout, SIGNAL_BOTTOM_BUTTONS_HOME_STATE_SET, SIGNAL_SOURCE); + + elm_object_signal_emit(s_info.layout, SIGNAL_BLOCK_EVENTS, SIGNAL_SOURCE); + app_icon_set_click_ignore(true); + + ecore_animator_timeline_add(APPS_SHOW_HIDE_ANIMATION_TIME, __homescreen_efl_show_home_anim, NULL); +} + +static bool __update_all_badges_count(Tree_node_t *parent, Tree_node_t *node, void *data) +{ + app_item_t *item = NULL; + + if (node) { + item = node->data; + __homescreen_efl_badge_count_update_cb(item); + } + + return true; +} + +static void __badge_change_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data) +{ + data_model_iterate(NULL, __update_all_badges_count, NULL); +} + +static bool __homescreen_efl_update_icon_badge(Tree_node_t *parent, Tree_node_t *node, void *data) +{ + app_item_t *app = (app_item_t *)data; + + if (!folder_count_pending && app != node->data) + return true; + + if (!folder_count_pending && app == node->data) { + folder_count_pending = true; + data_model_iterate(node, __homescreen_efl_update_icon_badge, app); + folder_count_pending = false; + } + + if (folder_count_pending && node->data->type == APP_ITEM_ICON) + folder_badge_counter += node->data->badge_count; + + if (!folder_count_pending && app == node->data) + return false; + + return true; +} + +static void __homescreen_efl_badge_count_update_cb(void *app_item) +{ + app_item_t *app = (app_item_t *)app_item; + + if (!mvc_badge_refresh_enable) + return; + + if (!app) { + LOGE("badge_count_update_cb: app_item is NULL"); + return; + } + + if (app->type == APP_ITEM_ICON && !app_mgr_app_get_badge_count(app->appid, &app->badge_count)) { + LOGE("badge_count_update_cb: get_badge_count returned error"); + return; + } + + if (app->type == APP_ITEM_FOLDER) { + folder_count_pending = false; + folder_badge_counter = 0; + data_model_iterate(NULL, __homescreen_efl_update_icon_badge, app); + app->badge_count = folder_badge_counter; + } + + app_icon_show_badge(app->layout, app->badge_count); +} + +static void __homescreen_efl_home_bg_changed_cb(system_settings_key_e key, void *data) +{ + char *buf = NULL; + int ret = -1; + + if (!s_info.bg) { + LOGE("[FAILED][bg=NULL]"); + return; + } + + ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf); + if (!buf || ret != SYSTEM_SETTINGS_ERROR_NONE) { + LOGE("[FAILED][failed to get bg path]"); + return; + } + + evas_object_image_file_set(s_info.bg, buf, "bg"); + free(buf); + + __homescreen_efl_make_gradient_bg(); +} + +static void __homescreen_efl_apply_home_bg_effect(bool is_on) +{ + #ifndef HOME_HOME_SCREEN_BLUR_ENABLED + return; + #endif + char *buf = NULL; + + /*source data and destination data (pixel values)*/ + uint32_t *src = NULL, *dst = NULL; + + /*values of channels in each pixel*/ + uint32_t A = 0, R = 0, G = 0, B = 0; + + /*helper variables*/ + uint32_t *s = NULL, *d = NULL, w = 0, p = 0; + + int width = -1, height = -1; + + /*iterators*/ + int i = 0, j = 0, k = 0; + + /*kernel used for transform the image*/ + uint8_t kernel[25]; + const int size = COUNT_OF(kernel); + const int half = size / 2; + + if (!s_info.bg) { + LOGE("[FAILED][bg=NULL]"); + return; + } + + /*if is_on == false, then restore original image data*/ + if (!is_on) { + /*restore original data and return;*/ + system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf); + if (!buf) { + LOGE("[FAILED][failed to get bg path]"); + return; + } + + evas_object_image_file_set(s_info.bg, buf, "bg"); + free(buf); + s_info.is_bg_blurred = false; + return; + } + + evas_object_image_size_get(s_info.bg, &width, &height); + src = evas_object_image_data_get(s_info.bg, EINA_TRUE); + + /*if image is already blurred then we should not perform once again*/ + if (s_info.is_bg_blurred) + return; + + dst = (uint32_t *) alloca(sizeof(uint32_t) * width * height); + if (!dst) { + LOGE("[FAILED][dst=NULL]"); + return; + } + + /*Fill the kernel*/ + w = 0; + for (i = 0; i < size; i++) { + double f = i - half; + w += kernel[i] = exp(-f * f / 60.0) * 40; + } + + /*Apply modifications from src - > dst*/ + for (i = 0; i < height; i++) { + s = (uint32_t *) (src + i * width); + d = (uint32_t *) (dst + i * width); + + for (j = 0; j < width; j++) { + A = R = G = B = 0; + for (k = 0; k < size; k++) { + if (j - half + k < 0 || j - half + k >= width) { + d[j] = s[j]; + continue; + } + + p = s[j - half + k]; + + A = (p & 0xff000000); + R += ((p >> 16) & 0xff) * kernel[k]; + G += ((p >> 8) & 0xff) * kernel[k]; + B += ((p >> 0) & 0xff) * kernel[k]; + } + d[j] = A | (((uint32_t)(R / w)) << 16) | (((uint32_t)(G / w)) << 8) | ((uint32_t)(B / w)); + } + } + + /*Apply modification from dst -> srcs*/ + for (i = 0; i < height; i++) { + s = (uint32_t *) (dst + i * width); + d = (uint32_t *) (src + i * width); + for (j = 0; j < width; j++) { + A = R = G = B = 0; + for (k = 0; k < size; k++) { + if (i - half + k < 0 || i - half + k >= height) { + d[j] = s[j]; + continue; + } + + s = (uint32_t *) (dst + (i - half + k) * width); + p = s[j]; + + A = (p & 0xff000000); + R += ((p >> 16) & 0xff) * kernel[k]; + G += ((p >> 8) & 0xff) * kernel[k]; + B += ((p >> 0) & 0xff) * kernel[k]; + } + d[j] = A | (((uint32_t)(R / w)) << 16) | (((uint32_t)(G / w)) << 8) | ((uint32_t)(B / w)); + } + } + + s_info.is_bg_blurred = true; + evas_object_image_data_update_add(s_info.bg, 0, 0, width, height); +} + +static Eina_Bool __homescreen_efl_show_all_apps_anim(void *data, double pos) +{ + Evas_Object *box = elm_object_content_get(s_info.all_apps); + + evas_object_show(s_info.all_apps); + evas_object_move(s_info.all_apps, 0, (1.0 - pos) * ALL_APPS_ANIMATION_DELTA_Y); + evas_object_move(s_info.home, 0, -pos * ALL_APPS_ANIMATION_HOME_DELTA_Y); + + evas_object_color_set(box, 255, 255, 255, pos*(double)255); + + if (pos >= 1.0) { + elm_object_part_content_set(s_info.layout, PART_CONTENT, s_info.all_apps); + all_apps_show(); + elm_object_signal_emit(s_info.layout, SIGNAL_UNBLOCK_EVENTS, SIGNAL_SOURCE); + return ECORE_CALLBACK_DONE; + } + + return ECORE_CALLBACK_RENEW; +} + +static Eina_Bool __homescreen_efl_show_home_anim(void *data, double pos) +{ + Evas_Object *box = elm_object_content_get(s_info.all_apps); + + evas_object_move(s_info.all_apps, 0, pos * ALL_APPS_ANIMATION_DELTA_Y); + evas_object_move(s_info.home, 0, -(1.0 - pos ) * ALL_APPS_ANIMATION_HOME_DELTA_Y); + + evas_object_color_set(box, 255, 255, 255, (1.0 - pos * 2.0)*(double)255); + + if (pos >= 1.0) { + if (s_info.layout && elm_object_part_content_get(s_info.layout, PART_CONTENT) == NULL && s_info.home) { + elm_object_part_content_set(s_info.layout, PART_CONTENT, s_info.home); + livebox_panel_set_content(s_info.layout); + } + + elm_object_signal_emit(s_info.layout, SIGNAL_UNBLOCK_EVENTS, SIGNAL_SOURCE); + return ECORE_CALLBACK_DONE; + } + + return ECORE_CALLBACK_RENEW; +} diff --git a/src/key.c b/src/key.c new file mode 100644 index 0000000..ff40f72 --- /dev/null +++ b/src/key.c @@ -0,0 +1,174 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "option_menu.h" +#include "livebox/livebox_panel.h" +#include "livebox_all_pages.h" +#include "folder_panel.h" +#include "popup.h" +#include "util.h" + +static Eina_Bool __key_release_cb(void *data, int type, void *event); +static Eina_Bool __key_press_cb(void *data, int type, void *event); + + +static struct { + Eina_Bool pressed; + Ecore_Event_Handler *press_handler; + Ecore_Event_Handler *release_handler; + Eina_Bool register_handler; +} key_info_s = { + .pressed = EINA_FALSE, + .press_handler = NULL, + .release_handler = NULL, + .register_handler = EINA_FALSE +}; + + +HAPI void key_register(void) +{ + if (!key_info_s.release_handler) { + key_info_s.release_handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, __key_release_cb, NULL); + if (!key_info_s.release_handler) + LOGE("Failed to register a key up event handler"); + } + + if (!key_info_s.press_handler) { + key_info_s.press_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __key_press_cb, NULL); + if (!key_info_s.press_handler) + LOGE("Failed to register a key down event handler"); + } + + key_info_s.pressed = EINA_FALSE; + key_info_s.register_handler = EINA_TRUE; +} + + +HAPI void key_unregister(void) +{ + if (key_info_s.release_handler) { + ecore_event_handler_del(key_info_s.release_handler); + key_info_s.release_handler = NULL; + } + + if (key_info_s.press_handler) { + ecore_event_handler_del(key_info_s.press_handler); + key_info_s.press_handler = NULL; + } + + key_info_s.register_handler = EINA_FALSE; +} + + +static Eina_Bool __key_press_cb(void *data, int type, void *event) +{ + Evas_Event_Key_Down *ev = event; + + if (!key_info_s.register_handler || !ev) + return ECORE_CALLBACK_RENEW; + + key_info_s.pressed = EINA_TRUE; + + return ECORE_CALLBACK_RENEW; +} + + +static Eina_Bool __key_release_cb(void *data, int type, void *event) +{ + Evas_Event_Key_Up *ev = event; + + if (!key_info_s.register_handler || !ev) + return ECORE_CALLBACK_RENEW; + + LOGD("Key(%s) released %d", ev->keyname, key_info_s.pressed); + + if (key_info_s.pressed == EINA_FALSE) + return ECORE_CALLBACK_RENEW; + + if (!strcmp(ev->keyname, KEY_MENU)) { + LOGD("Menu pressed"); + option_menu_change_state_on_hw_menu_key(); + + return ECORE_CALLBACK_RENEW; + } + + /*TODO: Keyname to key menu and key home are the same, so this code is doesn't execute*/ + if (!strcmp(ev->keyname, KEY_HOME)) { + LOGD("Home pressed"); + home_screen_set_view_type(HOMESCREEN_VIEW_HOME); + + return ECORE_CALLBACK_RENEW; + } + + if (!strcmp(ev->keyname, KEY_BACK)) { + homescreen_view_t view_t = home_screen_get_view_type(); + + option_menu_hide(); + if (popup_destroy()) { + /*we need to close only popup if it is visible. Dont change the view type.*/ + return ECORE_CALLBACK_RENEW; + } + + if (folder_panel_is_folder_visible()) { + folder_panel_close_folder(); + return ECORE_CALLBACK_RENEW; + } + + switch (view_t) { + case HOMESCREEN_VIEW_HOME: + break; + case HOMESCREEN_VIEW_HOME_EDIT: + home_screen_set_view_type(HOMESCREEN_VIEW_HOME); + /*TODO: option menu should not have any info about livebox panel. This logic should be invoked in homescreen-efl.c*/ + livebox_panel_set_edit_mode_layout(false); + livebox_panel_change_edit_mode_state(true); + break; + case HOMESCREEN_VIEW_HOME_ALL_PAGES: + /*TODO: this should be invoked in homescreen-efl.c*/ + livebox_all_pages_hide(); + home_screen_set_view_type(HOMESCREEN_VIEW_HOME); + break; + case HOMESCREEN_VIEW_ALL_APPS: + home_screen_set_view_type(HOMESCREEN_VIEW_HOME); + break; + case HOMESCREEN_VIEW_ALL_APPS_CHOOSE: + folder_panel_cancel_add_icon(); + folder_panel_set_click_ignore_state(false); + case HOMESCREEN_VIEW_ALL_APPS_EDIT: + home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS); + break; + case HOMESCREEN_VIEW_UNKNOWN: + break; + default: + break; + } + } + + if (!strcmp(ev->keyname, KEY_RETURN)) + folder_panel_hide_input_panel(); + + + key_info_s.pressed = EINA_FALSE; + + return ECORE_CALLBACK_RENEW; +} + + diff --git a/src/layout.c b/src/layout.c new file mode 100644 index 0000000..e3c9f6c --- /dev/null +++ b/src/layout.c @@ -0,0 +1,41 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "layout.h" +#include "conf.h" +#include "util.h" + + +HAPI void layout_main_caption_set_menu_texts(const char *label_text, + const char *left_text, const char *right_text) +{ + Evas_Object *layout = home_screen_get_layout(); + + if (!layout) + return; + + if (label_text) + elm_layout_text_set(layout, PART_CAPTION_MENU_CENTER_LABEL_NAME, label_text); + + if (left_text) + elm_layout_text_set(layout, PART_CAPTION_MENU_LEFT_LABEL, left_text); + + if (right_text) + elm_layout_text_set(layout, PART_CAPTION_MENU_RIGHT_LABEL, right_text); +} diff --git a/src/livebox/grid_item_resize.c b/src/livebox/grid_item_resize.c new file mode 100644 index 0000000..c923c4b --- /dev/null +++ b/src/livebox/grid_item_resize.c @@ -0,0 +1,667 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "livebox/grid_item_resize.h" +#include "homescreen-efl.h" +#include "layout.h" +#include "livebox/livebox_panel.h" +#include "livebox/livebox_widget.h" +#include "page_scroller.h" +#include "conf.h" +#include "data_model.h" + +typedef enum { + GRID_RESIZE_LEFT, + GRID_RESIZE_RIGHT, + GRID_RESIZE_UP, + GRID_RESIZE_DOWN, +} gird_item_resize_dir_t; + +static struct { + int x_at_drag_start; + int y_at_drag_start; + int w_at_drag_start; + int h_at_drag_start; + Eina_Bool is_resizing; +} s_info = { + .x_at_drag_start = 0, + .y_at_drag_start = 0, + .w_at_drag_start = 0, + .h_at_drag_start = 0, + .is_resizing = false +}; + +static void __gird_item_resize_button_pressed_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); +static int __grid_item_resize_drag_pos_get(Evas_Object *obj, const char *part, + Eina_Bool is_horizontal); +static void __grid_item_resize_finalize(Evas_Object *obj); +static Eina_Bool __grid_item_resize_get_available_sizes(Evas_Object *livebox, int w, int h); +static void __grid_item_resize_drag(Evas_Object *livebox, int new_x, int new_y, int new_w, + int new_h); +static void __grid_item_resize_drag_stop_cb(void *data, Evas_Object *obj, const char *emission, + const char *source); +static void __grid_item_resize_get_sliders_geometry(Evas_Object *page, int *out_x, + int *out_y, int *out_w, int *out_h); +static void __grid_item_resize_drag_cb(void *data, Evas_Object *obj, const char *emission, + const char *source); +static void __grid_item_resize_page_background_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); + +#ifdef LIVEBOX_RESIZE_ENABLED + static void __grid_item_resize_set_slider_pos(Evas_Object *page, const char *part, + int pos, Eina_Bool is_horizontal); +#endif + + +void grid_item_set_resize_livebox_sliders(Evas_Object *livebox, + Evas_Object *page) +{ +#ifdef LIVEBOX_RESIZE_ENABLED + Evas_Coord x = -1; + Evas_Coord y = -1; + Evas_Coord w = -1; + Evas_Coord h = -1; + + if (!page) { + LOGE("page == NULL"); + return; + } + + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + elm_grid_pack_get(livebox, &x, &y, &w, &h); + LOGD("LIVEBOX NEW POS: %d %d %d %d", x, y, w, h); + + __grid_item_resize_set_slider_pos(page, PART_RESIZE_BUTTON_UP, y, EINA_FALSE); + __grid_item_resize_set_slider_pos(page, PART_RESIZE_BUTTON_DOWN, y + h, EINA_FALSE); + __grid_item_resize_set_slider_pos(page, PART_RESIZE_BUTTON_LEFT, x, EINA_TRUE); + __grid_item_resize_set_slider_pos(page, PART_RESIZE_BUTTON_RIGHT, x + w, EINA_TRUE); + + elm_layout_signal_emit(page, SIGNAL_RESIZE_SLIDERS_SHOW, + SIGNAL_LIVEBOX_SOURCE); + +#endif +} + +bool grid_item_init_resize_callbacks(Evas_Object *livebox_container_scroller, + Evas_Object *livebox_container) +{ + Evas_Object *edje = NULL; + + if (!livebox_container_scroller) { + LOGE("livebox_container_scroller == NULL"); + return false; + } + + if (!livebox_container) { + LOGE("livebox_container == NULL"); + return false; + } + + edje = elm_layout_edje_get(livebox_container); + if (!edje) { + LOGE("edje == NULL"); + return false; + } + + edje_object_signal_callback_add(edje, SIGNAL_MOUSE_DOWN, + PART_RESIZE_BUTTON_DOWN, __gird_item_resize_button_pressed_cb, + livebox_container_scroller); + edje_object_signal_callback_add(edje, SIGNAL_MOUSE_DOWN, + PART_RESIZE_BUTTON_LEFT, __gird_item_resize_button_pressed_cb, + livebox_container_scroller); + edje_object_signal_callback_add(edje, SIGNAL_MOUSE_DOWN, + PART_RESIZE_BUTTON_UP, __gird_item_resize_button_pressed_cb, + livebox_container_scroller); + edje_object_signal_callback_add(edje, + SIGNAL_MOUSE_DOWN, PART_RESIZE_BUTTON_RIGHT, + __gird_item_resize_button_pressed_cb, livebox_container_scroller); + edje_object_part_drag_value_set(edje, + PART_RESIZE_BUTTON_DOWN, 0.0, 0.999); + edje_object_part_drag_value_set(edje, + PART_RESIZE_BUTTON_UP, 0.0, 0.001); + edje_object_signal_callback_add(edje, + SIGNAL_RESIZING, PART_RESIZE_BUTTON_DOWN, + __grid_item_resize_drag_cb, livebox_container); + edje_object_signal_callback_add(edje, + SIGNAL_RESIZE_END, PART_RESIZE_BUTTON_DOWN, + __grid_item_resize_drag_stop_cb, NULL); + edje_object_signal_callback_add(edje, SIGNAL_RESIZING, + PART_RESIZE_BUTTON_UP, __grid_item_resize_drag_cb, livebox_container); + edje_object_signal_callback_add(edje, + SIGNAL_RESIZE_END, PART_RESIZE_BUTTON_UP, __grid_item_resize_drag_stop_cb, NULL); + edje_object_part_drag_value_set(edje, + PART_RESIZE_BUTTON_LEFT, 0.001, 0.0); + edje_object_part_drag_value_set(edje, + PART_RESIZE_BUTTON_RIGHT, 0.999, 0.0); + edje_object_signal_callback_add(edje, + SIGNAL_RESIZING, PART_RESIZE_BUTTON_LEFT, __grid_item_resize_drag_cb, + livebox_container); + edje_object_signal_callback_add(edje, + SIGNAL_RESIZE_END, PART_RESIZE_BUTTON_LEFT, + __grid_item_resize_drag_stop_cb, NULL); + edje_object_signal_callback_add(edje, + SIGNAL_RESIZING, PART_RESIZE_BUTTON_RIGHT, + __grid_item_resize_drag_cb, livebox_container); + edje_object_signal_callback_add(edje, + SIGNAL_RESIZE_END, PART_RESIZE_BUTTON_RIGHT, + __grid_item_resize_drag_stop_cb, NULL); + + elm_layout_signal_callback_add(livebox_container, SIGNAL_CLICKED, + PART_PAGE_BG, __grid_item_resize_page_background_clicked_cb, NULL); + + return true; +} + +void grid_item_set_resize_sliders_visibility(Evas_Object *page, bool visible) +{ + if (!page) { + LOGE("page == NULL"); + return; + } + + if (visible) { + elm_object_signal_emit(page, SIGNAL_RESIZE_SLIDERS_SHOW, + SIGNAL_LIVEBOX_SOURCE); + } else { + elm_object_signal_emit(page, SIGNAL_RESIZE_SLIDERS_HIDE, + SIGNAL_LIVEBOX_SOURCE); + } +} + +static void __gird_item_resize_button_pressed_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + Evas_Object *livebox = NULL; + Evas_Object *livebox_scroller = NULL; + + if (!obj || !emission || !source) { + LOGE("Wrong arguments provided: %p %p %p", obj, + emission, source); + return; + } + + livebox_scroller = data; + if (!livebox_scroller) { + LOGE("livebox_scroller == NULL"); + return; + + } + + page_scroller_freeze(livebox_scroller); + + livebox = livebox_utils_selected_livebox_get(); + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + elm_grid_pack_get(livebox, &s_info.x_at_drag_start, + &s_info.y_at_drag_start, + &s_info.w_at_drag_start, + &s_info.h_at_drag_start); + + s_info.is_resizing = EINA_TRUE; + + LOGD("BUTTON PRESSED: %p !!! x = %d; y = %d; w = %d; h = %d", livebox, + s_info.x_at_drag_start, + s_info.y_at_drag_start, + s_info.w_at_drag_start, + s_info.h_at_drag_start); +} + +static int __grid_item_resize_drag_pos_get(Evas_Object *obj, const char *part, + Eina_Bool is_horizontal) +{ + double val; + int pos; + + if (!obj || !part) { + LOGE("Wrong arguments provided: %p %p", obj, part); + return -1; + } + + if (is_horizontal) { + edje_object_part_drag_value_get(obj, part, &val, NULL); + pos = (int)(val * LIVEBOX_GRID_COLUMNS); + } else { + edje_object_part_drag_value_get(obj, part, NULL, &val); + pos = (int)(val * LIVEBOX_GRID_ROWS); + } + + + LOGD("DRAG UP STOP: %f POS: %d", val, pos); + return pos; +} + + +static void __grid_item_resize_finalize(Evas_Object *obj) +{ + LOGD("Resize"); + Evas_Object *lb_scroller = NULL; + if (!obj) { + LOGE("o == NULL"); + return; + } + + edje_object_signal_emit(obj, SIGNAL_RESIZE_SLIDER_DRAG_OK, + SIGNAL_RESIZE_SLIDER_DRAG_OK); + + s_info.is_resizing = EINA_FALSE; + + lb_scroller = livebox_panel_get(); + if (!lb_scroller) { + LOGE("lb_scroller == NULL"); + return; + } + + page_scroller_unfreeze(lb_scroller); +} + +static Eina_Bool __grid_item_resize_get_available_sizes(Evas_Object *livebox, int w, int h) +{ + int cnt = 0; + int *size_list = NULL; + Evas_Object *widget = NULL; + int test_h = 0; + int test_w = 0; + int i = 0; + + if (!livebox) { + LOGE("livebox == NULL"); + return EINA_FALSE; + } + + widget = elm_layout_content_get(livebox, PART_LIVEBOX); + if (!widget) { + LOGE("widget == NULL"); + return EINA_FALSE; + } + + livebox_widget_get_size_available(widget, &cnt, &size_list); + + LOGD("Size count: %d", cnt); + + if (!size_list) { + LOGE("size_list == NULL"); + return EINA_FALSE; + } + + for (i = 0; i < cnt; ++i) { + livebox_widget_get_dimensions(size_list[i], &test_w, &test_h); + + if (w == test_w * LIVEBOX_GRID_ROWS_CELLS_MULTI && + h == test_h * LIVEBOX_GRID_ROWS_CELLS_MULTI) { + LOGD("RESIZE AVAILABLE SIZE FOUND: %d %d", + test_w, test_h); + free(size_list); + return EINA_TRUE; + } + } + + free(size_list); + return EINA_FALSE; +} + + +static void __grid_item_resize_drag(Evas_Object *livebox, + int new_x, int new_y, int new_w, int new_h) +{ + LOGD("resize2"); + Evas_Object *page = NULL; + Eina_Rectangle *rect = NULL; + Eina_List *list; + int out_x = -1, out_y = -1, out_w = -1, out_h = -1; + + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + page = livebox_utils_get_selected_livebox_layout(); + if (!page) { + LOGE("page == NULL"); + return; + } + + list = livebox_utils_get_liveboxes_on_page_list(page); + if (!list) { + LOGE("list == NULL"); + return; + + } + + __grid_item_resize_get_sliders_geometry(page, &out_x, &out_y, &out_w, &out_h); + rect = eina_rectangle_new(out_x, out_y, out_w, out_h); + + if (__grid_item_resize_get_available_sizes(livebox, new_w, new_h) && + !livebox_utils_check_rect_list_grid_interesction(rect, + livebox, list)) { + elm_grid_pack_set(livebox, new_x, new_y, new_w, new_h); + LOGD("RESIZE OK: %d %d %d %d", new_x, new_y, new_w, new_h); + } else { + elm_grid_pack_set(livebox, s_info.x_at_drag_start, + s_info.y_at_drag_start, + s_info.w_at_drag_start, + s_info.h_at_drag_start); + LOGD("RESIZE FAIL: %d %d %d %d; ", new_x, new_y, new_w, new_h); + } + + eina_rectangle_free(rect); +} + +static void _drag_size_new_get(gird_item_resize_dir_t dir, Evas_Object *livebox, + int pos, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) +{ + Evas_Coord x2, y2; + + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + if (!x || !y || !w || !h) { /*Other arguments can be NULL*/ + LOGE("Wrong arguments: x = %p; y = %p; w = %p; h = %p", + x, y, w, h); + return; + } + + elm_grid_pack_get(livebox, x, y, w, h); + + switch (dir) { + case GRID_RESIZE_LEFT: + x2 = *x + *w; + *w = x2 - (pos * LIVEBOX_GRID_ROWS_CELLS_MULTI); + *x = (pos * LIVEBOX_GRID_ROWS_CELLS_MULTI); + break; + case GRID_RESIZE_RIGHT: + *w = (pos - *x) * LIVEBOX_GRID_ROWS_CELLS_MULTI; + break; + case GRID_RESIZE_UP: + y2 = *y + *h; + *h = y2 - (pos * LIVEBOX_GRID_ROWS_CELLS_MULTI); + *y = (pos * LIVEBOX_GRID_ROWS_CELLS_MULTI); + break; + case GRID_RESIZE_DOWN: + *h = (pos - *y) * LIVEBOX_GRID_ROWS_CELLS_MULTI; + break; + } +} + +static void __grid_item_resize_drag_stop_cb(void *data, Evas_Object *obj, const char *emission, + const char *source) +{ + int pos = -1; + Evas_Coord x = -1; + Evas_Coord y = -1; + Evas_Coord w = -1; + Evas_Coord h = -1; + Evas_Object *livebox = NULL; + Tree_node_t *item_node = NULL; + gird_item_resize_dir_t resize_dir; + bool horizontal = false; + + + if (!obj || !emission || !source) { + LOGE("Wrong arguments provided: %p %p %p", + obj, emission, source); + return; + } + + livebox = livebox_utils_selected_livebox_get(); + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + __grid_item_resize_finalize(obj); + + if (!strncmp(PART_RESIZE_BUTTON_DOWN, source, + LIVEBOX_MAX_BUTTON_NAME_LENGTH)) { + horizontal = EINA_FALSE; + resize_dir = GRID_RESIZE_DOWN; + } else if (!strncmp(PART_RESIZE_BUTTON_UP, source, + LIVEBOX_MAX_BUTTON_NAME_LENGTH)) { + horizontal = EINA_FALSE; + resize_dir = GRID_RESIZE_UP; + } else if (!strncmp(PART_RESIZE_BUTTON_LEFT, source, + LIVEBOX_MAX_BUTTON_NAME_LENGTH)) { + horizontal = EINA_TRUE; + resize_dir = GRID_RESIZE_LEFT; + } else if (!strncmp(PART_RESIZE_BUTTON_RIGHT, source, + LIVEBOX_MAX_BUTTON_NAME_LENGTH)) { + horizontal = EINA_TRUE; + resize_dir = GRID_RESIZE_RIGHT; + } else { + LOGE("UNKNOWN PART"); + return; + } + + pos = __grid_item_resize_drag_pos_get(obj, source, horizontal); + _drag_size_new_get(resize_dir, livebox, pos, &x, &y, &w, &h); + + __grid_item_resize_drag(livebox, x, y, w, h); + elm_grid_pack_get(livebox, &x, &y, &w, &h); + + edje_object_part_drag_value_set(obj, PART_RESIZE_BUTTON_DOWN, 0, + (y + h) * LIVEBOX_RESIZE_POS_MULTI_ROWS); + + edje_object_part_drag_value_set(obj, PART_RESIZE_BUTTON_UP, 0, + (float) y * LIVEBOX_RESIZE_POS_MULTI_ROWS); + + edje_object_part_drag_value_set(obj, PART_RESIZE_BUTTON_LEFT, + (float) x * LIVEBOX_RESIZE_POS_MULTI_COLS, 0); + + edje_object_part_drag_value_set(obj, PART_RESIZE_BUTTON_RIGHT, + (float) (x + w) * LIVEBOX_RESIZE_POS_MULTI_COLS, 0); + + item_node = evas_object_data_get(livebox, KEY_ICON_DATA); + if (!item_node) { + LOGE("item_node == NULL"); + return; + } + + data_model_resize_widget(item_node, x, y, w, h); + home_screen_print_tree(); +} + +static void __grid_item_resize_get_sliders_geometry(Evas_Object *page, int *out_x, + int *out_y, int *out_w, int *out_h) +{ + Evas_Object *edje = elm_layout_edje_get(page); + Evas_Object *grid = NULL; + double val = 0; + + if (!edje) { + LOGE("edje == NULL"); + return; + } + + grid = edje_object_part_swallow_get(edje, SIGNAL_CONTENT_SOURCE); + if (!grid) { + LOGE("grid == NULL"); + return; + } + + if (!out_x || !out_y || !out_w || !out_h) { + LOGE("x = %p; y = %p; w = %p; h = %p", + out_x, out_y, out_w, out_h); + return; + } + + edje_object_part_drag_value_get(edje, PART_RESIZE_BUTTON_LEFT, + &val, NULL); + *out_x = round(val * LIVEBOX_TOTAL_COLUMNS); + + edje_object_part_drag_value_get(edje, PART_RESIZE_BUTTON_UP, + NULL, &val); + *out_y = round(val * LIVEBOX_TOTAL_ROWS); + + edje_object_part_drag_value_get(edje, PART_RESIZE_BUTTON_RIGHT, + &val, NULL); + *out_w = round(val * LIVEBOX_TOTAL_COLUMNS - *out_x); + + edje_object_part_drag_value_get(edje, PART_RESIZE_BUTTON_DOWN, + NULL, &val); + *out_h = round(val * LIVEBOX_TOTAL_ROWS - *out_y); +} + +static void __grid_item_resize_drag_cb(void *data, Evas_Object *obj, const char *emission, + const char *source) +{ + int pos = -1; + Evas_Coord x = -1; + Evas_Coord y = -1; + Evas_Coord w = -1; + Evas_Coord h = -1; + Evas_Object *livebox = NULL; + Eina_List *list = NULL; + Eina_Rectangle *rect; + int out_x = -1, out_y = -1, out_w = -1, out_h = -1; + + Evas_Object *page_container = data; + if (!page_container) { + LOGE("page_container == NULL"); + return; + } + + if (!obj || !emission || !source) { + LOGE("Wrong arguments provided: obj == %p; \ + emission == %p; source == %p", obj, emission, source); + return; + } + + livebox = livebox_utils_selected_livebox_get(); + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + list = livebox_utils_get_liveboxes_on_page_list(page_container); + if (!list) { + LOGE("list == NULL"); + return; + + } + + if (!strncmp(source, PART_RESIZE_BUTTON_DOWN, + LIVEBOX_MAX_BUTTON_NAME_LENGTH)) { + pos = __grid_item_resize_drag_pos_get(obj, source, EINA_FALSE); + _drag_size_new_get(GRID_RESIZE_DOWN, livebox, pos, + &x, &y, &w, &h); + + LOGD("pos = %d", pos); + } else if (!strncmp(source, PART_RESIZE_BUTTON_UP, + LIVEBOX_MAX_BUTTON_NAME_LENGTH)) { + pos = __grid_item_resize_drag_pos_get(obj, source, EINA_FALSE); + _drag_size_new_get(GRID_RESIZE_UP, livebox, + pos, &x, &y, &w, &h); + + LOGD("pos = %d", pos); + } else if (!strncmp(source, PART_RESIZE_BUTTON_LEFT, + LIVEBOX_MAX_BUTTON_NAME_LENGTH)) { + pos = __grid_item_resize_drag_pos_get(obj, source, EINA_TRUE); + _drag_size_new_get(GRID_RESIZE_LEFT, livebox, + pos, &x, &y, &w, &h); + } else if (!strncmp(source, PART_RESIZE_BUTTON_RIGHT, + LIVEBOX_MAX_BUTTON_NAME_LENGTH)) { + pos = __grid_item_resize_drag_pos_get(obj, source, EINA_TRUE); + _drag_size_new_get(GRID_RESIZE_RIGHT, livebox, + pos, &x, &y, &w, &h); + } else { + pos = 0; + } + + __grid_item_resize_get_sliders_geometry(page_container, &out_x, + &out_y, &out_w, &out_h); + rect = eina_rectangle_new(out_x, out_y, out_w, out_h); + + if (!__grid_item_resize_get_available_sizes(livebox, w, h) || + livebox_utils_check_rect_list_grid_interesction(rect, + livebox, list)) { + edje_object_signal_emit(obj, SIGNAL_RESIZE_SLIDER_DRAG_ERR, + SIGNAL_LIVEBOX_SOURCE); + } else { + edje_object_signal_emit(obj, SIGNAL_RESIZE_SLIDER_DRAG_OK, + SIGNAL_LIVEBOX_SOURCE); + } + + eina_rectangle_free(rect); +} + +#ifdef LIVEBOX_RESIZE_ENABLED +static void __grid_item_resize_set_slider_pos(Evas_Object *page, const char *part, + int pos, Eina_Bool is_horizontal) +{ + Evas_Object *edje = NULL; + + if (!page) { + LOGE("page == NULL"); + return; + } + + edje = elm_layout_edje_get(page); + if (!edje) { + LOGE("page == NULL"); + return; + } + + if (!part) { + LOGE("part == NULL"); + return; + } + + if (is_horizontal) { + if (pos < 0 || pos > LIVEBOX_TOTAL_COLUMNS) { + LOGE("Wrong value of pos = %d", pos); + return; + } + + LOGD("NEW POS OF %s is %f", part, + (float)pos / LIVEBOX_TOTAL_COLUMNS); + edje_object_part_drag_value_set(edje, part, + (float)pos / LIVEBOX_TOTAL_COLUMNS, 0); + } else { + if (pos < 0 || pos > LIVEBOX_TOTAL_ROWS) { + LOGE("Wrong value of pos = %d", pos); + return; + } + + LOGD("NEW POS OF %s is %f", part, + (float)pos / LIVEBOX_TOTAL_ROWS); + edje_object_part_drag_value_set(edje, part, 0, + (float)pos / LIVEBOX_TOTAL_ROWS); + } +} +#endif + +static void __grid_item_resize_page_background_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + if (!obj) { + LOGE("obj == NULL"); + return; + } + + LOGD("Background clicked"); + elm_layout_signal_emit(obj, SIGNAL_RESIZE_SLIDERS_HIDE, + SIGNAL_LIVEBOX_SOURCE); +} + diff --git a/src/livebox/grid_reposition.c b/src/livebox/grid_reposition.c new file mode 100644 index 0000000..8a7e076 --- /dev/null +++ b/src/livebox/grid_reposition.c @@ -0,0 +1,681 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "livebox/grid_reposition.h" + +#include "homescreen-efl.h" +#include "livebox/livebox_utils.h" +#include "livebox/livebox_animator.h" +#include "livebox/livebox_panel.h" +#include "util.h" +#include "conf.h" +#include "data_model.h" + +typedef struct { + Evas_Object *obj; + Eina_Rectangle *pos_in_grid; +} Repositioned_Object_Data_t; + +static struct { + Evas_Object *repositioned_object; + Evas_Object *current_grid; + Evas_Object *origination_grid; + Repositioned_Object_Data_t repositioned_object_data; + Eina_List *repositioned_objects_in_grid; + Anim_Data_t *ad; + int offset_x; + int offset_y; + bool intersection_found; +} s_info = { + .repositioned_object = NULL, + .current_grid = NULL, + .origination_grid = NULL, + .repositioned_object_data = { + .obj = NULL, + .pos_in_grid = NULL + }, + .repositioned_objects_in_grid = NULL, + .ad = NULL, + .offset_x = 0, + .offset_y = 0, + .intersection_found = true +}; + +static void __grid_reposition_drop_anim_cb(Anim_Data_t **ad); +static bool __grid_reposition_check_grid_intersection(Evas_Object *moved_item, + Evas_Object *grid); +static bool __grid_reposition_check_item_intersection(Evas_Object *moved_item, + Evas_Object *grid_item); +static void __grid_reposition_save_item_start_data(Evas_Object *object); +static void __grid_reposition_make_space(void); +static void __grid_reposition_update_item_position(Eina_Rectangle *new_geometry); + +Evas_Object *grid_reposition_get_current_glrid(void) +{ + return s_info.current_grid; +} + +Evas_Object *grid_reposition_get_repositioned_item(void) +{ + return s_info.repositioned_object; +} + +void grid_reposition_init(Evas_Object *grid, Evas_Object *repositioned_item) +{ + int mx = -1; + int my = -1; + int ox = -1; + int oy = -1; + Evas *e = NULL; + + if (!grid) { + LOGE("grid == NULL"); + return; + } + + if (!repositioned_item) { + LOGE("repositioned_item == NULL"); + return; + } + + e = evas_object_evas_get(repositioned_item); + if (!e) { + LOGE("e == NULL"); + return; + } + + evas_pointer_canvas_xy_get(e, &mx, &my); + evas_object_geometry_get(repositioned_item, &ox, &oy, NULL, NULL); + + s_info.offset_x = mx - ox; + s_info.offset_y = my - oy; + + LOGD("MOUSE: (%d, %d); OFFSET: (%d, %d)", mx, my, s_info.offset_x, + s_info.offset_y); + + s_info.current_grid = s_info.origination_grid = grid; + s_info.repositioned_object = repositioned_item; + + __grid_reposition_save_item_start_data(repositioned_item); +} + +void grid_reposition_start(void) +{ + int mx = -1; + int my = -1; + Evas_Object *page = NULL; + Evas_Object *grid = NULL; + + int x = -1, y = -1, w = -1, h = -1; + + page = livebox_utils_get_selected_livebox_layout(); + if (!page) { + LOGE("page == NULL"); + return; + } + + grid = livebox_utils_get_livebox_container_grid(page); + if (!grid) { + LOGE("grid == NULL"); + return; + } + + + elm_grid_unpack(s_info.current_grid, s_info.repositioned_object); + evas_object_geometry_get(s_info.repositioned_object, &x, &y, &w, &h); + LOGD("Packing. Reposition start: %d; %d; %d; %d", x, y, w, h); + + livebox_utils_get_cursor_pos(&mx, &my); + grid_reposition_move(mx, my); + + livebox_utils_repack_grid_object(s_info.repositioned_object, + livebox_utils_get_shadow(), NULL, grid); +} + +void grid_reposition_move(int mouse_x, int mouse_y) +{ + if (!s_info.repositioned_object) { + LOGE("s_info.repositioned_object == NULL"); + return; + } + + if (!s_info.current_grid) { + LOGE("s_info.current_grid == NULL"); + return; + } + + evas_object_move(s_info.repositioned_object, + mouse_x - s_info.offset_x, mouse_y - s_info.offset_y); + s_info.intersection_found = + __grid_reposition_check_grid_intersection(s_info.repositioned_object, + s_info.current_grid); + + + if (livebox_panel_is_add_page_selected()) { + /*no intersection found but we can't drop on 'add page' page */ + s_info.intersection_found = true; + livebox_utils_set_shadow_visibility(false); + } else if (!s_info.intersection_found) { + /*no intersection found so we can show the shadow */ + livebox_utils_set_grid_object_pack(s_info.repositioned_object, + livebox_utils_get_shadow(), s_info.current_grid); + livebox_utils_set_shadow_visibility(true); + } else if (s_info.current_grid != s_info.origination_grid) { + /*intersection found and livebox was moved from diferent grid. + We can hide the shadow*/ + __grid_reposition_make_space(); + livebox_utils_set_shadow_visibility(false); + } else { + /* intersection found and livebox was moved from current grid. + We should display the shadow on the origination position */ + + __grid_reposition_make_space(); + elm_grid_pack_set(livebox_utils_get_shadow(), + s_info.repositioned_object_data.pos_in_grid->x, + s_info.repositioned_object_data.pos_in_grid->y, + s_info.repositioned_object_data.pos_in_grid->w, + s_info.repositioned_object_data.pos_in_grid->h); + + livebox_utils_set_shadow_visibility(true); + } +} + +void grid_reposition_end(void) +{ + Eina_Rectangle *start = NULL; + Eina_Rectangle *end = NULL; + int x = -1; + int y = -1; + int w = -1; + int h = -1; + Evas_Object *destination_grid = NULL; + + if (!s_info.repositioned_object) { + LOGE("s_info.repositioned_object == NULL"); + return; + } + + if (!s_info.current_grid) { + LOGE("s_info.current_grid == NULL"); + return; + } + + if (!s_info.origination_grid) { + LOGE("s_info.origination_grid == NULL"); + return; + } + + s_info.intersection_found = __grid_reposition_check_grid_intersection( + s_info.repositioned_object, s_info.current_grid); + + if (!s_info.intersection_found) { + livebox_utils_convert_size_to_grid_coord(s_info.repositioned_object, + s_info.current_grid, &x, &y, &w, &h); + livebox_utils_normalize_grid_pos(x, y, w, h, &x, &y); + destination_grid = s_info.current_grid; + } else { + x = s_info.repositioned_object_data.pos_in_grid->x; + y = s_info.repositioned_object_data.pos_in_grid->y; + w = s_info.repositioned_object_data.pos_in_grid->w; + h = s_info.repositioned_object_data.pos_in_grid->h; + destination_grid = s_info.origination_grid; + } + + start = livebox_utils_get_widget_rectangle(s_info.repositioned_object); + end = livebox_utils_convert_virtual_grid_geo_to_screen(destination_grid, + x, y, w, h); + + livebox_animator_play_geometry_set(s_info.repositioned_object, + LIVEBOX_REPOSITION_ANIM_TIME, + ECORE_POS_MAP_DECELERATE_FACTOR, 2, 0, + start, end, + __grid_reposition_drop_anim_cb, &s_info.ad); +} + +void grid_reposition_set_current_grid(Evas_Object *grid) +{ + if (grid == NULL) { + LOGE("grid == NULL"); + s_info.current_grid = s_info.origination_grid; + return; + } + + s_info.current_grid = grid; +} + +/* ================================== intersection check =====================*/ + +static Eina_Rectangle *_reposition_grid_item_pos_new_get( + Eina_Rectangle *grid_item, Eina_Rectangle *moved_item) +{ + int new_x = 0; + int new_y = 0; + + if (!grid_item) { + LOGE("grid_item == NULL"); + return NULL; + } + + if (!moved_item) { + LOGE("moved_item == NULL"); + return NULL; + } + + if (moved_item->y - grid_item->h >= 0) { + new_y = moved_item->y - grid_item->h; + } else { + new_y = moved_item->y + grid_item->h; + } + + if (new_y < 0 || new_y > LIVEBOX_TOTAL_ROWS) + return NULL; + + livebox_utils_normalize_grid_pos(grid_item->x, new_y, grid_item->w, + grid_item->h, &new_x, &new_y); + + return eina_rectangle_new(new_x, new_y, grid_item->w, grid_item->h); +} + +static bool _rectangle_containment_check(Eina_Rectangle *outer, + Eina_Rectangle *inner) +{ + if (!outer) { + LOGE("outer == NULL"); + return false; + } + + if (!inner) { + LOGE("inner == NULL"); + return false; + } + + if (inner->x >= outer->x && inner->y >= outer->y && + inner->x + inner->w <= outer->x + outer->w && + inner->y + inner->h <= outer->y + outer->h) { + LOGD("RECTANGLE: [%d, %d - %d, %d] is IN [%d, %d - %d, %d]", + inner->x, inner->y, inner->w, inner->h, + outer->x, outer->y, outer->w, outer->h); + + return true; + } else { + LOGD("RECTANGLE: [%d, %d - %d, %d] is NOT [%d, %d - %d, %d]", + inner->x, inner->y, inner->w, inner->h, + outer->x, outer->y, outer->w, outer->h); + + return false; + } +} + +static void __grid_reposition_make_space(void) +{ + Eina_Rectangle *repo_obj_rec = NULL; + Eina_Rectangle *grid_obj_rec = NULL; + Eina_Rectangle *grid_obj_new_pos = NULL; + Eina_List *items_in_grid = NULL; + Eina_List *l = NULL; + Evas_Object *obj = NULL; + int rx = -1, ry = -1, rw = -1, rh = -1; + bool contaiment = false; + bool intersection_in_grid = false; + bool can_space_make = false; + + if (!s_info.current_grid) { + LOGE("s_info_current_grid == NULL"); + return; + } + + if (!s_info.origination_grid) { + LOGE("s_info.origination_grid == NULL"); + return; + } + + items_in_grid = livebox_utils_get_liveboxes_on_gird( + s_info.current_grid); + if (!items_in_grid) { + LOGE("items_in_grid == NULL"); + return; + } + + livebox_utils_convert_size_to_grid_coord(s_info.repositioned_object, + s_info.current_grid, &rx, &ry, &rw, &rh); + livebox_utils_normalize_grid_pos(rx, ry, rw, rh, &rx, &ry); + + repo_obj_rec = eina_rectangle_new(rx, ry, rw, rh); + if (!repo_obj_rec) { + LOGE("repo_obj_rec == NULL"); + return; + } + + EINA_LIST_FOREACH(items_in_grid, l, obj) { + if (!obj) { + LOGE("obj == NULL"); + continue; + } + + grid_obj_rec = livebox_utils_get_grid_widget_rectangle(obj); + if (!grid_obj_rec) { + LOGE("grid_obj_rec == NULL"); + continue; + } + + contaiment = _rectangle_containment_check(grid_obj_rec, + repo_obj_rec); /*moved obj in grid obj*/ + + if (!contaiment) { + contaiment = _rectangle_containment_check(repo_obj_rec, + grid_obj_rec); /*grid obj in moved obj*/ + } + + if (contaiment) { + grid_obj_new_pos = _reposition_grid_item_pos_new_get( + grid_obj_rec, repo_obj_rec); + + if (grid_obj_new_pos && + !eina_rectangles_intersect(grid_obj_new_pos, + repo_obj_rec)) { + intersection_in_grid = + livebox_utils_check_rect_list_grid_interesction( + grid_obj_new_pos, obj, items_in_grid); + + /*TODO: This call is not required when we assume + that no livebox can be put side by side*/ + if (!intersection_in_grid) { + elm_grid_pack_set(obj, + grid_obj_new_pos->x, + grid_obj_new_pos->y, + grid_obj_new_pos->w, + grid_obj_new_pos->h); + can_space_make = true; + } else { + can_space_make = false; + eina_rectangle_free(grid_obj_new_pos); + eina_rectangle_free(grid_obj_rec); + break; + } + + eina_rectangle_free(grid_obj_new_pos); + } + } + + eina_rectangle_free(grid_obj_rec); + } + + if (can_space_make) + __grid_reposition_update_item_position(repo_obj_rec); + + eina_rectangle_free(repo_obj_rec); + eina_list_free(items_in_grid); +} + +static void __grid_reposition_save_item_start_data(Evas_Object *object) +{ + int x = -1, y = -1, w = -1, h = -1; + + if (!object) { + LOGE("object == NULL"); + return; + } + + s_info.repositioned_object_data.obj = object; + elm_grid_pack_get(object, &x, &y, &w, &h); + + s_info.repositioned_object_data.pos_in_grid = eina_rectangle_new(x, y, + w, h); +} + +static void __grid_reposition_update_item_position(Eina_Rectangle *new_geometry) +{ + if (!new_geometry) { + LOGE("new_geometry == NULL"); + return; + } + + if (!s_info.repositioned_object_data.pos_in_grid) { + LOGE("s_info.repositioned_object_data.pos_in_grid == NULL"); + return; + } + + s_info.repositioned_object_data.pos_in_grid->x = new_geometry->x; + s_info.repositioned_object_data.pos_in_grid->y = new_geometry->y; + s_info.repositioned_object_data.pos_in_grid->w = new_geometry->w; + s_info.repositioned_object_data.pos_in_grid->h = new_geometry->h; +} + +static bool __grid_reposition_check_grid_intersection(Evas_Object *moved_item, + Evas_Object *grid) +{ + Eina_List *grid_items = NULL; + Eina_List *l = NULL; + Evas_Object *grid_item = NULL; + + if (!moved_item) { + LOGE("moved_item == NULL"); + return false; + } + + if (!grid) { + LOGE("grid == NULL"); + return false; + } + + grid_items = livebox_utils_get_liveboxes_on_gird(grid); + if (!grid_items) { + LOGE("grid_items == NULL"); + return false; + } + + EINA_LIST_FOREACH(grid_items, l, grid_item) { + if (!grid_item) { + LOGE("item == NULL"); + continue; + } + + if (__grid_reposition_check_item_intersection(moved_item, + grid_item) == true) { + eina_list_free(grid_items); + return true; + } + } + + eina_list_free(grid_items); + return false; +} + +static Eina_Rectangle *_normalized_rectangle_get(Evas_Object *obj) +{ + int x = -1; + int y = -1; + int w = -1; + int h = -1; + Eina_Rectangle *rect = NULL; + + if (!s_info.current_grid) { + LOGE("s_info.current_grid == NULL"); + return NULL; + } + + if (!obj) { + LOGE("obj == NULL"); + return NULL; + } + + livebox_utils_convert_size_to_grid_coord(obj, s_info.current_grid, + &x, &y, &w, &h); + livebox_utils_normalize_grid_pos(x, y, w, h, &x, &y); + rect = livebox_utils_convert_virtual_grid_geo_to_screen(s_info.current_grid, + x, y, w, h); + + if (!rect) { + LOGE("rect == NULL"); + return NULL; + } + + return rect; +} + +static bool __grid_reposition_check_item_intersection(Evas_Object *moved_item, + Evas_Object *grid_item) +{ + Eina_Rectangle *moved_item_rec = NULL; + Eina_Rectangle *grid_item_rec = NULL; + bool ret = false; + + if (!moved_item) { + LOGE("moved_item == NULL"); + return false; + } + + if (!grid_item) { + LOGE("grid_item == NULL"); + return false; + } + + moved_item_rec = _normalized_rectangle_get(moved_item); + if (!moved_item_rec) { + LOGE("moved_item_rec == NULL"); + return false; + } + + grid_item_rec = livebox_utils_get_widget_rectangle(grid_item); + if (!grid_item_rec) { + LOGE("grid_item_rec == NULL"); + eina_rectangle_free(moved_item_rec); + return false; + } + + ret = eina_rectangle_intersection(moved_item_rec, grid_item_rec); + + eina_rectangle_free(moved_item_rec); + eina_rectangle_free(grid_item_rec); + + return ret; +} + +static void _grid_reposition_update_data_model(Evas_Object *page) +{ + Eina_List *items = NULL; + Tree_node_t *node = NULL; + Tree_node_t *page_node = NULL; + int x = 0, y = 0, w = 0, h = 0; + Eina_List *l; + Evas_Object *livebox; + + LOGI("DATA MODEL REPOSITION START"); + + elm_grid_pack_get(s_info.repositioned_object, &x, &y, &w, &h); + node = evas_object_data_get(s_info.repositioned_object, KEY_ICON_DATA); + if (!node) { + LOGE("node == NULL"); + return; + } + + page_node = evas_object_data_get(page, KEY_ICON_DATA); + if (!page_node) { + LOGE("obj_node == NULL"); + return; + } + + data_model_reposition_widget(page_node, node); + + items = livebox_utils_get_liveboxes_on_page_list(page); + if (!items) { + LOGD("items == NULL"); + return; + } + + EINA_LIST_FOREACH(items, l, livebox) { + if (!livebox) { + LOGE("livebox == NULL"); + continue; + } + + elm_grid_pack_get(livebox, &x, &y, &w, &h); + node = evas_object_data_get(livebox, KEY_ICON_DATA); + if (!node) { + LOGE("node == NULL"); + continue; + } + + data_model_resize_widget(node, x, y, w, h); + } + + home_screen_print_tree(); +} + +static void __grid_reposition_drop_anim_cb(Anim_Data_t **ad) +{ + Evas_Object *page = NULL; + + LOGI("DROP ANIM END"); + + if (!s_info.current_grid || !s_info.origination_grid || + !s_info.repositioned_object) { + LOGE("s_info.current_grid == %p; s_info.origination_grid == %p;\ + s_info.repositioned_object == %p", s_info.current_grid, + s_info.origination_grid, s_info.repositioned_object); + + s_info.repositioned_object = NULL; + s_info.current_grid = NULL; + livebox_animator_del_grid(ad); + s_info.intersection_found = false; + eina_rectangle_free( + s_info.repositioned_object_data.pos_in_grid); + } + + livebox_utils_repack_grid_object(NULL, livebox_utils_get_shadow(), + s_info.current_grid, NULL); + + if (!s_info.intersection_found) { + livebox_utils_repack_grid_object(s_info.repositioned_object, + s_info.repositioned_object, + NULL, + s_info.current_grid); + + page = livebox_scroller_get_page(); + } else { + elm_grid_pack(s_info.origination_grid, + s_info.repositioned_object, + s_info.repositioned_object_data.pos_in_grid->x, + s_info.repositioned_object_data.pos_in_grid->y, + s_info.repositioned_object_data.pos_in_grid->w, + s_info.repositioned_object_data.pos_in_grid->h); + + page = livebox_utils_get_prev_livebox_layout(); + } + + if (!page) { + LOGE("page == NULL"); + s_info.repositioned_object = NULL; + s_info.current_grid = NULL; + + livebox_animator_del_grid(ad); + s_info.intersection_found = false; + eina_rectangle_free( + s_info.repositioned_object_data.pos_in_grid); + return; + } + + _grid_reposition_update_data_model(page); + + s_info.repositioned_object = NULL; + s_info.current_grid = NULL; + + livebox_animator_del_grid(ad); + s_info.intersection_found = false; + eina_rectangle_free(s_info.repositioned_object_data.pos_in_grid); +} diff --git a/src/livebox/livebox_animator.c b/src/livebox/livebox_animator.c new file mode 100644 index 0000000..96fa58f --- /dev/null +++ b/src/livebox/livebox_animator.c @@ -0,0 +1,227 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "livebox/livebox_animator.h" +#include "util.h" +#include "livebox/livebox_panel.h" +#include "homescreen-efl.h" +#include "page_scroller.h" +#include "popup.h" + +#define FRAME (1.0/30.0) +#define FPS 30 + +static Eina_Bool __livebox_animator_set_grid_frame(void *data, double pos); +static Eina_Bool __livebox_animator_set_geometry_frame(void *data, double pos); +static void __livebox_animator_create(Evas_Object *obj, + float anim_time, + Ecore_Pos_Map map, float map_var_1, float map_var_2, + Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end, + Anim_Grid_End on_end, + Anim_Data_t **ad_out); + + +void livebox_animator_del_grid(Anim_Data_t **ad) +{ + if (!(*ad)) { + LOGE("(*ad) == NULL"); + return; + } + + (*ad)->on_end = NULL; + ecore_animator_del((*ad)->animator); + (*ad)->animator = NULL; + (*ad)->anim_is_running = false; + eina_rectangle_free((*ad)->geometry_start); + eina_rectangle_free((*ad)->geometry_end); + free((*ad)); + + (*ad) = NULL; +} + +void livebox_animator_play_grid_pack_set(Evas_Object *obj, + float anim_time, + Ecore_Pos_Map map, float map_var_1, float map_var_2, + Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end, + Anim_Grid_End on_end, + Anim_Data_t **ad_out) +{ + __livebox_animator_create(obj, anim_time, map, map_var_1, map_var_2, + geometry_start, geometry_end, on_end, ad_out); + + if (!(*ad_out)) { + LOGE("Failed to create animation"); + return; + } + + (*ad_out)->animator = ecore_animator_timeline_add(anim_time, + __livebox_animator_set_grid_frame, ad_out); + + if (!(*ad_out)->animator) { + LOGE("Failed to create animator"); + livebox_animator_del_grid(ad_out); + return; + } +} + +void livebox_animator_play_geometry_set(Evas_Object *obj, + float anim_time, + Ecore_Pos_Map map, float map_var_1, float map_var_2, + Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end, + Anim_Grid_End on_end, + Anim_Data_t **ad_out) +{ + __livebox_animator_create(obj, anim_time, map, map_var_1, map_var_2, + geometry_start, geometry_end, on_end, ad_out); + + if (!(*ad_out)) { + LOGE("Failed to create animation"); + return; + } + + (*ad_out)->animator = ecore_animator_timeline_add(anim_time, + __livebox_animator_set_geometry_frame, ad_out); + + if (!(*ad_out)->animator) { + LOGE("Failed to create animator"); + livebox_animator_del_grid(ad_out); + return; + } +} + +static void __livebox_animator_create(Evas_Object *obj, + float anim_time, + Ecore_Pos_Map map, float map_var_1, float map_var_2, + Eina_Rectangle *geometry_start, Eina_Rectangle *geometry_end, + Anim_Grid_End on_end, + Anim_Data_t **ad_out) +{ + *ad_out = (Anim_Data_t *) calloc(1, sizeof(Anim_Data_t)); + if (!*ad_out) { + LOGE("Failed to allocate ad_out"); + return; + } + + (*ad_out)->anim_time = anim_time; + (*ad_out)->obj = obj; + (*ad_out)->map = map; + (*ad_out)->map_var_1 = map_var_1; + (*ad_out)->map_var_2 = map_var_2; + (*ad_out)->geometry_start = geometry_start; + (*ad_out)->geometry_end = geometry_end; + (*ad_out)->on_end = on_end; + (*ad_out)->anim_is_running = true; +} + + +static Eina_Bool __livebox_animator_set_geometry_frame(void *data, double pos) +{ + double frame = pos; + + Anim_Data_t **ad = (Anim_Data_t **)data; + if (!(*ad)) { + LOGE("(*ad) == NULL"); + return ECORE_CALLBACK_CANCEL; + } + + int xs = (*ad)->geometry_start->x; + int ys = (*ad)->geometry_start->y; + int ws = (*ad)->geometry_start->w; + int hs = (*ad)->geometry_start->h; + + int xe = (*ad)->geometry_end->x; + int ye = (*ad)->geometry_end->y; + int we = (*ad)->geometry_end->w; + int he = (*ad)->geometry_end->h; + + int xd = xe - xs; + int yd = ye - ys; + int wd = we - ws; + int hd = he - hs; + + frame = ecore_animator_pos_map(pos, (*ad)->map, (*ad)->map_var_1, + (*ad)->map_var_2); + + evas_object_move((*ad)->obj, xs + xd * frame, ys + yd * frame); + evas_object_resize((*ad)->obj, ws + wd * frame, hs + hd * frame); + + if (pos >= 1.0) { + /*last frame*/ + if ((*ad)->on_end) { + (*ad)->on_end(ad); + } else { + livebox_animator_del_grid(ad); + } + + return ECORE_CALLBACK_CANCEL; + } + + return ECORE_CALLBACK_RENEW; +} + + +static Eina_Bool __livebox_animator_set_grid_frame(void *data, double pos) +{ + double frame = pos; + + Anim_Data_t **ad = (Anim_Data_t **)data; + if (!(*ad)) { + LOGE("(*ad) == NULL"); + return ECORE_CALLBACK_CANCEL; + } + + int xs = (*ad)->geometry_start->x; + int ys = (*ad)->geometry_start->y; + int ws = (*ad)->geometry_start->w; + int hs = (*ad)->geometry_start->h; + + int xe = (*ad)->geometry_end->x; + int ye = (*ad)->geometry_end->y; + int we = (*ad)->geometry_end->w; + int he = (*ad)->geometry_end->h; + + int xd = xe - xs; + int yd = ye - ys; + int wd = we - ws; + int hd = he - hs; + + frame = ecore_animator_pos_map(pos, (*ad)->map, (*ad)->map_var_1, + (*ad)->map_var_2); + + elm_grid_pack_set((*ad)->obj, + xs + xd * frame, + ys + yd * frame, + ws + wd * frame, + hs + hd * frame); + + + if (pos >= 1.0) { + /*last frame*/ + if ((*ad)->on_end) { + (*ad)->on_end(ad); + } else { + livebox_animator_del_grid(ad); + } + + return ECORE_CALLBACK_CANCEL; + } + + return ECORE_CALLBACK_RENEW; +} diff --git a/src/livebox/livebox_panel.c b/src/livebox/livebox_panel.c new file mode 100644 index 0000000..cb59dc9 --- /dev/null +++ b/src/livebox/livebox_panel.c @@ -0,0 +1,1647 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "util.h" +#include "homescreen-efl.h" +#include "page_scroller.h" +#include "option_menu.h" +#include "dynamic_index.h" +#include "data_model.h" + +#include "layout.h" +#include "popup.h" +#include "layout.h" +#include "conf.h" + +#include "livebox/livebox_panel.h" +#include "livebox/livebox_animator.h" +#include "livebox/grid_item_resize.h" +#include "livebox/grid_reposition.h" +#include "livebox/livebox_utils.h" +#include "livebox/livebox_widget.h" + +static Evas_Object *__livebox_panel_create_page(Evas_Object *livebox_scroller); +static void __livebox_panel_freeze_scroller(void); +static bool __livebox_panel_is_page_empty(Evas_Object *page); + +static void __livebox_panel_register_longpress_callbacks(Evas_Object *livebox_scroller, + Evas_Object *page_layout, Evas_Object *livebox); +static void __livebox_panel_scrolled_cb(void *data, Evas_Object *obj, + void *event_info); +static void __livebox_panel_page_changed_cb(void *data, Evas_Object *obj, + void *event_info); +static void __livebox_panel_mouse_down_cb(void *data, Evas *evas, Evas_Object *object, + void *event_info); +static void __livebox_panel_mouse_up_cb(void *data, Evas *evas, Evas_Object *object, + void *event_info); +static Eina_Bool __livebox_panel_longpress_cb(void *data); + +static void __livebox_panel_update_edit_mode_layout(Evas_Object *livebox_scroller_layout); +static void __livebox_panel_add_page_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); + +static void __libebox_panel_toggle_selected_livebox(Evas_Object *livebox, Evas_Object *page); +static void __livebox_panel_set_remove_buttons_visiblity(Evas_Object *page, bool visible); +static void __livebox_panel_set_reposition_bg_visibility(bool visible); +static void __livebox_panel_del_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); +static Evas_Object *__livebox_panel_get_widget_layout(Evas_Object *obj); + +static void __livebox_panel_scroll_start_cb(void *data, Evas_Object *obj, void *info); +static Eina_Bool __livebox_panel_change_page_timer_start_cb(void *data); + +static void __livebox_panel_page_count_changed_cb(void *data, Evas_Object *obj, + const char *emission, const char *source); +static void __livebox_panel_set_remove_button_visibility(Evas_Object *livebox, + bool visible); +static void __livebox_panel_hide_remove_button(Evas_Object *livebox); + +static bool __livebox_panel_iterate_page_fill_cb(Tree_node_t *parent, + Tree_node_t *page_node, void *data); +static bool __livebox_panel_iterate_node_fill_cb(Tree_node_t *page_node, + Tree_node_t *node, void *data); + +static void __livebox_panel_show_warning_popup(void); +static bool __livebox_panel_find_empty_space(Evas_Object *page, + int span_w, int span_h, int *pos_x, int *pos_y); + +static int __livebox_panel_get_mouse_move_distance_square(int x, int y); + +static struct { + Ecore_Timer *longpress_timer; + int origination_page_num; + Ecore_Timer *page_change_timer; + int page_change; +} livebox_reposition_info_s = { + .longpress_timer = NULL, + .origination_page_num = 0, + .page_change_timer = NULL, + .page_change = LIVEBOX_PAGE_NO_CHANGE, +}; + + +static struct { + Evas_Object *livebox_page_scroller; + Evas_Object *livebox_page_box; + Evas_Object *add_page; + dynamic_index_t *dynamic_index; + + Eina_List *livebox_page_list; + + int pages_count; + int current_page; + + bool edit_mode; + + bool livebox_remove_button_state; + + Eina_Bool is_resizing; + Eina_Bool is_longpress; + + Evas_Object *item_moved; + Eina_Rectangle no_move_pos; + Evas_Point mouse_press_pos; + +} s_info = { + .livebox_page_scroller = NULL, + .livebox_page_box = NULL, + .add_page = NULL, + .dynamic_index = NULL, + + .livebox_page_list = NULL, + + .pages_count = 0, + .current_page = 0, + + .edit_mode = false, + + .livebox_remove_button_state = false, + .is_resizing = false, + + .is_longpress = false, + + .item_moved = NULL, + .no_move_pos.x = 0, + .no_move_pos.y = 0, + .no_move_pos.w = 0, + .no_move_pos.h = 0, + + .mouse_press_pos = {-1, -1}, +}; + +void livebox_panel_update_dynamic_index(void) +{ + if (!s_info.livebox_page_scroller) { + LOGE("s_info.livebox_page_scroller == NULL"); + return; + } + + elm_object_signal_emit(s_info.livebox_page_scroller, + SIGNAL_SCROLLER_PAGE_COUNT_CHANGED, SIGNAL_SOURCE); +} + +void livebox_panel_create_dynamic_index(void) +{ + if (!s_info.livebox_page_scroller) { + LOGE("s_info.livebox_page_scroller == NULL"); + return; + } + + + s_info.dynamic_index = dynamic_index_new(s_info.livebox_page_scroller); + if (!s_info.dynamic_index) { + LOGE("s_info.dynamic_index == NULL"); + return; + } +} + +void livebox_panel_fill(void) +{ + Tree_node_t *home = NULL; + int widget_pos_h = 0; + + home = data_model_get_home(); + if (!home) { + LOGE("home == NULL"); + return; + } + + if (home->count == 0) { + LOGW("home->count == NULL"); + return; + } else { + LOGI("home->count == %d", home->count); + } + + data_model_iterate_pages(home, __livebox_panel_iterate_page_fill_cb, + __livebox_panel_iterate_node_fill_cb, &widget_pos_h); + livebox_panel_create_dynamic_index(); +} + +Evas_Object *livebox_panel_create(Evas_Object *parent) +{ + Evas_Object *liveboxes = NULL; + + if (!parent) { + LOGE("parent == NULL"); + return NULL; + } + + liveboxes = livebox_panel_create_scroller(); + if (!liveboxes) { + LOGE("liveboxes == NULL"); + return NULL; + } + + livebox_widget_init(); + + return liveboxes; +} + +void livebox_panel_set_content(Evas_Object *layout) +{ + if(s_info.dynamic_index->box) + elm_layout_content_set(layout, PART_INDEX, s_info.dynamic_index->box); +} + +void livebox_panel_unset_content(Evas_Object *layout) +{ + Evas_Object *dynamic_index = NULL; + + dynamic_index = elm_object_part_content_unset(layout, PART_INDEX); + + if (!dynamic_index) { + LOGE("dyamic_index == NULL"); + return; + } + + evas_object_hide(dynamic_index); +} + + +Evas_Object *livebox_scroller_get_page(void) +{ + int current_page_number = page_scroller_get_current_page( + s_info.livebox_page_scroller); + return page_scroller_get_page(s_info.livebox_page_scroller, + current_page_number); +} + +void livebox_panel_refresh_content_size(void) +{ + Evas_Object *page_container = NULL; + Evas_Object *item = NULL; + Eina_List *it = NULL; + Eina_List *items_in_grid = NULL; + Evas_Coord container_x = -1; + Evas_Coord container_y = -1; + Evas_Coord container_width = -1; + Evas_Coord container_height = -1; + Evas_Coord x = -1, y = -1, w = -1, h = -1; + + if (!s_info.livebox_page_scroller) { + return; + } + + page_container = page_scroller_get_page( + s_info.livebox_page_scroller, + page_scroller_get_current_page(s_info.livebox_page_scroller)); + + if (!page_container) { + LOGE("page_container == NULL"); + return; + } + + evas_object_geometry_get(s_info.livebox_page_scroller, + &container_x, &container_y, &container_width, + &container_height); + + items_in_grid = livebox_utils_get_liveboxes_on_page_list( + page_container); + + EINA_LIST_FOREACH(items_in_grid, it, item) { + if (!item) { + LOGE("item == NULL"); + continue; + } + + elm_grid_pack_get(item, &x, &y, &w, &h); + evas_object_move(item, + (x*(container_width-LIVEBOX_HORIZONTAL_PADDING) / 100) + + LIVEBOX_HORIZONTAL_PADDING / 2 + container_x, + container_height * y / 100 + container_y); + evas_object_resize(item, + (int)((float) w/100 * (container_width)) - + (w * LIVEBOX_HORIZONTAL_PADDING)/100, + (int)((float)h/100 * (container_height)) - + (y*LIVEBOX_HORIZONTAL_PADDING)/100); + } +} + +Evas_Object *livebox_panel_create_scroller(void) +{ + Evas_Object *livebox_page_scroller = NULL; + Evas_Object *win = home_screen_get_win(); + Evas_Object *box = NULL; + Eina_List *lvb_page_list = NULL; + + int p_count = 0; + int cur_page = 0; + + if (!win) { + LOGE("Window is NULL"); + return NULL; + } + + livebox_page_scroller = + page_scroller_create(home_screen_get_root_width(), + LIVEBOX_PAGE_HEIGHT_REL*home_screen_get_root_height()); + if (!livebox_page_scroller) { + LOGE("Cannot create livebox page scroller"); + return NULL; + } + + box = elm_object_content_get(livebox_page_scroller); + if (!box) { + LOGE("Cannot get the box"); + evas_object_del(livebox_page_scroller); + return NULL; + } + + livebox_utils_create_shadow(livebox_page_scroller); + evas_object_smart_callback_add(livebox_page_scroller, + "scroll,drag,start", __livebox_panel_scroll_start_cb, NULL); + elm_object_signal_callback_add(livebox_page_scroller, + SIGNAL_SCROLLER_PAGE_COUNT_CHANGED, SIGNAL_LAYOUT_SOURCE, + __livebox_panel_page_count_changed_cb, NULL); + + /*After creation empty one empty space should be created.*/ + + s_info.livebox_page_scroller = livebox_page_scroller; + s_info.current_page = cur_page; + s_info.pages_count = p_count; + s_info.livebox_page_list = lvb_page_list; + + return livebox_page_scroller; +} + + +void livebox_panel_destroy(void) +{ + Eina_List *pages = s_info.livebox_page_list; + + Evas_Object *livebox_scroller_page = NULL; + + if (!pages) { + LOGE("Pages pointer is NULL"); + return; + } + + EINA_LIST_FREE(pages, livebox_scroller_page) { + livebox_panel_destroy_page(livebox_scroller_page); + } + + page_scroller_destroy(s_info.livebox_page_scroller); + + livebox_widget_fini(); +} + +void livebox_panel_paused(void) +{ + livebox_widget_viewer_paused(); +} + +void livebox_panel_resumed(void) +{ + livebox_widget_viewer_resumed(); +} + +void livebox_panel_add_livebox(Tree_node_t *node, Evas_Object *page, + const char *livebox_pkgname, int pos_x, int pos_y, + int width, int height, + char *content_info) +{ + Evas_Object *livebox = NULL; + Evas_Object *livebox_layout = NULL; + Evas_Object *grid = NULL; + + + livebox_layout = elm_layout_add(s_info.livebox_page_scroller); + if (!livebox_layout) { + evas_object_del(page); + LOGE("livebox_layout is not created"); + return; + } + + if (!node) { + LOGE("node == NULL"); + return; + } + +#ifdef LIVEBOX_RESIZE_TEST + livebox = elm_image_add(livebox_layout); + elm_image_file_set(livebox, livebox_pkgname, NULL); +#else + livebox = livebox_widget_add(livebox_pkgname, livebox_layout, content_info); +#endif + + if (!livebox) { + LOGE("Livebox is not created"); + return; + } + + node->data->layout = livebox_layout; + evas_object_data_set(livebox_layout, KEY_ICON_DATA, node); + + elm_layout_file_set(livebox_layout, EDJE_LIVEBOX_LAYOUT_FILENAME, + GROUP_LIVEBOX_LAYOUT); + elm_layout_content_set(livebox_layout, PART_LIVEBOX, livebox); + evas_object_size_hint_weight_set(livebox_layout, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_show(livebox_layout); + elm_layout_signal_callback_add(livebox_layout, SIGNAL_CLICKED, + SIGNAL_REMOVE_SOURCE, __livebox_panel_del_cb, NULL); + + grid = elm_object_part_content_get(page, SIGNAL_CONTENT_SOURCE); + if (!grid) { + LOGE("grid == NULL"); + return; + } + + elm_grid_pack(grid, + livebox_layout, pos_x * LIVEBOX_GRID_ROWS_CELLS_MULTI, + pos_y * LIVEBOX_GRID_ROWS_CELLS_MULTI, + width * LIVEBOX_GRID_ROWS_CELLS_MULTI, + height * LIVEBOX_GRID_ROWS_CELLS_MULTI); + + __livebox_panel_register_longpress_callbacks(NULL, page, livebox_layout); + + LOGD("Adding [%s] at: [%d, %d] <>[%d, %d]", + livebox_pkgname, pos_x, pos_y, width, height); +} + + +Evas_Object *livebox_panel_add_page(Tree_node_t *node, + Evas_Object *livebox_scroller) +{ + Evas_Object *page = NULL; + + page = livebox_panel_create_empty_page(node, livebox_scroller); + + if (!page) { + LOGE("page == NULL"); + return NULL; + } + + if (!page_scroller_add_page(livebox_scroller, page)) { + LOGE("Can not create page"); + + livebox_panel_destroy_page(page); + return NULL; + } + + /*update pages list*/ + s_info.livebox_page_list = page_scroller_get_all_pages( + livebox_scroller); + __livebox_panel_freeze_scroller(); + + return page; +} + +bool livebox_panel_add_empty_page(Evas_Object *livebox_scroller) +{ + /*@todo add check if page count will not be over the limit*/ + Evas_Object *page = __livebox_panel_create_page(livebox_scroller); + return page_scroller_add_page(livebox_scroller, page); +} + + +Evas_Object *livebox_panel_create_empty_page(Tree_node_t *node, + Evas_Object *livebox_scroller) +{ + Evas_Object *page = NULL; + + if (!livebox_scroller) { + LOGE("Livebox panel is NULL"); + return NULL; + } + + if (!node) { + LOGE("node == NULL"); + return NULL; + } + + page = __livebox_panel_create_page(livebox_scroller); + if (!page) { + LOGE("page == NULL"); + return NULL; + } + + evas_object_data_set(page, KEY_ICON_DATA, node); + + return page; +} + + +void livebox_panel_change_edit_mode_state(bool close) +{ + Evas_Object *livebox_scroller = s_info.livebox_page_scroller; + if (!livebox_scroller) { + LOGE("Livebox panel is NULL"); + return; + } + + if (!s_info.edit_mode && close) { + /*if edit mode is disabled closing doesn't take any effect*/ + return; + } + + if (s_info.edit_mode && close) { + s_info.edit_mode = false; + /*closing edit mode*/ + __livebox_panel_update_edit_mode_layout(livebox_scroller); + } else if (!s_info.edit_mode) { + s_info.edit_mode = true; + __livebox_panel_update_edit_mode_layout(livebox_scroller); + } +} + +void livebox_panel_destroy_page(Evas_Object *livebox_scroller_page) +{ + Eina_List *lb_layouts_list = NULL; + Eina_List *l = NULL; + Evas_Object *lb_layout = NULL; + Evas_Object *widget = NULL; + Tree_node_t *page_node = NULL; + + if (!livebox_scroller_page) { + LOGE("Livebox panel is NULL"); + return; + } + + page_node = evas_object_data_get(livebox_scroller_page, KEY_ICON_DATA); + if (!page_node) { + LOGE("page_node == NULL"); + return; + } + + data_model_del_item(page_node); + + lb_layouts_list = livebox_utils_get_liveboxes_on_page_list( + livebox_scroller_page); + if (!lb_layouts_list) { + LOGE("pages == NULL"); + evas_object_del(livebox_scroller_page); + home_screen_print_tree(); + return; + } + + EINA_LIST_FOREACH(lb_layouts_list, l, lb_layout) { + widget = __livebox_panel_get_widget_layout(lb_layout); + if (!widget) { + LOGE("widget == NULL"); + continue; + } + + livebox_widget_del(widget); + evas_object_del(lb_layout); + } + + eina_list_free(lb_layouts_list); + evas_object_del(livebox_scroller_page); + + __livebox_panel_freeze_scroller(); + home_screen_print_tree(); +} + +bool livebox_panel_is_add_page_selected(void) +{ + int current_page_number = page_scroller_get_current_page( + s_info.livebox_page_scroller); + Evas_Object *page_container = page_scroller_get_page( + s_info.livebox_page_scroller, current_page_number); + + return (page_container == s_info.add_page && + livebox_panel_check_if_add_page_is_visible()); +} + +void livebox_panel_move_mouse_cb(int x, int y) +{ + int mouse_move_distance = __livebox_panel_get_mouse_move_distance_square(x, y); + + if (mouse_move_distance > LIVEBOX_MIN_MOUSE_MOVE) { + ecore_timer_del(livebox_reposition_info_s.longpress_timer); + livebox_reposition_info_s.longpress_timer = NULL; + + if(!s_info.is_longpress) + page_scroller_unfreeze(s_info.livebox_page_scroller); + } + + if (s_info.is_longpress && + !livebox_reposition_info_s.page_change_timer) { + if (x < LIVEBOX_PAGE_CHANGE_RECT_SIZE) { + livebox_reposition_info_s.page_change_timer = + ecore_timer_add(LIVEBOX_PAGE_CHANGE_PERIOD, + __livebox_panel_change_page_timer_start_cb, (void *)false); + LOGI("PAGE CHANGE TIMER CREATED "); + } else if (x > home_screen_get_root_width() - + LIVEBOX_PAGE_CHANGE_RECT_SIZE) { + livebox_reposition_info_s.page_change_timer = + ecore_timer_add(LIVEBOX_PAGE_CHANGE_PERIOD, + __livebox_panel_change_page_timer_start_cb, (void *)true); + LOGI("PAGE CHANGE TIMER CREATED "); + } + + grid_reposition_move(x, y); + } else if (livebox_reposition_info_s.page_change_timer && + x > LIVEBOX_PAGE_CHANGE_RECT_SIZE && + x < home_screen_get_root_width() - + LIVEBOX_PAGE_CHANGE_RECT_SIZE) { + ecore_timer_del(livebox_reposition_info_s.page_change_timer); + livebox_reposition_info_s.page_change_timer = NULL; + LOGI("PAGE CHANGE TIMER DESTROYED"); + + grid_reposition_move(x, y); + } +} + +Eina_List *livebox_panel_get_pages(void) +{ + return s_info.livebox_page_list; +} + +Evas_Object *livebox_panel_get(void) +{ + return s_info.livebox_page_scroller; +} + +Evas_Object *livebox_panel_get_index(void) +{ + if (!s_info.dynamic_index) { + LOGE("s_info.dynamic_index == NULL"); + return NULL; + } + + if (!s_info.dynamic_index->box) { + LOGE("s_info.dynamic_index->box == NULL"); + return NULL; + } + + return s_info.dynamic_index->box; +} + +bool livebox_panel_check_if_add_page_is_visible(void) +{ + Evas_Object *lvb_scorller = NULL; + Evas_Object *page = NULL; + Evas_Object *page_edje = NULL; + + int p_count = -1; + const char *state = NULL; + + lvb_scorller = s_info.livebox_page_scroller; + if (!lvb_scorller) { + LOGE("Faield to get livebox scroller"); + return false; + } + + p_count = page_scroller_get_page_count(lvb_scorller); + if (p_count < 0) { + LOGE("Failed to get page count"); + return false; + } + + LOGD("p_count is %d ", p_count); + + page = page_scroller_get_page(lvb_scorller, --p_count); + if (!page) { + LOGE("Failed to get page"); + return false; + } + + page_edje = elm_layout_edje_get(page); + if (!page_edje) { + LOGE("Failed to get page edje"); + return false; + } + + state = edje_object_part_state_get(page_edje, + PART_ADD_PAGE_BUTTON, NULL); + + if (!state) { + LOGE("Failed to get state"); + return false; + } + + LOGD("state is : %s ", state); + + return strncmp(state, "default", LIVEBOX_MAX_STATE_LEN); +} + +void livebox_panel_set_edit_mode_layout(bool turn_on) +{ + Evas_Object *lvb_scorller = NULL; + Evas_Object *page = NULL; + char *signal_to_send = NULL; + Eina_List *all_pages = NULL; + Eina_List *it = NULL; + + lvb_scorller = s_info.livebox_page_scroller; + if (!lvb_scorller) { + LOGE("Failed to get livebox scroller"); + return; + } + + all_pages = page_scroller_get_all_pages(lvb_scorller); + if (!all_pages) { + LOGE("Failed to get page"); + return; + } + + if (turn_on) { + signal_to_send = SIGNAL_EDIT_START; + } else { + signal_to_send = SIGNAL_EDIT_STOP; + } + + EINA_LIST_FOREACH(all_pages, it, page) { + if (!page) { + LOGE("page == NULL"); + continue; + } + + elm_object_signal_emit(page, signal_to_send, + SIGNAL_LAYOUT_SOURCE); + } +} + +void livebox_panel_add_page_visible_state_set(bool visible) +{ + Evas_Object *page = NULL; + + page = livebox_scroller_get_last_page(); + if (!page) { + LOGE("page == NULL"); + return; + } + + if (visible) { + s_info.add_page = page; + + elm_object_signal_emit(page, SIGNAL_ADD_SHOW, + SIGNAL_LAYOUT_SOURCE); + elm_object_signal_emit(page, SIGNAL_EDIT_START, + SIGNAL_LAYOUT_SOURCE); + } else { + elm_object_signal_emit(page, SIGNAL_ADD_HIDE, + SIGNAL_LAYOUT_SOURCE); + } +} + +bool livebox_panel_can_add_page(void) +{ + int count = 0; + Eina_List *pages = page_scroller_get_all_pages(livebox_panel_get()); + count = eina_list_count(pages); + + + if (count < LIVEBOX_SCROLLER_MAX_PAGES) { + return true; + } else if (count == LIVEBOX_SCROLLER_MAX_PAGES && + livebox_panel_check_if_add_page_is_visible()) { + return true; + } + + __livebox_panel_show_warning_popup(); + return false; + +} + +int livebox_panel_find_empty_space(int span_w, int span_h, + int *pos_x, int *pos_y) +{ + Evas_Object *current_page = NULL; + Evas_Object *page = NULL; + Eina_List *l = NULL; + int page_index = -1; + + Eina_List *pages = page_scroller_get_all_pages(livebox_panel_get()); + if (!pages) { + LOGE("pages == NULL"); + return -1; + } + + + current_page = livebox_scroller_get_page(); + if (!current_page) { + LOGE("current_page == NULL"); + eina_list_free(pages); + return -1; + } + + if (__livebox_panel_find_empty_space(current_page, + span_w, span_h, pos_x, pos_y)) { + eina_list_free(pages); + return page_scroller_get_current_page(livebox_panel_get()); + } + + EINA_LIST_FOREACH(pages, l, page) { + ++page_index; + + if (!page) { + LOGE("page == NULL"); + continue; + } + + if (page == current_page) + continue; + + if (__livebox_panel_find_empty_space(page, span_w, span_h, + pos_x, pos_y)) { + eina_list_free(pages); + return page_index; + } + } + + eina_list_free(pages); + return -1; +} + +static int __livebox_panel_get_mouse_move_distance_square(int x, int y) +{ + int dx = x - s_info.mouse_press_pos.x; + int dy = y - s_info.mouse_press_pos.y; + + return (dx * dx) + (dy * dy); +} + +static bool __livebox_panel_find_empty_space(Evas_Object *page, int span_w, + int span_h, int *pos_x, int *pos_y) +{ + Evas_Object *livebox; + Eina_List *l; + Eina_List *livebox_list = NULL; + Eina_Rectangle *grid_item_rec = NULL; + int y = 0; + bool ret = true; + + livebox_list = livebox_utils_get_liveboxes_on_page_list(page); + if (!livebox_list) { + LOGE("livebox_list == NULL"); + *pos_y = 0; + *pos_x = 0; + return true; + } + + if (eina_list_count(livebox_list) == 0) { + *pos_y = 0; + *pos_x = 0; + eina_list_free(livebox_list); + return true; + } + + Eina_Rectangle *moved_item_rec = eina_rectangle_new(0, 0, + span_w, span_h); + if (!moved_item_rec) { + LOGE("moved_item_rec == NULL"); + eina_list_free(livebox_list); + return false; + } + + for (y = 0; y + span_h <= LIVEBOX_GRID_ROWS; ++y) { + moved_item_rec->y = y; + + EINA_LIST_FOREACH(livebox_list, l, livebox) { + grid_item_rec = livebox_utils_get_grid_widget_rectangle( + livebox); + if (!grid_item_rec) { + LOGE("grid_item_rec == NULL"); + eina_rectangle_free(grid_item_rec); + continue; + } + + if (eina_rectangle_intersection(moved_item_rec, + grid_item_rec)) { + ret = false; + eina_rectangle_free(grid_item_rec); + break; + } else { + *pos_y = y; + *pos_x = 0; + ret = true; + } + + eina_rectangle_free(grid_item_rec); + } + + if (ret) { + eina_list_free(livebox_list); + eina_rectangle_free(moved_item_rec); + return true; + } + } + + eina_rectangle_free(moved_item_rec); + eina_list_free(livebox_list); + return false; +} + +static void __livebox_panel_show_warning_popup(void) +{ + popup_data_t *data = popup_create_data(); + if (!data) { + LOGE("data == NULL"); + return; + } + + data->orientation = ELM_POPUP_ORIENT_CENTER; + data->popup_cancel_text = NULL; + data->popup_confirm_text = NULL; + data->popup_content_text = strdup(_("IDS_HS_POP_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_REMOVE_SOME_WIDGETS_AND_TRY_AGAIN")); + data->popup_title_text = NULL; + data->type = POPUP_INFO; + data->visible_time = 5.0; + + popup_show(data, NULL, NULL, NULL); +} + +static void __livebox_panel_freeze_scroller(void) +{ + + if (page_scroller_get_page_count(s_info.livebox_page_scroller) > 1) { + page_scroller_unfreeze(s_info.livebox_page_scroller); + } else { + page_scroller_freeze(s_info.livebox_page_scroller); + } +} + +static void __livebox_panel_page_count_changed_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + __livebox_panel_freeze_scroller(); +} + + +static Evas_Object *__livebox_panel_create_page(Evas_Object *livebox_scroller) +{ + Evas_Object *grid = NULL; + Evas_Object *rect = NULL; + Evas_Object *livebox_container = util_create_edje_layout( + livebox_scroller, EDJE_LIVEBOX_CONTAINER_FILENAME, + GROUP_LIVEBOX_CONTAINER); + + if (!livebox_container) { + LOGE("Cannot create scroller layout"); + return NULL; + } + + grid = elm_grid_add(livebox_container); + if (!grid) { + LOGE("grid == NULL"); + evas_object_del(livebox_container); + return NULL; + } + + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, + EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, + EVAS_HINT_FILL); + elm_grid_size_set(grid, LIVEBOX_TOTAL_COLUMNS, LIVEBOX_TOTAL_ROWS); + + elm_object_part_content_set(livebox_container, SIGNAL_CONTENT_SOURCE, + grid); + livebox_utils_create_grid_shadow_clipper(livebox_container); + + rect = evas_object_rectangle_add(evas_object_evas_get( + livebox_container)); + if (!rect) { + LOGE("rect == NULL"); + evas_object_del(grid); + evas_object_del(livebox_container); + return NULL; + } + + + evas_object_color_set(rect, 0, 0, 0, 0); + evas_object_size_hint_min_set(rect, home_screen_get_root_width(), + LIVEBOX_SIZE_REL * home_screen_get_root_height() - + (2.0*LIVEBOX_X_MIN * home_screen_get_root_width())); + evas_object_size_hint_max_set(rect, home_screen_get_root_width(), + LIVEBOX_SIZE_REL * home_screen_get_root_height() - + (2.0*LIVEBOX_X_MIN * home_screen_get_root_width())); + + elm_object_part_content_set(livebox_container, PART_PAGE_BG, rect); + + elm_object_signal_emit(livebox_container, SIGNAL_RESIZE_SLIDERS_HIDE, + SIGNAL_LIVEBOX_SOURCE); + elm_object_signal_callback_add(livebox_container, + SIGNAL_ADD_PAGE_CLICKED, SIGNAL_LAYOUT_SOURCE, + __livebox_panel_add_page_clicked_cb, NULL); + + grid_item_init_resize_callbacks(livebox_scroller, livebox_container); + + return livebox_container; +} + + +static void __livebox_panel_update_edit_mode_layout(Evas_Object *livebox_scroller_scroller) +{ + Eina_List *livebox_container_list; + Eina_List *node; + Evas_Object *livebox_container = NULL; + + if (!livebox_scroller_scroller) { + LOGE("Livebox panel layout is NULL"); + return; + } + + livebox_container_list = page_scroller_get_all_pages( + livebox_scroller_scroller); + if (s_info.edit_mode) { + EINA_LIST_FOREACH(livebox_container_list, node, + livebox_container) + { + if (!livebox_container) { + LOGE("livebox_container == NULL"); + continue; + } + + if (!__livebox_panel_is_page_empty(livebox_container)) { + __livebox_panel_set_remove_buttons_visiblity( + livebox_container, true); + } else { + elm_object_signal_emit(livebox_container, + SIGNAL_EMPTY_PAGE_EDIT_START, + SIGNAL_LIVEBOX_SOURCE); + } + elm_object_signal_emit(livebox_container, + SIGNAL_EDIT_START, SIGNAL_LIVEBOX_SOURCE); + } + } else { + EINA_LIST_FOREACH(livebox_container_list, node, + livebox_container) { + if (!livebox_container) { + LOGE("livebox_container == NULL"); + continue; + } + + __livebox_panel_set_remove_buttons_visiblity(livebox_container, + false); + + elm_object_signal_emit(livebox_container, + SIGNAL_EMPTY_PAGE_EDIT_STOP, + SIGNAL_LIVEBOX_SOURCE); + elm_object_signal_emit(livebox_container, + SIGNAL_EDIT_STOP, SIGNAL_LIVEBOX_SOURCE); + + elm_object_signal_emit(livebox_container, + SIGNAL_RESIZE_SLIDERS_HIDE, SIGNAL_LIVEBOX_SOURCE); + } + } + + eina_list_free(livebox_container_list); +} + +static bool __livebox_panel_is_page_empty(Evas_Object *page) +{ + Eina_List *lb_list = NULL; + + if (!page) { + LOGE("page == NULL"); + return true; + } + + if (page == s_info.add_page && + livebox_panel_check_if_add_page_is_visible()) { + return false; + } + + lb_list = livebox_utils_get_liveboxes_on_page_list(page); + if (!lb_list) { + LOGD("lb_list == NULL"); + return true; + } + + if (eina_list_count(lb_list) > 0) { + return false; + } + + return true; +} + + +static void _livebox_remove_button_mouse_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + LOGD("rm btn %s", emission); + + if (!obj) { + LOGE("obj == NULL"); + return; + } + + s_info.livebox_remove_button_state = (bool) strstr(emission, + "mouse,down"); +} + +static void __livebox_panel_register_longpress_callbacks(Evas_Object *livebox_scroller, + Evas_Object *page_layout, Evas_Object *livebox) +{ + Evas_Object *scroller = s_info.livebox_page_scroller; + + evas_object_event_callback_add(livebox, EVAS_CALLBACK_MOUSE_DOWN, + __livebox_panel_mouse_down_cb, page_layout); + evas_object_event_callback_add(livebox, EVAS_CALLBACK_MOUSE_UP, + __livebox_panel_mouse_up_cb, livebox_scroller); + elm_layout_signal_callback_add(livebox, SIGNAL_MOUSE_DOWN, + SIGNAL_REMOVE_SOURCE, _livebox_remove_button_mouse_cb, NULL); + elm_layout_signal_callback_add(livebox, SIGNAL_MOUSE_UP, + SIGNAL_REMOVE_SOURCE, _livebox_remove_button_mouse_cb, NULL); + + if (scroller) { + /*this callback should abort longpress*/ + evas_object_smart_callback_add(scroller, + SIGNAL_SCROLLER_DRAG_START, __livebox_panel_scrolled_cb, + NULL); + evas_object_smart_callback_add(scroller, + SIGNAL_SCROLLER_SCROLL, __livebox_panel_page_changed_cb, + NULL); + } +} + + +static void __livebox_panel_mouse_down_cb(void *data, Evas *evas, + Evas_Object *object, void *event_info) +{ + Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *) event_info; + int current_page_number = page_scroller_get_current_page( + s_info.livebox_page_scroller); + Evas_Object *page_layout = page_scroller_get_page( + s_info.livebox_page_scroller, current_page_number); + int obj_x = 0, obj_y = 0, obj_w = 0, obj_h = 0; + Evas_Object *widget = NULL; + + if (!ev || !page_layout) { + LOGE("Invalid event info"); + return; + } + + page_scroller_freeze(s_info.livebox_page_scroller); + + s_info.mouse_press_pos.x = ev->output.x; + s_info.mouse_press_pos.y = ev->output.y; + + evas_object_geometry_get(object, &obj_x, &obj_y, &obj_w, &obj_h); + + if (s_info.edit_mode) { + + widget = elm_layout_content_get(object, PART_LIVEBOX); + if (!widget) { + LOGE("widget == NULL"); + return; + } + + livebox_widget_set_event_blocking(widget); + } + + if (livebox_reposition_info_s.longpress_timer) { + LOGD("Longpress timer existed - this should not happen"); + ecore_timer_del(livebox_reposition_info_s.longpress_timer); + livebox_reposition_info_s.longpress_timer = NULL; + } + + if (!s_info.livebox_remove_button_state) { + livebox_reposition_info_s.longpress_timer = ecore_timer_add( + LIVEBOX_LONGPRESS_TIME, __livebox_panel_longpress_cb, object); + } else { + LOGD("Remove button pressed"); + } +} + +static void __libebox_panel_toggle_selected_livebox(Evas_Object *livebox, Evas_Object *page) +{ + Evas_Object *prev_selected_page = NULL; + + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + if (!page) { + LOGE("page == NULL"); + return; + } + + livebox_utils_set_selected_livebox(livebox, page); + prev_selected_page = livebox_utils_get_prev_livebox_layout(); + if (prev_selected_page && page != prev_selected_page) { + /*page != prev_selected_page' when page is not change the sliders + should not disappear */ + LOGD("Previous page found"); + elm_object_signal_emit(prev_selected_page, + SIGNAL_RESIZE_SLIDERS_HIDE, SIGNAL_LIVEBOX_SOURCE); + elm_object_signal_emit(prev_selected_page, + SIGNAL_GRID_SHADOW_HIDE, PART_GRID_BG); + } + + elm_object_signal_emit(page, SIGNAL_GRID_SHADOW_SHOW, PART_GRID_BG); +} + +static void __livebox_panel_mouse_up_cb(void *data, Evas *evas, + Evas_Object *object, void *event_info) +{ + int current_page_number = page_scroller_get_current_page( + s_info.livebox_page_scroller); + Evas_Object *livebox_container = page_scroller_get_page( + s_info.livebox_page_scroller, current_page_number); + + s_info.is_longpress = false; + page_scroller_unfreeze(s_info.livebox_page_scroller); + + __livebox_panel_freeze_scroller(); + + __livebox_panel_set_remove_button_visibility( + grid_reposition_get_repositioned_item(), true); + __livebox_panel_set_reposition_bg_visibility(false); + + grid_reposition_end(); + livebox_utils_set_shadow_visibility(false); + + LOGD("PAGE CHANGE TIMER DEL: %p", + livebox_reposition_info_s.page_change_timer); + ecore_timer_del(livebox_reposition_info_s.page_change_timer); + livebox_reposition_info_s.page_change_timer = NULL; + + if (livebox_reposition_info_s.longpress_timer) { + LOGD("NOT LONGPRESS"); + ecore_timer_del(livebox_reposition_info_s.longpress_timer); + + if (home_screen_get_view_type() != HOMESCREEN_VIEW_HOME_EDIT) { + LOGD("No edit mode exiting..."); + return; + } + + livebox_reposition_info_s.longpress_timer = NULL; + __libebox_panel_toggle_selected_livebox(object, livebox_container); + grid_item_set_resize_livebox_sliders(object, livebox_container); + } +} + +static void __livebox_panel_scrolled_cb(void *data, Evas_Object *obj, + void *event_info) +{ + if (livebox_reposition_info_s.longpress_timer) { + ecore_timer_del(livebox_reposition_info_s.longpress_timer); + livebox_reposition_info_s.longpress_timer = NULL; + } +} + +static void __livebox_panel_page_changed_cb(void *data, Evas_Object *obj, + void *event_info) +{ + /*livebox_utils_set_shadow_visibility(false);*/ +} + + +static Eina_Bool _longpress_timer_cb(void *data) +{ + grid_reposition_start(); + __livebox_panel_hide_remove_button( + grid_reposition_get_repositioned_item()); + __livebox_panel_set_reposition_bg_visibility(true); + + return ECORE_CALLBACK_CANCEL; +} + +/*@todo add check to proceed only if edit mode is ON*/ +static Eina_Bool __livebox_panel_longpress_cb(void *data) +{ + LOGD("Longpress!"); + int current_page_number = page_scroller_get_current_page( + s_info.livebox_page_scroller); + Evas_Object *longpressed_page = page_scroller_get_page( + s_info.livebox_page_scroller, current_page_number); + + livebox_reposition_info_s.longpress_timer = NULL; + Evas_Object *livebox = (Evas_Object *) data; + Evas_Object *widget = elm_layout_content_get(livebox, PART_LIVEBOX); + + if (!widget) { + LOGE("widget == NULL"); + return EINA_FALSE; + } + livebox_widget_set_event_blocking(widget); + + if (!longpressed_page) { + LOGE("No longpressed object stored"); + return EINA_FALSE; + } + + if (s_info.is_resizing) + return EINA_FALSE; + + + if (s_info.livebox_remove_button_state) + return EINA_FALSE; + + s_info.is_longpress = true; + + __libebox_panel_toggle_selected_livebox(livebox, longpressed_page); + + grid_item_set_resize_sliders_visibility(longpressed_page, false); + grid_reposition_init(livebox_utils_get_livebox_container_grid( + longpressed_page), livebox); + page_scroller_freeze(s_info.livebox_page_scroller); + + if (home_screen_get_view_type() != HOMESCREEN_VIEW_HOME_EDIT) { + home_screen_set_view_type(HOMESCREEN_VIEW_HOME_EDIT); + livebox_panel_set_edit_mode_layout(true); + livebox_panel_change_edit_mode_state(false); + ecore_timer_add(0.1, _longpress_timer_cb, longpressed_page); + } else { + grid_reposition_start(); + __livebox_panel_hide_remove_button(livebox); + __livebox_panel_set_reposition_bg_visibility(true); + } + + return EINA_FALSE; +} + +static void __livebox_panel_add_page_clicked_cb(void *data, Evas_Object *obj, + const char *emission, const char *source) +{ + Evas_Object *lvb_scorller = NULL; + int page_count = -1; + + lvb_scorller = livebox_panel_get(); + if (!lvb_scorller) { + LOGE("Failed to get scroller"); + return; + } + + page_count = page_scroller_get_page_count(lvb_scorller); + + if (page_count < LIVEBOX_SCROLLER_MAX_PAGES) { + /*remove add_page button from last page*/ + livebox_panel_add_page_visible_state_set(false); + + /*add new page*/ + livebox_panel_add_empty_page(lvb_scorller); + + /*show add button on last page*/ + livebox_panel_add_page_visible_state_set(true); + } else { + livebox_panel_add_page_visible_state_set(false); + /*elm_object_signal_emit(dynamic_index->indices[5], + EDJE_SIGNAL_ADD_PAGE_HIDE, EDJE_SIGNAL_LAYOUT_SOURCE);*/ + } + + elm_object_signal_emit(lvb_scorller, SIGNAL_SCROLLER_PAGE_COUNT_CHANGED, + SIGNAL_LAYOUT_SOURCE); +} + +Evas_Object *livebox_scroller_get_last_page(void) +{ + Evas_Object *lvb_scorller = NULL; + Evas_Object *page = NULL; + + Eina_List *all_pages = NULL; + int page_count = -1; + + lvb_scorller = s_info.livebox_page_scroller; + if (!lvb_scorller) { + LOGE("Failed to get livebox scroller"); + return NULL; + } + + all_pages = page_scroller_get_all_pages(lvb_scorller); + if (!all_pages) { + LOGE("Failed to get page"); + return NULL; + } + + page_count = eina_list_count(all_pages); + if (!page_count) { + LOGE("Failed to get page count!"); + return NULL; + } + + page = eina_list_nth(all_pages, --page_count); + if (!page) { + LOGE("Failed to get page"); + return NULL; + } + + return page; +} + +static void __livebox_panel_scroll_start_cb(void *data, Evas_Object *obj, void *info) +{ + Evas_Object *page = livebox_utils_get_selected_livebox_layout(); + if (!page) { + LOGE("page == NULL"); + return; + } + + grid_item_set_resize_sliders_visibility(page, false); +} + + +static Eina_Bool __livebox_panel_change_page_timer_start_cb(void *data) +{ + bool is_right = (bool)data; + int page_count = -1; + int current_page = -1; + Evas_Object *grid = NULL; + Evas_Object *page = NULL; + int mx = -1, my = -1; + + if (!s_info.livebox_page_scroller) { + LOGE("s_info.livebox_page_scroller == NULL"); + return false; + } + + page_count = page_scroller_get_page_count( + s_info.livebox_page_scroller); + current_page = page_scroller_get_current_page( + s_info.livebox_page_scroller); + + LOGD("PAGE CHANGE... %s", is_right ? "Going right" : "Going left"); + + livebox_utils_repack_grid_object(NULL, livebox_utils_get_shadow(), + livebox_utils_get_livebox_container_grid( + livebox_utils_get_selected_livebox_layout()), NULL); + + /*TODO: Check if this can be removed*/ + livebox_utils_repack_grid_object(NULL, + livebox_utils_selected_livebox_get(), + livebox_utils_get_livebox_container_grid( + livebox_utils_get_selected_livebox_layout()), + NULL); + + page_scroller_unfreeze(s_info.livebox_page_scroller); + + if (is_right) { + ++current_page; + } else { + --current_page; + } + + current_page = current_page % page_count; + LOGD("CURRENT PAGE: %d", current_page); + + page = page_scroller_get_page(s_info.livebox_page_scroller, + current_page); + if (!page) { + LOGE("page == NULL"); + return ECORE_CALLBACK_CANCEL; + } + + grid = livebox_utils_get_livebox_container_grid(page); + if (!grid) { + LOGE("grid == NULL"); + return ECORE_CALLBACK_CANCEL; + } + + elm_scroller_page_bring_in(s_info.livebox_page_scroller, + current_page, 0); + + page_scroller_freeze(s_info.livebox_page_scroller); + __libebox_panel_toggle_selected_livebox(livebox_utils_selected_livebox_get(), page); + grid_reposition_set_current_grid(grid); + livebox_utils_repack_grid_object(livebox_utils_selected_livebox_get(), + livebox_utils_get_shadow(), NULL, grid); + + livebox_utils_get_cursor_pos(&mx, &my); + grid_reposition_move(mx, my); + + livebox_utils_set_shadow_visibility(true); + + return ECORE_CALLBACK_RENEW; +} + +static void __livebox_panel_set_remove_button_visibility( + Evas_Object *livebox, bool visible) +{ + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + if (visible) { + elm_layout_signal_emit(livebox, + SIGNAL_LIVEBOX_REMOVE_BUTTON_SHOW, + SIGNAL_LIVEBOX_SOURCE); + } else { + elm_layout_signal_emit(livebox, + SIGNAL_LIVEBOX_REMOVE_BUTTON_HIDE, + SIGNAL_LIVEBOX_SOURCE); + } +} + +static void __livebox_panel_hide_remove_button(Evas_Object *livebox) +{ + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + elm_layout_signal_emit(livebox, SIGNAL_REMOVE_BUTTON_INSTANT_HIDE, + SIGNAL_LIVEBOX_SOURCE); +} + +static void __livebox_panel_set_remove_buttons_visiblity(Evas_Object *page, bool visible) +{ + Eina_List *l = NULL; + Evas_Object *lb = NULL; + + if (!page) { + LOGE("page == NULL"); + return; + } + + Eina_List *list = livebox_utils_get_liveboxes_on_page_list(page); + + if (!list) { + LOGE("list == NULL"); + return; + } + + EINA_LIST_FOREACH(list, l, lb) { + if (!lb) { + LOGE("lb == NULL"); + continue; + } + __livebox_panel_set_remove_button_visibility(lb, visible); + } +} + +static void __livebox_panel_set_reposition_bg_visibility(bool visible) +{ + Evas_Object *livebox = grid_reposition_get_repositioned_item(); + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + if (visible) { + elm_object_signal_emit(livebox, + SIGNAL_LIVEBOX_REPOSITION_BG_SHOW, + SIGNAL_LIVEBOX_SOURCE); + } else { + elm_object_signal_emit(livebox, + SIGNAL_LIVEBOX_REPOSITION_BG_HIDE, + SIGNAL_LIVEBOX_SOURCE); + } +} + +static Evas_Object *__livebox_panel_get_widget_layout(Evas_Object* obj) +{ + Evas_Object *widget = elm_layout_content_get(obj, PART_LIVEBOX); + if (!widget) { + LOGE("widget == NULL"); + return NULL; + } + + return widget; +} + +static void __livebox_panel_del_cb(void *data, Evas_Object *obj, const char *emission, + const char *source) +{ + Evas_Object *grid = NULL; + Evas_Object *widget = NULL; + Tree_node_t *node = NULL; + + int current_page_number = + page_scroller_get_current_page(s_info.livebox_page_scroller); + + Evas_Object *page_container = + page_scroller_get_page( + s_info.livebox_page_scroller, current_page_number); + if (!page_container) { + LOGE("page_container == NULL"); + return; + } + elm_object_signal_emit(page_container, SIGNAL_RESIZE_SLIDERS_HIDE, + SIGNAL_LIVEBOX_SOURCE); + + LOGI("DELETE LIVEBOX BUTTON PRESSED"); + + node = evas_object_data_get(obj, KEY_ICON_DATA); + if (!node) { + LOGE("node == NULL"); + return; + } + + widget = __livebox_panel_get_widget_layout(obj); + livebox_widget_del(widget); + data_model_del_item(node); + + evas_object_del(obj); + + grid = livebox_utils_get_livebox_container_grid(page_container); + if (!grid) { + LOGE("page_container == NULL"); + return; + } + + livebox_utils_repack_grid_object(NULL, livebox_utils_get_shadow(), + grid, NULL); + + home_screen_print_tree(); +} + +static bool __livebox_panel_iterate_node_fill_cb(Tree_node_t *page_node, Tree_node_t *node, + void *data) +{ + int *widget_pos_h = (int *)data; + + Evas_Object *page = page_node->data->layout; + if (!page) { + LOGE("page == NULL"); + return false; + } + + livebox_panel_add_livebox(node, page, node->data->appid, + node->data->col, node->data->row, node->data->col_span, + node->data->row_span, + node->data->content_info); + + *widget_pos_h += LIVEBOX_ON_CREATE_SIZE/2; + return true; +} + +static bool __livebox_panel_iterate_page_fill_cb(Tree_node_t *parent, Tree_node_t *page_node, + void *data) +{ + Evas_Object *page = NULL; + Evas_Object *liveboxes = s_info.livebox_page_scroller; + int *widget_pos_h = (int *)data; + *widget_pos_h = 0; + + page = livebox_panel_add_page(page_node, liveboxes); + if (!page) { + LOGE("[FAILED][page]"); + data_model_del_item(page_node); + return false; + } + + page_node->data->layout = page; + return true; +} diff --git a/src/livebox/livebox_utils.c b/src/livebox/livebox_utils.c new file mode 100644 index 0000000..ce2c3a9 --- /dev/null +++ b/src/livebox/livebox_utils.c @@ -0,0 +1,573 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "livebox/livebox_utils.h" +#include "homescreen-efl.h" + +static struct +{ + Evas_Object *selected_livebox; + Evas_Object *selected_livebox_layout; + Evas_Object *prev_livebox_layout; + Evas_Object *shadow; +} +s_info = { + .selected_livebox = NULL, + .selected_livebox_layout = NULL, + .prev_livebox_layout = NULL, + .shadow = NULL, +}; + +static Evas_Object *__livebox_utils_create_grid_bg(Evas_Object *parent); +static Eina_Rectangle *__livebox_utils_get_grid_rectangle(Evas_Object *obj); +static bool __livebox_utils_check_intersection(Evas_Object *obj_a, + Eina_Rectangle *rect); + +Eina_Rectangle *livebox_utils_get_widget_rectangle(Evas_Object *obj) +{ + int x = -1; + int y = -1; + int w = -1; + int h = -1; + Eina_Rectangle *rect = NULL; + + if (!obj) { + LOGE("obj == NULL"); + return NULL; + } + evas_object_geometry_get(obj, &x, &y, &w, &h); + + rect = eina_rectangle_new(x, y, w, h); + if (!rect) { + LOGE("rect == NULL"); + return NULL; + } + + return rect; +} + +Eina_Rectangle *livebox_utils_get_grid_widget_rectangle(Evas_Object *obj) +{ + int x = -1; + int y = -1; + int w = -1; + int h = -1; + Eina_Rectangle *rect = NULL; + + if (!obj) { + LOGE("obj == NULL"); + return NULL; + } + elm_grid_pack_get(obj, &x, &y, &w, &h); + + rect = eina_rectangle_new(x, y, w, h); + if (!rect) { + LOGE("rect == NULL"); + return NULL; + } + + return rect; +} + +Eina_Rectangle *livebox_utils_convert_virtual_grid_geo_to_screen(Evas_Object *grid, + int x, int y, int w, int h) +{ + int gx = -1; + int gy = -1; + int gw = -1; + int gh = -1; + + int vw = -1; + int vh = -1; + + Eina_Rectangle *rec = NULL; + + if (!grid) { + LOGE("grid == NULL"); + return NULL; + } + + evas_object_geometry_get(grid, &gx, &gy, &gw, &gh); + elm_grid_size_get(grid, &vw, &vh); + + rec = eina_rectangle_new( + gx + (int)((float)x/vw * gw), + gy + (int)((float)y/vh * gh), + (int)((float)w/vw*gw), + (int)((float)h/vh*gh) + ); + + if (!rec) { + LOGE("rec == NULL"); + return NULL; + } + + return rec; +} + +bool livebox_utils_check_rect_list_grid_interesction(Eina_Rectangle *rect, + Evas_Object *obj, Eina_List *list) +{ + Eina_List *l = NULL; + Evas_Object *list_obj = NULL; + + if (!list) { + LOGE("list == NULL"); + return true; + } + + EINA_LIST_FOREACH(list, l, list_obj) { + if (!list_obj) { + LOGE("list_obj == NULL"); + continue; + } + + if (list_obj != obj && __livebox_utils_check_intersection( + list_obj, rect)) { + LOGD("Intersection found"); + return true; + } + } + + return false; +} + +Eina_List *livebox_utils_get_liveboxes_on_gird(Evas_Object *grid) +{ + Eina_List *livebox_list = NULL; + + if (!grid) { + LOGE("grid == NULL"); + return NULL; + } + + livebox_list = elm_grid_children_get(grid); + if (!livebox_list) { + LOGE("livebox_list == NULL"); + return NULL; + } + livebox_list = eina_list_remove(livebox_list, s_info.shadow); + + return livebox_list; +} + + +Eina_List *livebox_utils_get_liveboxes_on_page_list(Evas_Object *obj) +{ + Evas_Object *grid = NULL; + + if (!obj) { + LOGE("o == NULL"); + return NULL; + } + + grid = elm_layout_content_get(obj, SIGNAL_CONTENT_SOURCE); + if (!grid) { + LOGE("grid == NULL"); + return NULL; + } + + return livebox_utils_get_liveboxes_on_gird(grid); +} +/* ---------------------------------------------------------------------------*/ + +Evas_Object *livebox_utils_get_selected_livebox_layout(void) +{ + return s_info.selected_livebox_layout; +} + +Evas_Object *livebox_utils_get_prev_livebox_layout(void) +{ + return s_info.prev_livebox_layout; +} + +Evas_Object *livebox_utils_selected_livebox_get(void) +{ + return s_info.selected_livebox; +} + +void livebox_utils_set_selected_livebox(Evas_Object *livebox, + Evas_Object *layout) +{ + LOGD("Selected_livebox_layout = %p; prev = %p", + s_info.selected_livebox_layout, s_info.prev_livebox_layout); + + s_info.prev_livebox_layout = s_info.selected_livebox_layout; + s_info.selected_livebox = livebox; + s_info.selected_livebox_layout = layout; +} + +Evas_Object *livebox_utils_get_livebox_container_grid(Evas_Object *container) +{ + Evas_Object *grid = elm_layout_content_get(container, "content"); + if (!grid) { + LOGE("grid == NULL"); + return NULL; + } + + return grid; +} + + +void livebox_utils_set_grid_object_pack(Evas_Object *livebox, + Evas_Object *item_to_pack, Evas_Object *grid) +{ + int x = -1, y = -1, w = -1, h = -1; + int out_x, out_y; + + if (!grid) { + LOGE("grid == NULL"); + return; + } + + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + if (!item_to_pack) { + LOGE("item_to_pack == NULL"); + return; + } + + livebox_utils_convert_size_to_grid_coord(livebox, grid, &x, &y, &w, &h); + livebox_utils_normalize_grid_pos(x, y, w, h, &out_x, &out_y); + elm_grid_pack_set(item_to_pack, out_x, out_y, w, h); +} + +void livebox_utils_repack_grid_object(Evas_Object *livebox, + Evas_Object *item_to_pack, Evas_Object *grid_from, Evas_Object *grid_to) +{ + int x = -1, y = -1, w = -1, h = -1; + int out_x, out_y; + + if (!item_to_pack) { + LOGE("item_to_pack == NULL"); + return; + } + + if (grid_from) { + elm_grid_pack_get(item_to_pack, &x, &y, &w, &h); + LOGD("Unpacking from: %p -> %d %d %d %d", + grid_from, x, y, w, h); + + elm_grid_unpack(grid_from, item_to_pack); + } + + if (livebox && grid_to) { + livebox_utils_convert_size_to_grid_coord(livebox, + grid_to, &x, &y, &w, &h); + livebox_utils_normalize_grid_pos(x, y, w, h, &out_x, &out_y); + elm_grid_pack(grid_to, item_to_pack, out_x, out_y, w, h); + } +} + + +void livebox_utils_convert_size_to_grid_coord(Evas_Object *livebox, Evas_Object *grid, + int *out_x, int *out_y, int *out_w, int *out_h) +{ + int lx = 0, ly, lw = 0, lh = 0; + int gx = 0, gy, gw = 0, gh = 0; + float ratio_x = 0, ratio_y = 0; + + if (!livebox) { + LOGE("livebox == NULL"); + return; + } + + if (!grid) { + LOGE("grid == NULL"); + return; + } + + if (!out_w || !out_h) { + LOGE("output: out_w == %p; out_h == %p", out_w, out_h); + return; + } + + evas_object_geometry_get(livebox, &lx, &ly, &lw, &lh); + evas_object_geometry_get(grid, &gx, &gy, &gw, &gh); + + if (gw == 0 || gh == 0) { + LOGE("Grid wrong size gw == %d; gh == %d", gw, gh); + return; + } + + lx -= gx; + ly -= gy; + + ratio_x = (float)lx / gw; + ratio_y = (float)ly / gh; + + *out_x = round(ratio_x * LIVEBOX_TOTAL_COLUMNS); + *out_y = round(ratio_y * LIVEBOX_TOTAL_ROWS); + + ratio_x = (float)lw / gw; + ratio_y = (float)lh / gh; + + *out_w = round(ratio_x * LIVEBOX_TOTAL_COLUMNS); + *out_h = round(ratio_y * LIVEBOX_TOTAL_ROWS); + + *out_x /= LIVEBOX_GRID_ROWS_CELLS_MULTI; + *out_x *= LIVEBOX_GRID_ROWS_CELLS_MULTI; + + *out_y /= LIVEBOX_GRID_ROWS_CELLS_MULTI; + *out_y *= LIVEBOX_GRID_ROWS_CELLS_MULTI; +} + +void livebox_utils_normalize_grid_pos(int obj_x, int obj_y, int obj_w, + int obj_h, int *out_x, int *out_y) +{ + int dx = obj_x + obj_w; + int dy = obj_y + obj_h; + + if (dx > LIVEBOX_TOTAL_COLUMNS) + obj_x = (LIVEBOX_TOTAL_COLUMNS - obj_w); + + if (dy > LIVEBOX_TOTAL_ROWS) + obj_y = (LIVEBOX_TOTAL_ROWS - obj_h); + + if (obj_x < 0) + obj_x = 0; + + if (obj_y < 0) + obj_y = 0; + + *out_x = obj_x; + *out_y = obj_y; +} + +/* -------------------------------------- SHADOW -----------------------------*/ + +Evas_Object *livebox_utils_get_shadow() +{ + if (!s_info.shadow) { + LOGE("s_info.shadow == NULL"); + return NULL; + } + + return s_info.shadow; +} + +void livebox_utils_shadow_unpack(void) +{ + Evas_Object *page = NULL; + Evas_Object *grid = NULL; + + page = livebox_utils_selected_livebox_get(); + if (!page) { + LOGE("page == NULL"); + return; + } + + grid = livebox_utils_get_livebox_container_grid(page); + if (!grid) { + LOGE("grid == NULL"); + return; + } + + livebox_utils_repack_grid_object(NULL, livebox_utils_get_shadow(), + grid, NULL); +} + +void livebox_utils_create_shadow(Evas_Object *parent) +{ + Evas *e = NULL; + Evas_Object *shadow = NULL; + + if (!parent) { + LOGE("parent == NULL"); + return; + } + + e = evas_object_evas_get(parent); + if (!e) { + LOGE("parent == NULL"); + return; + } + + + shadow = evas_object_rectangle_add(e); + if (!shadow) { + LOGE("shadow == NULL"); + return; + } + + s_info.shadow = shadow; + evas_object_color_set(shadow, LIVEBOX_GRID_BG_ALPHA, + LIVEBOX_GRID_BG_ALPHA, LIVEBOX_GRID_BG_ALPHA, + LIVEBOX_GRID_BG_ALPHA); + evas_object_pass_events_set(shadow, true); +} + +void livebox_utils_set_shadow_visibility(bool visible) +{ + if (!s_info.shadow) { + LOGE("s_info.shadow == NULL"); + return; + } + + if (visible) { + evas_object_color_set(s_info.shadow, LIVEBOX_GRID_BG_ALPHA, + LIVEBOX_GRID_BG_ALPHA, LIVEBOX_GRID_BG_ALPHA, + LIVEBOX_GRID_BG_ALPHA); + evas_object_show(s_info.shadow); + } else { + evas_object_color_set(s_info.shadow, 0, 0, 0, 0); + evas_object_hide(s_info.shadow); + } +} + +void livebox_utils_create_grid_shadow_clipper(Evas_Object *livebox_container) +{ + Evas_Object *grid_bg = NULL; + + if (!livebox_container) { + LOGD("livebox_container == NULL"); + return; + } + + grid_bg = __livebox_utils_create_grid_bg(livebox_container); + if (!grid_bg) { + LOGD("grid_bg == NULL"); + return; + } + + elm_object_part_content_set(livebox_container, PART_GRID_BG, grid_bg); + evas_object_clip_set(grid_bg, s_info.shadow); + + elm_layout_signal_emit(livebox_container, + SIGNAL_GRID_SHADOW_HIDE, PART_GRID_BG); +} + +static Evas_Object *__livebox_utils_create_grid_bg(Evas_Object *parent) +{ + Evas *e = NULL; + Evas_Object *table = NULL; + Evas_Object *item; + int i = 0, j = 0; + int w = -1, h = -1; + + if (!parent) { + LOGE("parent == NULL"); + return NULL; + } + + e = evas_object_evas_get(parent); + if (!e) { + LOGE("parent == NULL"); + return NULL; + } + + table = elm_table_add(parent); + if (!table) { + LOGE("table == NULL"); + return NULL; + } + + w = (LIVEBOX_GRID_BG_PADDING / + (float)ROOT_WIN_W) * home_screen_get_root_width(); + h = (LIVEBOX_GRID_BG_PADDING / + (float)ROOT_WIN_H) * home_screen_get_root_height(); + + elm_table_padding_set(table, w, h); + elm_table_homogeneous_set(table, EINA_TRUE); + + for (i = 0; i < LIVEBOX_GRID_COLUMNS; ++i) { + for (j = 0; j < LIVEBOX_GRID_ROWS; ++j) { + item = evas_object_rectangle_add(e); + if (!item) { + LOGE("item == NULL"); + evas_object_del(table); + return NULL; + } + + evas_object_color_set(item, 255, 255, 255, 255); + evas_object_pass_events_set(item, true); + evas_object_show(item); + evas_object_size_hint_weight_set(item, + EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_fill_set(item, + EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_table_pack(table, item, i, j, 1, 1); + } + } + + return table; +} + +void livebox_utils_get_cursor_pos(int *mx, int *my) +{ + Evas *e = evas_object_evas_get(home_screen_get_win()); + if (!e) { + LOGE("e == NULL"); + return; + } + evas_pointer_canvas_xy_get(e, mx, my); +} + +static Eina_Rectangle *__livebox_utils_get_grid_rectangle(Evas_Object *obj) +{ + LOGD(""); + Eina_Rectangle *rect; + int x = -1, y = -1, w = -1, h = -1; + if (!obj) { + LOGE("obj == NULL"); + return NULL; + } + + elm_grid_pack_get(obj, &x, &y, &w, &h); + rect = eina_rectangle_new(x, y, w, h); + + if (!rect) { + LOGE("rect == NULL"); + return NULL; + } + + return rect; +} + +static bool __livebox_utils_check_intersection(Evas_Object *obj_a, + Eina_Rectangle *rect) +{ + Eina_Rectangle *rect_o = NULL; + bool out = true; + + if (!obj_a) { + LOGE("obj == NULL"); + return true; + } + + rect_o = __livebox_utils_get_grid_rectangle(obj_a); + + if (!rect_o || !rect) { + LOGE("Rectangle not created: rect_o = %p; rect = %p", + rect_o, rect); + return true; + } + + LOGD("Intersection: <%dx%d - %dx%d> - <%dx%d - %dx%d>", + rect_o->x, rect_o->y, rect_o->w, rect_o->h, + rect->x, rect->y, rect->w, rect->h); + + out = eina_rectangles_intersect(rect_o, rect); + + eina_rectangle_free(rect_o); + + return out; +} diff --git a/src/livebox/livebox_widget.c b/src/livebox/livebox_widget.c new file mode 100644 index 0000000..fb654a5 --- /dev/null +++ b/src/livebox/livebox_widget.c @@ -0,0 +1,516 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "livebox/livebox_widget.h" +#include "livebox/livebox_panel.h" +#include "livebox/livebox_utils.h" +#include "util.h" +#include "data_model.h" +#include "page_scroller.h" +#include "popup.h" + + +static int __livebox_widget_get_pkg_list_cb(const char *pkg_id, const char *widget_id, int is_prime, void *data); + +static int request_cb(const char *appid, + const char *name, + int type, + const char *content_info, + const char *icon, + int pid, + double period, + int allow_duplicate, + void *data); + +static void update_content_info(Evas_Object *widget, const char *content_info); + +static struct { + Eina_List *widget_list; +} s_info = { + .widget_list = NULL, +}; + +void livebox_widget_init(void) +{ + int ret = -1; + + ret = widget_service_get_widget_list(__livebox_widget_get_pkg_list_cb, NULL); + + if (ret == WIDGET_ERROR_INVALID_PARAMETER || + ret == WIDGET_ERROR_IO_ERROR || + ret == WIDGET_ERROR_PERMISSION_DENIED) { + LOGE("FAILED TO GET PKGLIST. ERROR CODE: %d", ret); + return; + } else { + LOGI("SUCCESS TO GET PKGLIST. COUNT: %d", ret); + } + + widget_viewer_evas_init(home_screen_get_win()); + + ret = shortcut_set_request_cb(request_cb, NULL); + if (ret < 0) + LOGE("Failed to add shortcut event listener: 0x%X\n", ret); +} + +Eina_List *livebox_widget_get_list(void) +{ + if (!s_info.widget_list) { + LOGE("s_info.widget_list == NULL"); + return NULL; + } + + return s_info.widget_list; +} + +static void widget_content_info_updated_cb(void *data, Evas_Object *obj, void *event_info) +{ + widget_evas_event_info_s *info = event_info; + const char *content_info; + + if (info->error != WIDGET_ERROR_NONE || !info->widget_app_id) + return; + + content_info = widget_viewer_evas_get_content_info(obj); + LOGD("Content inf is updated [%s] - [%s]\n", info->widget_app_id, content_info); + + update_content_info(obj, content_info); + +} + +Evas_Object *livebox_widget_add(const char *pkg_name, Evas_Object *parent, char *content_info) +{ + Evas_Object *livebox = widget_viewer_evas_add_widget(parent, pkg_name, content_info, WIDGET_VIEWER_EVAS_DEFAULT_PERIOD); + if (!livebox) { + LOGE("livebox == NULL"); + return NULL; + } + + evas_object_smart_callback_add(livebox, WIDGET_SMART_SIGNAL_EXTRA_INFO_UPDATED, widget_content_info_updated_cb, NULL); + + return livebox; +} + +void livebox_widget_del(Evas_Object *widget) +{ + if (!widget) { + LOGE("widget == NULL"); + return; + } + + LOGI("DELETING WIDGET: %s", widget_viewer_evas_get_widget_id(widget)); + widget_viewer_evas_set_permanent_delete(widget, 1); +} + +void livebox_widget_fini(void) +{ + Eina_List *l; + widget_info_t *widget = NULL; + + if (!s_info.widget_list) { + LOGE("s_info.widget_list == NULL"); + return; + } + + EINA_LIST_FOREACH(s_info.widget_list, l, widget) { + if (!widget) { + LOGE("widget == NULL"); + continue; + } + + free(widget->pkg_id); + free(widget->widget_id); + } + + eina_list_free(s_info.widget_list); +} + +void livebox_widget_viewer_paused(void) +{ + int ret; + ret = widget_viewer_evas_notify_paused_status_of_viewer(); + LOGD("Viewer is paused: %d\n", ret); +} + +void livebox_widget_viewer_resumed(void) +{ + Evas_Object *page = NULL; + Eina_List *lb_layouts = NULL; + Eina_List *l = NULL; + Eina_List *l2 = NULL; + Eina_List *pages = NULL; + Evas_Object *widget = NULL; + Evas_Object *lb_layout = NULL; + const char *content_info = NULL; + int ret; + static Eina_Bool app_created = EINA_TRUE; + + ret = widget_viewer_evas_notify_resumed_status_of_viewer(); + LOGD("Viewer is resumed: %d\n", ret); + + if (app_created) { + app_created = EINA_FALSE; + return; + } + + pages = page_scroller_get_all_pages(livebox_panel_get()); + + if (!pages) { + LOGE("pages == NULL"); + return; + } + + EINA_LIST_FOREACH(pages, l, page) { + if (!page) { + LOGE("page == NULL"); + return; + } + + lb_layouts = livebox_utils_get_liveboxes_on_page_list(page); + if (!lb_layouts) { + LOGE("lb_layouts == NULL"); + continue; + } + + EINA_LIST_FOREACH(lb_layouts, l2, lb_layout) { + if (!lb_layout) { + LOGE("lb_layout == NULL"); + continue; + } + + widget = elm_layout_content_get(lb_layout, PART_LIVEBOX); + if (!widget) { + LOGE("widget == NULL"); + return; + } + + content_info = widget_viewer_evas_get_content_info(widget); + update_content_info(widget, content_info); + + LOGD("Content inf is updated [%s] - [%s]\n", + widget_viewer_evas_get_widget_id(widget), + content_info); + } + } +} + +void livebox_widget_get_dimensions(int size, int *x, int *y) +{ + if (!x || !y) { + LOGE("Wrong arguments provided: %p %p", x, y); + return; + } + + switch (size) { + case WIDGET_SIZE_TYPE_1x1: + *x = 1; + *y = 1; + break; + case WIDGET_SIZE_TYPE_2x1: + *x = 2; + *y = 1; + break; + case WIDGET_SIZE_TYPE_2x2: + *x = 2; + *y = 2; + break; + case WIDGET_SIZE_TYPE_4x1: + *x = 4; + *y = 1; + break; + case WIDGET_SIZE_TYPE_4x2: + *x = 4; + *y = 2; + break; + case WIDGET_SIZE_TYPE_4x3: + *x = 4; + *y = 3; + break; + case WIDGET_SIZE_TYPE_4x4: + *x = 4; + *y = 4; + break; + case WIDGET_SIZE_TYPE_4x5: + *x = 4; + *y = 5; + break; + case WIDGET_SIZE_TYPE_4x6: + *x = 4; + *y = 6; + break; + case WIDGET_SIZE_TYPE_EASY_1x1: + *x = 1; + *y = 1; + break; + case WIDGET_SIZE_TYPE_EASY_3x1: + *x = 3; + *y = 1; + break; + case WIDGET_SIZE_TYPE_EASY_3x3: + *x = 3; + *y = 3; + break; + case WIDGET_SIZE_TYPE_FULL: + *x = 4; + *y = 4; + break; + case WIDGET_SIZE_TYPE_UNKNOWN: + *x = -1; + *y = -1; + break; + default: + *x = -1; + *y = -1; + } +} + +void livebox_widget_get_size_available(Evas_Object *widget, int *cnt, int **size_list) +{ + int ret = -1; + const char *widget_id = NULL; + *cnt = 0; + + if (!widget) { + LOGE("widget == NULL"); + return; + } + + if (!size_list) { + LOGE("size_list == NULL"); + return; + } + + if (*size_list) { + free(*size_list); + *size_list = NULL; + } + + widget_id = widget_viewer_evas_get_widget_id(widget); + if (!widget_id) { + LOGE("widget_id == NULL"); + free(*size_list); + *size_list = NULL; + return; + } + + ret = widget_service_get_supported_size_types(widget_id, cnt, size_list); + + if (ret != 0 || *cnt == 0) { + LOGE("RESIZE COULD NOT GET SUPPORTED SIZES"); + *size_list = calloc(WIDGET_NR_OF_SIZE_LIST, sizeof(widget_size_type_e)); + *cnt = 2; + (*size_list)[0] = WIDGET_SIZE_TYPE_4x2; + (*size_list)[1] = WIDGET_SIZE_TYPE_4x4; + } + + LOGD("RESIZE AVAILABLE SIZE COUNT: %d", *cnt); +} + +void livebox_widget_set_event_blocking(Evas_Object *widget) +{ + if (!widget) { + LOGE("widget == NULL"); + return; + } + + widget_viewer_evas_cancel_click_event(widget); + LOGI("BLOCKING: %s", widget_viewer_evas_get_widget_id(widget)); +} + +static int __livebox_widget_get_pkg_list_cb(const char *pkg_id, const char *widget_id, int is_prime, void *data) +{ + widget_info_t *widget = NULL; + int cnt = WIDGET_NR_OF_SIZE_LIST;; + int *size_list = NULL; + int ret = -1; + + LOGI("WIDGET: %s; %s; %d", pkg_id, widget_id, is_prime); + + widget = calloc(1, sizeof(widget_info_t)); + if (!widget) { + LOGE("widget == NULL"); + return 0; + } + + widget->widget_id = strdup(widget_id); + widget->pkg_id = strdup(pkg_id); + widget->is_prime = is_prime; + + ret = widget_service_get_supported_size_types(widget_id, &cnt, &size_list); + + if(ret == 0 && cnt > 0) { + livebox_widget_get_dimensions(size_list[0], &widget->width, &widget->height); + LOGI("SIZE SET [%d, %d] ret == %d; cnt == %d", widget->width, widget->height, ret, cnt); + } else { + LOGE("COULD NOT GET AVAILABLE SiZES ret == %d; cnt == %d; size_list[0] == %d", ret, cnt, size_list[0]); + widget->width = LIVEBOX_ON_CREATE_SIZE; + widget->height = LIVEBOX_ON_CREATE_SIZE; + } + + s_info.widget_list = eina_list_append(s_info.widget_list, widget); + return 0; +} + +static void livebox_widget_new(int widget_width, int widget_height, const char *content_info) +{ + int page_index = -1; + int pos_x = 0; + int pos_y = 0; + Tree_node_t *page_node = NULL; + Tree_node_t *item_node = NULL; + Evas_Object *page = NULL; + + page_index = livebox_panel_find_empty_space(widget_width, widget_height, &pos_x, &pos_y); + + if (page_index > -1) + page = page_scroller_get_page(livebox_panel_get(), page_index); + + if (!page) { + pos_x = 0; + pos_y = 0; + + if (!livebox_panel_can_add_page()) { + LOGI("Cannot add new page"); + return; + } + + page_node = data_model_add_widget_page(); + if (!page_node) { + livebox_panel_destroy(); + LOGE("page_node == NULL"); + return; + } + + page = livebox_panel_add_page(page_node, livebox_panel_get()); + if (!page) { + LOGE("page == NULL"); + livebox_panel_destroy(); + data_model_del_item(page_node); + return; + } + + page_index = page_scroller_get_page_count(livebox_panel_get()) - 1; + } else { + page_node = evas_object_data_get(page, KEY_ICON_DATA); + if (!page_node) { + LOGE("obj_node == NULL"); + livebox_panel_destroy(); + return; + } + } + + item_node = data_model_add_widget(page_node, content_info, pos_x, pos_y, widget_width, widget_height, NULL); + if (!item_node) { + LOGE("item == NULL"); + return; + } + + elm_scroller_page_bring_in(livebox_panel_get(), page_index, 0); + livebox_panel_add_livebox(item_node, page, content_info, pos_x, pos_y, widget_width, widget_height, NULL); + livebox_panel_update_dynamic_index(); +} + +static void _cannot_add_widget_popup_show(void) +{ + popup_data_t *data = popup_create_data(); + if (!data) { + LOGE("data == NULL"); + return; + } + + data->orientation = ELM_POPUP_ORIENT_CENTER; + data->popup_cancel_text = NULL; + data->popup_confirm_text = NULL; + data->popup_content_text = strdup(_("IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB")); + data->popup_title_text = NULL; + data->type = POPUP_INFO; + data->visible_time = 5.0; + + popup_show(data, NULL, NULL, NULL); +} + +static int request_cb(const char *appid, const char *name, int type, + const char *content_info, const char *icon, int pid, double period, + int allow_duplicate, void *data) +{ + int widget_width; + int widget_height; + + LOGI("====== WIDGET REQUEST ======"); + LOGI("Package name: %s\n", appid); + LOGI("Name: %s\n", name); + LOGI("Type: %d\n", type); + LOGI("Content: %s\n", content_info); + LOGI("Icon: %s\n", icon); + LOGI("Requested from: %d\n", pid); + LOGI("Period: %lf\n", period); + LOGI("Allow duplicate: %d\n", allow_duplicate); + LOGI("CBDATA: %p\n", data); + LOGI("============================"); + + switch (type) { + case WIDGET_SIZE_4x2: + widget_width = 4; + widget_height = 2; + break; + case WIDGET_SIZE_4x4: + widget_width = 4; + widget_height = 4; + break; + default: + /* Unsupported */ + LOGE("Unsupported type: %x\n", type); + _cannot_add_widget_popup_show(); + return 0; + } + + LOGI("Widget will be added: %dx%d\n", widget_width, widget_height); + + livebox_widget_new(widget_width, widget_height, content_info); + home_screen_print_tree(); + + return 0; /*returns success. */ +} + +static void update_content_info(Evas_Object *widget, const char *content_info) +{ + Evas_Object *parent = NULL; + Tree_node_t *node = NULL; + + if (!widget) { + LOGE("widget == NULL"); + return; + } + + parent = elm_object_parent_widget_get(widget); + if (!parent) { + LOGE("parent == NULL"); + return; + } + + node = evas_object_data_get(parent, KEY_ICON_DATA); + if (!node) { + LOGE("node == NULL"); + return; + } + + data_model_update_content_info(node, content_info); +} diff --git a/src/livebox_all_pages.c b/src/livebox_all_pages.c new file mode 100644 index 0000000..bb6bfee --- /dev/null +++ b/src/livebox_all_pages.c @@ -0,0 +1,1119 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "conf.h" + +#include "livebox_all_pages.h" +#include "homescreen-efl.h" +#include "page_scroller.h" +#include "livebox/livebox_panel.h" +#include "livebox/livebox_utils.h" +#include "util.h" +#include "dynamic_index.h" +#include "mouse.h" +#include "popup.h" +#include "layout.h" +#include "data_model.h" + +static Evas_Object *__livebox_all_pages_create_grid(Evas_Object *parent_layout); +static Evas_Object *__livebox_all_pages_create_thumb(Evas_Object *page, bool is_fake, bool show_remove_button); +static Evas_Object *__livebox_all_pages_create_bg(Evas_Object *parent); +static Evas_Object *__livebox_all_pages_create_add_icon_layout(void); +static Evas_Object *__livebox_all_pages_insert_thumb(void *data, Evas_Object *obj, const char *part); +static Evas_Object *__livebox_all_pages_get_thumb_page(Elm_Object_Item *it); + +static Eina_Bool __livebox_all_pages_item_up_cb(void *data); +static Eina_Bool __livebox_all_pages_get_grid_state(void *data, Evas_Object *obj, const char *part); +static Eina_Bool __livebox_all_pages_new_item_created_cb(void *data); + +static void __livebox_all_pages_del_grid(void *data, Evas_Object *obj); +static void __livebox_all_pages_grid_item_longpressed_cb(void *data, Evas_Object *obj, void *ei); +static void __livebox_all_pages_grid_item_moved_cb(void *data, Evas_Object *obj, void *ei); +static void __livebox_all_pages_grid_changed_cb(void *data, Evas_Object *obj, void *ei); +static void __livebox_all_pages_hide_remove_button(Elm_Object_Item *it); +static void __livebox_all_pages_realized_cb(void *data, Evas_Object *obj, void *ei); +static void __livebox_all_pages_remove_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __livebox_all_pages_remove_button_clicked_liveboxes_cb(void *data); +static void __livebox_all_pages_add_page_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __livebox_all_pages_page_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __libebox_all_pages_grid_item_pressed_cb(void *data, Evas_Object *obj, void *ei); + +static char *__livebox_all_pages_get_grid_text(void *data, Evas_Object *obj, const char *part); +static bool __livebox_all_pages_fill_grid(Evas_Object *grid); +static bool __livebox_all_pages_check_add_page(Elm_Object_Item *it); +static bool __livebox_all_pages_is_page_empty(Evas_Object *page); +static Eina_List *__livebox_all_pages_unpack_grid(void); +static Elm_Gengrid_Item_Class *__livebox_all_pages_create_grid_item_class(void); + + +static struct { + Evas_Object *item; + Elm_Object_Item *g_item; + + int cur_x; + int cur_y; + + bool is_created; +} s_info_reposition = { + .item = NULL, + .g_item = NULL, + + .cur_x = -1, + .cur_y = -1, + + .is_created = false, +}; + +static struct { + Evas_Object *grid; + Evas_Object *layout; + Elm_Gengrid_Item_Class *gic; + Elm_Object_Item *add_page_item; + bool is_add_page_visible; + int current_page; + int pressed_item; + bool is_item_longpressed; +} s_info = { + .grid = NULL, + .layout = NULL, + .gic = NULL, + .add_page_item = NULL, + .is_add_page_visible = true, + .current_page = -1, + .pressed_item = -1, + .is_item_longpressed = false, +}; + +/*======================================== PUBLIC FUNCTIONS IMPLEMENTATION ======================================*/ +HAPI Evas_Object *livebox_all_pages_show(void) +{ + Evas_Object *all_pages_layout = NULL; + Evas_Object *win = home_screen_get_win(); + Evas_Object *bg = NULL; + Evas_Object *grid = NULL; + + + int g_count; + int w = home_screen_get_root_width(); + int h = home_screen_get_root_height(); + + if (!win) { + LOGE("[INVALID_STATE][win='%p']", win); + return NULL; + } + + all_pages_layout = util_create_edje_layout(win, EDJE_DIR"/page_edit.edj", GROUP_ALL_PAGES); + if (!all_pages_layout) { + LOGE("[FAILED][util_edje_layout_create]"); + return NULL; + } + + evas_object_size_hint_min_set(all_pages_layout, w, h); + evas_object_size_hint_max_set(all_pages_layout, w, h); + evas_object_resize(all_pages_layout, w, h); + evas_object_layer_set(all_pages_layout, EVAS_LAYER_MAX-1); + evas_object_move(all_pages_layout, ALL_PAGES_X, ALL_PAGES_Y); + + bg = __livebox_all_pages_create_bg(all_pages_layout); + if (!bg) { + LOGE("[FAILED][__livebox_all_pages_create_bg]"); + evas_object_del(all_pages_layout); + return NULL; + } + + grid = __livebox_all_pages_create_grid(all_pages_layout); + if (!grid) { + LOGE("[FAILED][__livebox_all_pages_create_grid]"); + evas_object_del(all_pages_layout); + return NULL; + } + + __livebox_all_pages_fill_grid(grid); + + s_info.grid = grid; + s_info.layout = all_pages_layout; + g_count = elm_gengrid_items_count(grid); + + if (g_count == MAX_ITEMS) + s_info.is_add_page_visible = false; + + evas_object_smart_callback_add(grid, "realized", __livebox_all_pages_realized_cb, NULL); + + return all_pages_layout; +} + +HAPI void livebox_all_pages_hide(void) +{ + Evas_Object *all_pages_layout = s_info.layout; + Evas_Object *lvb_scroller = NULL; + + Eina_List *page_list = NULL; + int page_count = 0; + + if (!all_pages_layout) { + LOGE("[FAILED][all_pages_layout]"); + return; + } + + lvb_scroller = livebox_panel_get(); + if (!lvb_scroller) { + LOGE("[FAILED][livebox_panel_get]"); + return; + } + + page_list = __livebox_all_pages_unpack_grid(); + if (!page_list) { + LOGE("[FAILED][__livebox_all_pages_unpack_grid]"); + return; + } + + page_scroller_pack_pages(lvb_scroller, page_list); + eina_list_free(page_list); + evas_object_del(all_pages_layout); + elm_gengrid_item_class_free(s_info.gic); + + page_count = page_scroller_get_page_count(lvb_scroller); + + if (s_info.current_page >= page_count) + s_info.current_page = page_count - 1; + + if (s_info.pressed_item >= 0) + s_info.current_page = s_info.pressed_item - 1; + + LOGI("CURRENT : [%d] PRESSED_PAGE: [%d]", s_info.current_page, s_info.pressed_item); + + page_scroller_show_page(lvb_scroller, s_info.current_page); + + dynamic_index_reload(evas_object_data_get(lvb_scroller, KEY_INDEX), s_info.current_page, + page_count); + + + s_info.layout = NULL; + s_info.grid = NULL; + s_info.gic = NULL; +} + +HAPI void livebox_all_pages_move_item(int x, int y) +{ + int xp, yp; + int m_idx = -1; /*moved item index*/ + int d_idx = -1; /*destination index*/ + + Elm_Object_Item *it = NULL; + Elm_Object_Item *n_it = NULL; + + Evas_Object *empty_ly = NULL; + + if (!s_info_reposition.item) + return; + + xp = x - OFFSET; + yp = y - OFFSET; + evas_object_move(s_info_reposition.item, xp, yp); + + it = elm_gengrid_at_xy_item_get(s_info.grid, x, y, NULL, NULL); + if (!it || (it == s_info_reposition.g_item) || !s_info_reposition.g_item || s_info_reposition.is_created) + return; + + /*check if item is add page*/ + if (__livebox_all_pages_check_add_page(it)) + return; + + m_idx = elm_gengrid_item_index_get(s_info_reposition.g_item); + d_idx = elm_gengrid_item_index_get(it); + + empty_ly = __livebox_all_pages_create_thumb(NULL, false, true); + if (!empty_ly) { + LOGE("[FAILED][__livebox_all_pages_create_thumb]"); + return; + } + + if (d_idx > m_idx) { + /*insert after*/ + s_info_reposition.is_created = true; + n_it = elm_gengrid_item_insert_after(s_info.grid, s_info.gic, empty_ly, it, NULL, NULL); + } else { + /*insert before*/ + s_info_reposition.is_created = true; + n_it = elm_gengrid_item_insert_before(s_info.grid, s_info.gic, empty_ly, it, NULL, NULL); + } + + evas_object_smart_callback_add(s_info.grid, "index,update", __livebox_all_pages_grid_changed_cb, n_it); + elm_object_item_del(s_info_reposition.g_item); + s_info_reposition.g_item = n_it; +} + +HAPI void livebox_all_pages_up_item(void) +{ + if (!s_info_reposition.item) + return; + + ecore_timer_add(0.05, __livebox_all_pages_item_up_cb, NULL); +} + +/*====================================== PRIVATE FUNCTIONS IMPLEMENTATION =======================================*/ +static void __livebox_all_pages_remove_button_clicked_liveboxes_cb(void *data) +{ + Elm_Object_Item *clicked_item = (Elm_Object_Item *) data; + Evas_Object *add_page = NULL; + Eina_List *g_items = NULL; + Elm_Object_Item *g_item = NULL; + Eina_List *last_node = NULL; + Evas_Object *clicked_page = NULL; + int g_count = 0; + + if (!clicked_item) { + LOGE("[FAILED][__livebox_all_pages_remove_button_clicked_liveboxes_cb]"); + return; + } + + clicked_page = __livebox_all_pages_get_thumb_page(clicked_item); + if (!clicked_page) { + LOGE("[FAILED][__livebox_all_pages_get_thumb_page]"); + return; + } + + g_items = elm_gengrid_realized_items_get(s_info.grid); + last_node = eina_list_last(g_items); + if (last_node) + g_item = eina_list_data_get(last_node); + eina_list_free(g_items); + + /*is this the correct order ? :*/ + livebox_panel_destroy_page(clicked_page); + elm_object_item_del(clicked_item); + g_count = elm_gengrid_items_count(s_info.grid); + + + if (g_count < MAX_ITEMS && !(__livebox_all_pages_check_add_page(g_item))) { + add_page = __livebox_all_pages_create_add_icon_layout(); + if (!add_page) { + LOGE("[FAILED][__livebox_all_pages_create_add_icon_layout]"); + return; + } + + s_info.add_page_item = elm_gengrid_item_append(s_info.grid, s_info.gic, add_page, NULL, NULL); + if (!s_info.add_page_item) { + LOGE("[FAILED][elm_gengrid_item_append]"); + evas_object_del(add_page); + return; + } + + s_info.is_add_page_visible = true; + } + + if (g_count == 2) + __livebox_all_pages_hide_remove_button(elm_gengrid_first_item_get(s_info.grid)); + + s_info.pressed_item = -1; + popup_destroy(); +} + +static bool __livebox_all_pages_is_page_empty(Evas_Object *page) +{ + Eina_List *lb_list = NULL; + + if (!page) { + LOGE("[INVALID_PARAM][page='%p']", page); + return true; + } + + lb_list = livebox_utils_get_liveboxes_on_page_list(page); + if (!lb_list) { + LOGE("[FAILED][livebox_utils_liveboxes_on_page_list_get]"); + return true; + } + + if (eina_list_count(lb_list) > 0) { + LOGE("[FAILED][eina_list_count]"); + eina_list_free(lb_list); + return false; + } + + eina_list_free(lb_list); + return true; +} + +static void __livebox_all_pages_add_page_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Tree_node_t *page_node = NULL; + + Elm_Object_Item *first_item = NULL; + + Evas_Object *layout = s_info.layout; + Evas_Object *grid = s_info.grid; + Evas_Object *new_page = NULL; + Evas_Object *thumb = NULL; + Evas_Object *first_item_layout = NULL; + + + int g_count = 0; /*gengrid items count*/ + + Elm_Gengrid_Item_Class *gic = s_info.gic; + Elm_Object_Item *add_item = s_info.add_page_item; + + int w = home_screen_get_root_width(); + int h = home_screen_get_root_height(); + + w = THUMB_W_REL * w; + h = THUMB_H_REL * h; + + if (!gic || !layout || !grid || !add_item) { + LOGE("[INVALID_PARAM][gic='%p'][layout='%p'][grid='%p'][add_item='%p']", gic, layout, grid, add_item); + return; + } + + g_count = elm_gengrid_items_count(grid); + + page_node = data_model_add_widget_page(); + if (!page_node) { + LOGE("page_node == NULL"); + return; + } + + new_page = livebox_panel_create_empty_page(page_node, livebox_panel_get()); + if (!new_page) { + LOGE("[FAILED][livebox_panel_empty_page_create]"); + data_model_del_item(page_node); + return; + } + + home_screen_print_tree(); + + thumb = __livebox_all_pages_create_thumb(new_page, true, true); + if (!thumb) { + LOGE("[FAILED][__livebox_all_pages_create_thumb]"); + evas_object_del(new_page); + return; + } + + + if (g_count < MAX_ITEMS) { + elm_gengrid_item_insert_before(grid, gic, thumb, add_item, NULL, NULL); + s_info.is_add_page_visible = true; + } else if (g_count == MAX_ITEMS) { + elm_object_item_del(s_info.add_page_item); + s_info.add_page_item = NULL; + + elm_gengrid_item_append(grid, gic, thumb, NULL, NULL); + s_info.is_add_page_visible = false; + } + + /*Show remove button on first page*/ + first_item = elm_gengrid_first_item_get(s_info.grid); + if (!first_item) { + return; + } + + first_item_layout = elm_object_item_part_content_get(first_item, GENGRID_ITEM_CONTENT); + if (!first_item_layout) + return; + /*WHAT HAPPENS to previously allocated thumb (g_count > MAX_ITEMS)??*/ + thumb = elm_object_part_content_get(first_item_layout, PART_GRID_ITEM_CONTENT); + if (!thumb) + return; + + elm_object_signal_emit(thumb, SIGNAL_REMOVE_BUTTON_SHOW, SIGNAL_SOURCE); +} + +static Evas_Object *__livebox_all_pages_create_bg(Evas_Object *parent) +{ + LOGI(""); + Evas_Object *bg = NULL; + char *buf = NULL; + int ret = -1; + + if (!parent) { + LOGE("[FAILED][__livebox_all_pages_create_bg]"); + return NULL; + } + + bg = elm_bg_add(parent); + if (!bg) { + LOGE("[FAILED][elm_bg_add]"); + return NULL; + } + + ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf); + + if (ret != SYSTEM_SETTINGS_ERROR_NONE || !buf) { + LOGE("[FAILED][failed to get bg path]"); + evas_object_del(bg); + return NULL; + } + + if (!elm_bg_file_set(bg, buf, NULL)) { + LOGE("[FAILED][failed to set bg]"); + evas_object_del(bg); + free(buf); + return NULL; + } + + evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(bg); + elm_object_part_content_set(parent, "bg", bg); + free(buf); + return bg; +} + +static Evas_Object *__livebox_all_pages_create_grid(Evas_Object *parent_layout) +{ + Evas_Object *grid = NULL; + + if (!parent_layout) { + LOGE("[INVALID_PARAM][parent_layout='%p']", parent_layout); + return NULL; + } + + grid = elm_gengrid_add(parent_layout); + if (!grid) { + LOGE("Failed to create gengrid"); + return NULL; + } + + elm_gengrid_item_size_set(grid, (ITEM_W_REL * home_screen_get_root_width()), (ITEM_H_REL * home_screen_get_root_height())); + elm_gengrid_select_mode_set(grid, ELM_OBJECT_SELECT_MODE_NONE); + elm_gengrid_filled_set(grid, EINA_TRUE); + elm_gengrid_horizontal_set(grid, EINA_FALSE); + + /* elm_gengrid_reorder_mode_set(grid, EINA_TRUE);*/ + elm_gengrid_align_set(grid, 0.5, 0.5); + + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_part_content_set(parent_layout, PART_LAYOUT_CONTENT, grid); + evas_object_show(grid); + + evas_object_smart_callback_add(grid, "longpressed", __livebox_all_pages_grid_item_longpressed_cb, NULL); + evas_object_smart_callback_add(grid, "moved", __livebox_all_pages_grid_item_moved_cb, NULL); + evas_object_smart_callback_add(grid, "pressed", __libebox_all_pages_grid_item_pressed_cb, NULL); + + __livebox_all_pages_create_grid_item_class(); + + return grid; +} + +static Elm_Gengrid_Item_Class *__livebox_all_pages_create_grid_item_class(void) +{ + Elm_Gengrid_Item_Class *gic = s_info.gic; + if (!s_info.gic) { + gic = elm_gengrid_item_class_new(); + if (!gic) { + LOGE("Failed to create gengrid item class"); + return NULL; + } + + gic->item_style = "default"; + gic->func.text_get = __livebox_all_pages_get_grid_text; + gic->func.content_get = __livebox_all_pages_insert_thumb; + gic->func.state_get = __livebox_all_pages_get_grid_state; + gic->func.del = __livebox_all_pages_del_grid; + + s_info.gic = gic; + } + + return gic; +} + +static Evas_Object *__livebox_all_pages_create_thumb(Evas_Object *page, bool is_fake, bool show_remove_button) +{ + Evas_Object *win = NULL; + Evas_Object *thumb = NULL; + Evas_Object *ly_grid_item = NULL; + Evas_Object *ly_thumb = NULL; + Evas *e = NULL; + + win = home_screen_get_win(); + if (!win) { + LOGE("[FAILED][home_screen_win_get]"); + return NULL; + } + + int w = home_screen_get_root_width(); + int h = home_screen_get_root_height(); + + w = THUMB_W_REL * w; + h = THUMB_H_REL * h; + + ly_grid_item = util_create_edje_layout(win, EDJE_DIR"/page_edit.edj", GROUP_GRID_ITEM); + if (!ly_grid_item) { + LOGE("[FAILED][util_edje_layout_create]"); + return NULL; + } + + ly_thumb = util_create_edje_layout(win, EDJE_DIR"/page_edit.edj", GROUP_THUMB); + if (!ly_thumb) { + LOGE("[FAILED][util_edje_layout_create]"); + evas_object_del(ly_grid_item); + return NULL; + } + + elm_object_signal_callback_add(ly_thumb, SIGNAL_THUMBNAIL_CLICKED, SIGNAL_SOURCE, __livebox_all_pages_page_clicked_cb, NULL); + + if (page && !is_fake) { + thumb = page_scroller_get_page_thumbnail(page, w, h); + if (!thumb) { + LOGE("[FAILED][page_scroller_page_thumbnail_get]"); + evas_object_del(ly_grid_item); + evas_object_del(ly_thumb); + return NULL; + } + + evas_object_resize(thumb, w, h); + evas_object_size_hint_max_set(thumb, w, h); + evas_object_data_set(thumb, KEY_THUMB_DATA, page); + } else if (page) { + e = evas_object_evas_get(win); + if (!e) { + LOGE("[FAILED][evas_object_evas_get]"); + return NULL; + } + + thumb = evas_object_rectangle_add(e); + if (!thumb) { + LOGE("[FAILED][Failed to create thumb]"); + evas_object_del(ly_grid_item); + evas_object_del(ly_thumb); + return NULL; + } + + evas_object_color_set(thumb, 0, 0, 0, 0); + evas_object_resize(thumb, w, h); + evas_object_size_hint_max_set(thumb, w, h); + evas_object_data_set(thumb, KEY_THUMB_DATA, page); + } + + if (!page && !is_fake) { + elm_object_signal_emit(ly_thumb, SIGNAL_BG_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(ly_thumb, SIGNAL_REMOVE_BUTTON_HIDE, SIGNAL_SOURCE); + } + elm_object_signal_callback_add(ly_thumb, SIGNAL_REMOVE_BUTTON_CLICKED, SIGNAL_SOURCE, __livebox_all_pages_remove_button_clicked_cb, ly_thumb); + + elm_object_part_content_set(ly_thumb, PART_THUMB_CONTENT, thumb); + elm_object_part_content_set(ly_grid_item, PART_GRID_ITEM_CONTENT, ly_thumb); + + if (!show_remove_button) + elm_object_signal_emit(ly_thumb, SIGNAL_REMOVE_BUTTON_HIDE_INSTANT, SIGNAL_SOURCE); + + return ly_grid_item; +} + +static Evas_Object *__livebox_all_pages_create_add_icon_layout(void) +{ + Evas_Object *win = NULL; + Evas *e = NULL; + Evas_Object *add_icon = NULL; + Evas_Object *ly_grid_item = NULL; + Evas_Object *ly_thumb = NULL; + int w = home_screen_get_root_width(); + int h = home_screen_get_root_height(); + + win = home_screen_get_win(); + if (!win) { + LOGE("[FAILED][home_screen_win_get]"); + return NULL; + } + + e = evas_object_evas_get(win); + if (!e) { + LOGE("[FAILED][evas_object_evas_get]"); + return NULL; + } + + add_icon = evas_object_rectangle_add(e); + if (!add_icon) { + LOGE("[FAILED][evas_object_rectangle_add]"); + return NULL; + } + evas_object_color_set(add_icon, 0, 0, 0, 0); + + ly_grid_item = util_create_edje_layout(win, EDJE_DIR"/page_edit.edj", GROUP_GRID_ITEM); + if (!ly_grid_item) { + LOGE("[FAILED][util_edje_layout_create]"); + evas_object_del(add_icon); + return NULL; + } + + ly_thumb = util_create_edje_layout(win, EDJE_DIR"/page_edit.edj", GROUP_THUMB); + if (!ly_thumb) { + LOGE("[FAILED][util_edje_layout_create]"); + evas_object_del(add_icon); + evas_object_del(ly_grid_item); + return NULL; + } + + w = THUMB_W_REL * w; + h = THUMB_H_REL * h; + evas_object_size_hint_max_set(add_icon, w, h); + + elm_object_signal_emit(ly_thumb, SIGNAL_REMOVE_BUTTON_HIDE_INSTANT, SIGNAL_SOURCE); + elm_object_part_content_set(ly_grid_item, PART_GRID_ITEM_CONTENT, ly_thumb); + elm_object_part_content_set(ly_thumb, PART_THUMB_CONTENT, add_icon); + + evas_object_data_set(add_icon, KEY_THUMB_DATA, ly_thumb); /*if pointer returned from the data_key will be the same it would mean that we have add page.*/ + elm_object_signal_callback_add(ly_thumb, SIGNAL_THUMBNAIL_CLICKED, SIGNAL_SOURCE, __livebox_all_pages_add_page_clicked_cb, (void *) index); + elm_object_signal_emit(ly_thumb, SIGNAL_ADD_ICON_SHOW, SIGNAL_SOURCE); + + return ly_grid_item; +} + +static bool __livebox_all_pages_fill_grid(Evas_Object *grid) +{ + Eina_List *pages = NULL; + Eina_List *it = NULL; + + Evas_Object *lvb_scroller = NULL; + Evas_Object *page = NULL; + Evas_Object *t_page = NULL; + Evas_Object *add_page = NULL; + + bool show_remove_page = false; + + Elm_Gengrid_Item_Class *gic = s_info.gic; + + int g_count = 0; + + if (!grid) { + LOGE("[INVALID_PARAM][grid='%p']", grid); + return false; + } + + lvb_scroller = livebox_panel_get(); + if (!lvb_scroller) { + LOGE("[FAILED][lvb_scroller='%p']", lvb_scroller); + return false; + } + + s_info.current_page = page_scroller_get_current_page(lvb_scroller); + + LOGI("[%s]", evas_object_type_get(lvb_scroller)); + + pages = page_scroller_unpack_pages(lvb_scroller); + if (!pages) { + LOGE("[FAILED][page_scroller_unpack_pages]"); + return false; + } + + show_remove_page = (eina_list_count(pages) > 1); + + EINA_LIST_FOREACH(pages, it, page) { + if (!page) + continue; + + t_page = __livebox_all_pages_create_thumb(page, false, show_remove_page); + if (!t_page) { + LOGE("[FAILED][__livebox_all_pages_create_thumb]"); + /*TODO: livebox implementer, free pages + think of the way to do something with ui data inside the nodes !*/ + elm_gengrid_clear(grid); + return false; + } + + elm_gengrid_item_append(grid, gic, t_page, NULL, NULL); + } + + eina_list_free(pages); + + g_count = elm_gengrid_items_count(grid); + if (g_count < MAX_ITEMS) { + add_page = __livebox_all_pages_create_add_icon_layout(); + if (!add_page) { + LOGE("[FAILED][__livebox_all_pages_create_add_icon_layout]"); + elm_gengrid_clear(grid); + return false; + } + + s_info.add_page_item = elm_gengrid_item_append(grid, gic, add_page, NULL, NULL); + if (!s_info.add_page_item) { + LOGE("[FAILED][elm_gengrid_item_append]"); + evas_object_del(add_page); + elm_gengrid_clear(grid); + return false; + } + + s_info.is_add_page_visible = true; + } + + return true; +} + +static Evas_Object *__livebox_all_pages_insert_thumb(void *data, Evas_Object *obj, const char *part) +{ + Evas_Object *thumb = (Evas_Object *) data; + + if (!thumb) { + LOGE("[INVALID_DATA][__livebox_all_pages_insert_thumb]"); + return NULL; + } + + if (!strncmp(part, GENGRID_ITEM_CONTENT, strlen(GENGRID_ITEM_CONTENT))) { + return thumb; + } + + return NULL; +} + +static Eina_List *__livebox_all_pages_unpack_grid(void) +{ + Evas_Object *page = NULL; + + Elm_Object_Item *g_item = NULL; + + Eina_List *p_list = NULL; + Eina_List *g_items = NULL; /*list of elm_gengrid items.*/ + Eina_List *it = NULL; + + if (!s_info.grid) { + LOGE("[FAILED][s_info.grid='%p']", s_info.grid); + return NULL; + } + + g_items = elm_gengrid_realized_items_get(s_info.grid); + if (!g_items) { + LOGE("[FAILED][elm_gengrid_realized_items_get]"); + return NULL; + } + + EINA_LIST_FOREACH(g_items, it, g_item) { + if (!g_item) + continue; + + page = __livebox_all_pages_get_thumb_page(g_item); + if (!page) { + LOGE("[FAILED][__livebox_all_pages_get_thumb_page]"); + eina_list_free(p_list); + eina_list_free(g_items); + return NULL; + } + + if (!__livebox_all_pages_check_add_page(g_item)) { + p_list = eina_list_append(p_list, page); + if (!p_list) { + LOGE("[FAILED][eina_list_append]"); + eina_list_free(g_items); + return NULL; + } + } + } + eina_list_free(g_items); + + return p_list; +} + +static void __livebox_all_pages_grid_item_longpressed_cb(void *data, Evas_Object *obj, void *ei) +{ + s_info.is_item_longpressed = true; + s_info.pressed_item = -1; + + Elm_Object_Item *it = (Elm_Object_Item *) ei; + + if (__livebox_all_pages_check_add_page(it)) + return; + + Evas_Object *thumb_layout = elm_object_item_part_content_get(it, GENGRID_ITEM_CONTENT); + Evas_Object *thumb = elm_object_part_content_unset(thumb_layout, PART_GRID_ITEM_CONTENT); + + evas_object_layer_set(thumb, EVAS_LAYER_MAX); + + elm_object_signal_emit(thumb, SIGNAL_REMOVE_BUTTON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(thumb, SIGNAL_BG_REPOSITON, SIGNAL_SOURCE); + + s_info_reposition.item = thumb; + s_info_reposition.g_item = it; +} + +static void __livebox_all_pages_grid_item_moved_cb(void *data, Evas_Object *obj, void *ei) +{ + LOGD("item moved"); +} + +static void __livebox_all_pages_grid_changed_cb(void *data, Evas_Object *obj, void *ei) +{ + ecore_timer_add(ITEM_CREATE_TIME, __livebox_all_pages_new_item_created_cb, NULL); + evas_object_smart_callback_del(obj, "index,update", __livebox_all_pages_grid_changed_cb); + return; +} + +/** + * @brief Block new item creation during reposition process + */ +static Eina_Bool __livebox_all_pages_new_item_created_cb(void *data) +{ + s_info_reposition.is_created = false; + return EINA_FALSE; +} + +/** + * @details Function check if elm_object item contain add page layout + */ +static bool __livebox_all_pages_check_add_page(Elm_Object_Item *it) +{ + Evas_Object *page = NULL; + Evas_Object *ly = NULL; + Evas_Object *ly_content = NULL; + + if (!it) { + LOGE("[INVALID_PARAM][it='%p']", it); + return false; + } + + ly = elm_object_item_part_content_get(it, GENGRID_ITEM_CONTENT); + if (!ly) { + LOGE("[FAILED][elm_object_item_part_content_get]"); + return false; + } + + ly_content = elm_object_part_content_get(ly, PART_GRID_ITEM_CONTENT); + if (!ly_content) { + LOGE("[FAILED][elm_object_part_content_get]"); + return false; + } + + page = __livebox_all_pages_get_thumb_page(it); + if (!page) { + LOGE("[FAILED][__livebox_all_pages_get_thumb_page]"); + return false; + } + + if (page == ly_content) + return true; + + return false; +} + +static Evas_Object *__livebox_all_pages_get_thumb_page(Elm_Object_Item *it) +{ + Evas_Object *ly = NULL; + Evas_Object *ly_content = NULL; + Evas_Object *thumb = NULL; + Evas_Object *page = NULL; + + if (!it) { + LOGE("[INVALID_PARAM][it='%p']", it); + return NULL; + } + + ly = elm_object_item_part_content_get(it, GENGRID_ITEM_CONTENT); + if (!ly) { + LOGE("[FAILED][elm_object_item_part_content_get]"); + return NULL; + } + + ly_content = elm_object_part_content_get(ly, PART_GRID_ITEM_CONTENT); + if (!ly_content) { + LOGE("[FAILED][elm_object_part_content_get]"); + return NULL; + } + + thumb = elm_object_part_content_get(ly_content, PART_THUMB_CONTENT); + if (!thumb) { + LOGE("[FAILED][elm_object_part_content_get]"); + return NULL; + } + + page = (Evas_Object *) evas_object_data_get(thumb, KEY_THUMB_DATA); + + return page; +} + +static Eina_Bool __livebox_all_pages_item_up_cb(void *data) +{ + int gengrid_items = 0; + Evas_Object *page = NULL; + Evas_Object *prev_page = NULL; + Elm_Object_Item *prev_it = NULL; + Tree_node_t *page_node = NULL; + Tree_node_t *prev_node = NULL; + + Elm_Object_Item *d_it = s_info_reposition.g_item; /*destination item;*/ + if (!d_it) { + LOGE("[FAILED][__livebox_all_pages_item_up_cb]"); + return ECORE_CALLBACK_CANCEL; + } + + Evas_Object *ly_container = elm_object_item_part_content_get(d_it, GENGRID_ITEM_CONTENT); + if (!ly_container) { + LOGE("[FAILED][elm_object_item_part_content_get]"); + return ECORE_CALLBACK_CANCEL; + } + + elm_object_part_content_set(ly_container, PART_GRID_ITEM_CONTENT, s_info_reposition.item); + elm_object_signal_emit(s_info_reposition.item, SIGNAL_BG_NORMAL, SIGNAL_SOURCE); + + gengrid_items = elm_gengrid_items_count(s_info.grid); + if (gengrid_items > 2) + elm_object_signal_emit(s_info_reposition.item, SIGNAL_REMOVE_BUTTON_SHOW, SIGNAL_SOURCE); + + page = __livebox_all_pages_get_thumb_page(d_it); + if (!page) { + LOGE("page == NULL"); + return ECORE_CALLBACK_CANCEL; + } + + page_node = evas_object_data_get(page, KEY_ICON_DATA); + if (!page_node) { + LOGE("page_node == NULL"); + return ECORE_CALLBACK_CANCEL; + } + + prev_it = elm_gengrid_item_prev_get(d_it); + if (prev_it) { + LOGD("prev_it != NULL"); + + prev_page = __livebox_all_pages_get_thumb_page(prev_it); + + if (!prev_page) { + LOGE("prev_page == NULL"); + return ECORE_CALLBACK_CANCEL; + } + + prev_node = evas_object_data_get(prev_page, KEY_ICON_DATA); + if (!prev_node) { + LOGE("prev_node == NULL"); + return ECORE_CALLBACK_CANCEL; + } + + data_model_insert_after(prev_node, page_node); + } else { + LOGD("prev_it == NULL"); + + data_model_insert_after(NULL, page_node); + } + + s_info_reposition.cur_x = -1; + s_info_reposition.cur_y = -1; + s_info_reposition.g_item = NULL; + s_info_reposition.item = NULL; + s_info_reposition.is_created = false; + s_info.is_item_longpressed = false; + + home_screen_print_tree(); + + return ECORE_CALLBACK_CANCEL; +} + +/*Gengrid Class item functions*/ +static char *__livebox_all_pages_get_grid_text(void *data, Evas_Object *obj, const char *part) +{ + return NULL; +} + +static Eina_Bool __livebox_all_pages_get_grid_state(void *data, Evas_Object *obj, const char *part) +{ + return EINA_FALSE; +} + +static void __livebox_all_pages_del_grid(void *data, Evas_Object *obj) +{ +} + +static void __livebox_all_pages_hide_remove_button(Elm_Object_Item *it) +{ + Evas_Object *thumb_layout = NULL; + Evas_Object *thumb = NULL; + + if (!it) + LOGE("[INVALID_PARAM][it='%p']", it); + + thumb_layout = elm_object_item_part_content_get(it, GENGRID_ITEM_CONTENT); + thumb = elm_object_part_content_get(thumb_layout, PART_GRID_ITEM_CONTENT); + elm_object_signal_emit(thumb, SIGNAL_REMOVE_BUTTON_HIDE, SIGNAL_SOURCE); +} + +static void __livebox_all_pages_realized_cb(void *data, Evas_Object *obj, void *ei) +{ + int g_count = 0; + g_count = elm_gengrid_items_count(obj); + + if (g_count == 2) + __livebox_all_pages_hide_remove_button(elm_gengrid_first_item_get(obj)); +} + +static void __livebox_all_pages_remove_button_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Elm_Object_Item *clicked_item = NULL; + Evas_Object *clicked_page = NULL; + Evas_Object *lvb = (Evas_Object *) data; + + if (!lvb) { + LOGE("[FAILED][lvb='%p']", lvb); + return; + } + + int x = -1, y = -1; + evas_object_geometry_get(lvb, &x, &y, NULL, NULL); + + clicked_item = elm_gengrid_at_xy_item_get(s_info.grid, x, y, NULL, NULL); + if (!clicked_item) { + LOGE("[FAILED][elm_gengrid_at_xy_item_get]"); + return; + } + + clicked_page = __livebox_all_pages_get_thumb_page(clicked_item); + if (!clicked_page) { + LOGE("[FAILED][__livebox_all_pages_get_thumb_page]"); + return; + } + if (__livebox_all_pages_is_page_empty(clicked_page)) { + __livebox_all_pages_remove_button_clicked_liveboxes_cb(clicked_item); + } else { + popup_data_t *p_data = popup_create_data(); + if (!p_data) { + LOGE("[FAILED][failed to create popup data]"); + return; + } + + p_data->type = POPUP_TWO_BUTTONS; + p_data->popup_title_text = strdup(_("IDS_HS_HEADER_DELETE_PAGE_ABB2")); + p_data->popup_content_text = strdup(_("IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED")); + p_data->popup_confirm_text = strdup(_("IDS_HS_OPT_DELETE")); + p_data->popup_cancel_text = strdup(_("IDS_CAM_SK_CANCEL")); + p_data->orientation = ELM_POPUP_ORIENT_CENTER; + + popup_show(p_data, __livebox_all_pages_remove_button_clicked_liveboxes_cb, NULL, + (void *) clicked_item); + } +} + +static void __livebox_all_pages_page_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + Evas_Object *lvb_scroller = NULL; + + if (s_info.is_item_longpressed) + return; + + lvb_scroller = livebox_panel_get(); + if (!lvb_scroller) { + LOGE("Failed to get scroller"); + return; + } + + livebox_all_pages_hide(); + home_screen_set_view_type(HOMESCREEN_VIEW_HOME); + s_info.pressed_item = -1; +} + +static void __libebox_all_pages_grid_item_pressed_cb(void *data, Evas_Object *obj, void *ei) +{ + s_info.pressed_item = elm_gengrid_item_index_get(ei); +} + diff --git a/src/mouse.c b/src/mouse.c new file mode 100644 index 0000000..3471d8c --- /dev/null +++ b/src/mouse.c @@ -0,0 +1,162 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "livebox/livebox_panel.h" +#include "util.h" +#include "livebox_all_pages.h" +#include "folder_panel.h" + + +static struct { + Ecore_Event_Handler *mouse_down; + Ecore_Event_Handler *mouse_up; + Ecore_Event_Handler *mouse_move; + bool pressed; + Evas_Coord pre_x; + Evas_Coord pre_y; + bool is_initialized; + Evas_Coord down_x; + Evas_Coord down_y; + Evas_Coord move_x; + Evas_Coord move_y; + Evas_Coord up_x; + Evas_Coord up_y; +} mouse_info = { + .mouse_down = NULL, + .mouse_up = NULL, + .mouse_move = NULL, + .pressed = false, + .pre_x = 0, + .pre_y = 0, + .is_initialized = false, + .down_x = 0, + .down_y = 0, + .move_x = 0, + .move_y = 0, + .up_x = 0, + .up_y = 0, +}; + + +static Eina_Bool __mouse_down_cb(void *data, int type, void *event); +static Eina_Bool __mouse_up_cb(void *data, int type, void *event); +static Eina_Bool __mouse_move_cb(void *data, int type, void *event); + + +HAPI void mouse_register(void) +{ + mouse_info.mouse_down = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, __mouse_down_cb, NULL); + if (!mouse_info.mouse_down) + LOGD("Failed to register the mouse down event callback"); + + mouse_info.mouse_move = ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, __mouse_move_cb, NULL); + if (!mouse_info.mouse_move) { + LOGD("Failed to register the mouse move event callback"); + ecore_event_handler_del(mouse_info.mouse_down); + mouse_info.mouse_down = NULL; + } + + mouse_info.mouse_up = ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_UP, __mouse_up_cb, NULL); + if (!mouse_info.mouse_up) { + LOGD("Failed to register the mouse up event callback"); + ecore_event_handler_del(mouse_info.mouse_down); + ecore_event_handler_del(mouse_info.mouse_move); + + mouse_info.mouse_down = NULL; + mouse_info.mouse_move = NULL; + } +} + + +HAPI void mouse_unregister(void) +{ + if (mouse_info.mouse_down) { + ecore_event_handler_del(mouse_info.mouse_down); + mouse_info.mouse_down = NULL; + } + + if (mouse_info.mouse_up) { + ecore_event_handler_del(mouse_info.mouse_up); + mouse_info.mouse_up = NULL; + } + + if (mouse_info.mouse_move) { + ecore_event_handler_del(mouse_info.mouse_move); + mouse_info.mouse_move = NULL; + } +} + + +static Eina_Bool __mouse_down_cb(void *data, int type, void *event) +{ + Ecore_Event_Mouse_Button *move = event; + + if (mouse_info.pressed) + return ECORE_CALLBACK_RENEW; + + mouse_info.pressed = true; + mouse_info.is_initialized = false; + + mouse_info.down_x = move->root.x; + mouse_info.down_y = move->root.y; + + return ECORE_CALLBACK_RENEW; +} + + +static Eina_Bool __mouse_up_cb(void *data, int type, void *event) +{ + Ecore_Event_Mouse_Button *move = event; + + if (!mouse_info.pressed) + return ECORE_CALLBACK_RENEW; + + mouse_info.pressed = false; + mouse_info.pre_x = 0; + mouse_info.pre_y = 0; + + mouse_info.up_x = move->root.x; + mouse_info.up_y = move->root.y; + + livebox_all_pages_up_item(); + + return ECORE_CALLBACK_RENEW; +} + +static Eina_Bool __mouse_move_cb(void *data, int type, void *event) +{ + Ecore_Event_Mouse_Move *move = event; + + mouse_info.move_x = move->root.x; + mouse_info.move_y = move->root.y; + + if (mouse_info.pressed == false) + return ECORE_CALLBACK_RENEW; + + livebox_all_pages_move_item(move->root.x, move->root.y); + livebox_panel_move_mouse_cb(move->root.x, move->root.y); + + return ECORE_CALLBACK_RENEW; +} + + + + diff --git a/src/option_menu.c b/src/option_menu.c new file mode 100644 index 0000000..cf0e6f9 --- /dev/null +++ b/src/option_menu.c @@ -0,0 +1,305 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "option_menu.h" +#include "homescreen-efl.h" +#include "app_grid.h" +#include "all_apps.h" + + +#include "livebox/livebox_panel.h" +#include "util.h" +#include "app_icon.h" +#include "folder_panel.h" +#include "popup.h" +#include "data_model.h" +#include "layout.h" +#include "livebox_all_pages.h" + +static struct { + Evas_Object *option_menu; + Evas_Object *option_menu_background; + bool is_visible; +} s_info; + +/*Create the background with the clicked callback under the menu*/ +static void __option_menu_create_background(void); +static void __option_menu_background_clicked_cb(void *data, Evas *e, Evas_Object *obj, void *event_info); +static void __option_menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info); + +/*All Apps callbacks*/ +static void __option_menu_entry_all_apps_edit_apps_cb(void *data, Evas_Object *obj, void *event_info); +static void __option_menu_entry_all_apps_create_folder_cb(void *data, Evas_Object *obj, void *event_info); + +/*Home callback*/ +static void __option_menu_entry_all_apps_edit_home_cb(void *data, Evas_Object *obj, void *event_info); + +/*Wallpapers callbacks*/ +static void __option_menu_entry_all_apps_wallpaper_cb(void *data, Evas_Object *obj, void *event_info); + +/*Add widget*/ +static void __option_menu_entry_all_apps_add_widget_cb(void *data, Evas_Object *obj, void *event_info); + +/*View all pages*/ +static void __option_menu_entry_all_apps_view_all_pages_cb(void *data, Evas_Object *obj, void *event_info); + +static void __option_menu_update_caption_menu_state_update(void); + +HAPI bool option_menu_show(void) +{ + Evas_Object *option_menu = NULL; + homescreen_view_t view = home_screen_get_view_type(); + + __option_menu_create_background(); + + option_menu = elm_ctxpopup_add(home_screen_get_win()); + if (!option_menu) { + LOGE("Could not create all apps option menu"); + evas_object_del(s_info.option_menu_background); + return false; + } + + elm_ctxpopup_horizontal_set(option_menu, EINA_FALSE); + elm_ctxpopup_direction_priority_set(option_menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN); + + evas_object_smart_callback_add(option_menu, "dismissed", __option_menu_dismissed_cb, NULL); + + evas_object_layer_set(option_menu, EVAS_LAYER_MAX); + evas_object_move(option_menu, 0, home_screen_get_root_height()-(BUTTONS_AREA*home_screen_get_root_height())); + evas_object_size_hint_min_set(option_menu, home_screen_get_root_width(), -1); + + if (view == HOMESCREEN_VIEW_HOME) { + elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_EDIT"), NULL, __option_menu_entry_all_apps_edit_home_cb, NULL); + elm_ctxpopup_item_append(option_menu, _("IDS_HS_HEADER_ADD_WIDGET"), NULL, __option_menu_entry_all_apps_add_widget_cb, NULL); + elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_CHANGE_WALLPAPER_ABB"), NULL, __option_menu_entry_all_apps_wallpaper_cb, NULL); + elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_ALL_PAGES"), NULL, __option_menu_entry_all_apps_view_all_pages_cb, NULL); + } else if (view == HOMESCREEN_VIEW_HOME_ALL_PAGES) { + LOGD("All pages view type"); + } else if (view == HOMESCREEN_VIEW_ALL_APPS) { + elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_EDIT"), NULL, __option_menu_entry_all_apps_edit_apps_cb, NULL); + elm_ctxpopup_item_append(option_menu, _("IDS_HS_OPT_CREATE_FOLDER_OPT_TTS"), NULL, __option_menu_entry_all_apps_create_folder_cb, NULL); + + } else if (view == HOMESCREEN_VIEW_UNKNOWN) { + LOGD("Unknown view type"); + } else { + LOGE("Failed to get view type"); + return false; + } + + evas_object_show(option_menu); + + s_info.is_visible = true; + s_info.option_menu = option_menu; + + return true; +} + +HAPI void option_menu_hide(void) +{ + if (s_info.option_menu) { + evas_object_hide(s_info.option_menu); + evas_object_del(s_info.option_menu); + s_info.option_menu = NULL; + } + + if (s_info.option_menu_background) { + evas_object_hide(s_info.option_menu_background); + evas_object_del(s_info.option_menu_background); + s_info.option_menu_background = NULL; + } + s_info.is_visible = false; +} + +HAPI void option_menu_update_on_item_selected(void) +{ + __option_menu_update_caption_menu_state_update(); +} + +HAPI void option_menu_change_state_on_hw_menu_key(void) +{ + if (s_info.is_visible) { + option_menu_hide(); + } else { + option_menu_show(); + } +} + +static void __option_menu_create_background(void) +{ + Evas_Object *background = NULL; + + if (s_info.option_menu_background) { + evas_object_show(s_info.option_menu_background); + + return; + } + + background = evas_object_rectangle_add(evas_object_evas_get(home_screen_get_win())); + evas_object_color_set(background, 255, 255, 255, 0); + evas_object_size_hint_min_set(background, INDEX_HEIGHT, home_screen_get_root_height()); + evas_object_size_hint_max_set(background, INDEX_HEIGHT, home_screen_get_root_height()); + evas_object_resize(background, INDEX_HEIGHT, home_screen_get_root_height()); + evas_object_show(background); + + evas_object_event_callback_add(background, EVAS_CALLBACK_MOUSE_UP, __option_menu_background_clicked_cb, NULL); + + s_info.option_menu_background = background; +} + +static void __option_menu_background_clicked_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + option_menu_hide(); +} + +static void __option_menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info) +{ + option_menu_hide(); +} + +static void __option_menu_entry_all_apps_edit_apps_cb(void *data, Evas_Object *obj, void *event_info) +{ + option_menu_hide(); + home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS_EDIT); +} + +static void __option_menu_entry_all_apps_edit_home_cb(void *data, Evas_Object *obj, void *event_info) +{ + home_screen_set_view_type(HOMESCREEN_VIEW_HOME_EDIT); + livebox_panel_set_edit_mode_layout(true); + livebox_panel_change_edit_mode_state(false); + option_menu_hide(); +} + + +static void __option_menu_entry_all_apps_create_folder_cb(void *data, Evas_Object *obj, void *event_info) +{ + option_menu_hide(); + home_screen_set_view_type(HOMESCREEN_VIEW_ALL_APPS_CHOOSE); + __option_menu_update_caption_menu_state_update(); +} + +static void _launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data) +{ + switch (result) { + case APP_CONTROL_RESULT_CANCELED: + LOGE("[APP_CONTROL_RESULT_CANCELED]"); + break; + case APP_CONTROL_RESULT_FAILED: + LOGE("[APP_CONTROL_RESULT_FAILED]"); + break; + case APP_CONTROL_RESULT_SUCCEEDED: + LOGD("[APP_CONTROL_RESULT_SUCCEEDED]"); + break; + default: + LOGE("UNKNOWN ERROR"); + break; + } +} + +static void __option_menu_entry_all_apps_add_widget_cb(void *data, Evas_Object *obj, void *event_info) +{ + LOGD("__option_menu_entry_all_apps_add_widget_cb"); + + const char *appid = OPTION_MENU_ADD_VIEWER; + app_control_h app_control_handle = NULL; + + if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_create]"); + return; + } + + if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_app_id]"); + app_control_destroy(app_control_handle); + return; + } + + if (app_control_send_launch_request(app_control_handle, _launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_send_launch_request]"); + app_control_destroy(app_control_handle); + return; + } + + app_control_destroy(app_control_handle); + option_menu_hide(); +} + +static void __option_menu_entry_all_apps_wallpaper_cb(void *data, Evas_Object *obj, void *event_info) +{ + LOGD("__option_menu_entry_all_apps_wallpaper_cb"); + + const char *appid = OPTION_MENU_SETTINGS; + app_control_h app_control_handle = NULL; + + if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_create]"); + return; + } + + app_control_add_extra_data(app_control_handle, "from", "Homescreen-efl"); + app_control_add_extra_data(app_control_handle, "popup_type", "selection_popup"); + app_control_add_extra_data(app_control_handle, "setas-type", "Homescreen"); + + if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_app_id]"); + app_control_destroy(app_control_handle); + return; + } + + if (app_control_send_launch_request(app_control_handle, _launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_send_launch_request]"); + app_control_destroy(app_control_handle); + return; + } + + app_control_destroy(app_control_handle); + option_menu_hide(); +} + +static void __option_menu_entry_all_apps_view_all_pages_cb(void *data, Evas_Object *obj, void *event_info) +{ + home_screen_set_view_type(HOMESCREEN_VIEW_HOME_ALL_PAGES); + option_menu_hide(); +} + +static void __option_menu_update_caption_menu_state_update(void) +{ + int selected_count = -1; + char trbuf[CAPTION_MENU_CENTER_LABEL_TEXT_LEN_MAX]; + homescreen_view_t view = home_screen_get_view_type(); + + switch (view) { + case HOMESCREEN_VIEW_HOME: + break; + case HOMESCREEN_VIEW_ALL_APPS: + break; + case HOMESCREEN_VIEW_ALL_APPS_CHOOSE: + selected_count = data_model_get_app_check_state(); + snprintf(trbuf, sizeof(trbuf), _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), selected_count); + layout_main_caption_set_menu_texts(trbuf, + _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"), + _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); + break; + case HOMESCREEN_VIEW_ALL_APPS_EDIT: + layout_main_caption_set_menu_texts(_("IDS_HS_HEADER_EDIT"), "", ""); + break; + default: + break; + } +} + diff --git a/src/page_scroller.c b/src/page_scroller.c new file mode 100644 index 0000000..3d6d972 --- /dev/null +++ b/src/page_scroller.c @@ -0,0 +1,401 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "util.h" +#include "homescreen-efl.h" +#include "page_scroller.h" + +#define PAGE_SCROLLER_WIDTH 272 +#define PAGE_SCROLLER_HEIGHT 272 + +#define EDJE_PAGE_SCROLLER_FILENAME "/usr/apps/com.samsung.home-lite/res/edje/page_scroller.edj" +#define EDJE_PAGE_SCROLLER_LIVEBOX_GROUP_NAME "page_scroller_livebox" +#define EDJE_PAGE_SCROLLER_ALL_APPS_GROUP_NAME "page_scroller_all_apps" +#define EDJE_PAGE_SCROLLER_CONTENT_GROUP_NAME "page_scroller_content" + + +static Evas_Object *__page_scroller_create_scroller(void); +static void __page_scroller_change_cb(void *data, Evas_Object *obj, const char *emission, const char *source); +static Eina_Bool __page_scroller_blocker_cb(void *data); + +static struct { + Ecore_Timer *blocker; +} s_info = { + .blocker = NULL, +}; + + +HAPI Evas_Object *page_scroller_create(int page_width, int page_height) +{ + Evas_Object *scroller = NULL; + + scroller = __page_scroller_create_scroller(); + if (!scroller) { + LOGE("Failed to create scroller"); + return NULL; + } + + elm_scroller_page_size_set(scroller, page_width, page_height); + elm_scroller_loop_set(scroller, EINA_TRUE, EINA_FALSE); + elm_object_signal_callback_add(scroller, "*", SIGNAL_SOURCE, __page_scroller_change_cb, NULL); + + return scroller; +} + + +HAPI void page_scroller_destroy(Evas_Object *scroller) +{ + LOGD("Destroy page scroller"); + + if (!scroller) { + LOGE("Invalid param : scroller is NULL"); + return; + } + + evas_object_del(scroller); +} + +HAPI bool page_scroller_add_page(Evas_Object *scroller, Evas_Object *page) +{ + LOGD("Add page"); + + Evas_Object *box = NULL; + + if (!page || !scroller) { + LOGE("Invalid parameters : page or scroller is NULL"); + return false; + } + + box = elm_object_content_get(scroller); + if (!box) { + LOGE("Failed to obtain box from scroller"); + return false; + } + + elm_box_pack_end(box, page); + + return true; +} + +HAPI void page_scroller_remove_page(Evas_Object *scroller, Evas_Object *page) +{ + LOGD("Remove page"); + Evas_Object *box = NULL; + + if (!page || !scroller) { + LOGE("Page or scroller is NULL"); + return; + } + + box = elm_object_content_get(scroller); + if (!box) { + LOGE("Failed to get scroller"); + return; + } + + elm_box_unpack(box, page); + evas_object_del(page); + return; +} + +HAPI Eina_List* page_scroller_get_all_pages(Evas_Object *scroller) +{ + Evas_Object *box = NULL; + Eina_List *pages = NULL; + + if (!scroller) { + LOGE("Invalid parameter : scroller is NULL"); + return NULL; + } + + box = elm_object_content_get(scroller); + if (!box) { + LOGE("Failed to get box"); + return NULL; + } + + pages = elm_box_children_get(box); + if (!pages) { + LOGE("Failed to get pages list"); + return NULL; + } + + return pages; +} + + +HAPI Evas_Object* page_scroller_get_page(Evas_Object *scroller, int n) +{ + Eina_List *pages = NULL; + Evas_Object *page = NULL; + + pages = page_scroller_get_all_pages(scroller); + if (!pages) { + LOGE("Failed to get page"); + return NULL; + } + + page = (Evas_Object*) eina_list_nth(pages, n); + + eina_list_free(pages); + + return page; +} + + +HAPI bool page_scroller_freeze(Evas_Object *scroller) +{ + LOGD("Freeze page scroller"); + + if (!scroller) { + LOGE("Page Scroller is NULL"); + return false; + } + + elm_scroller_movement_block_set(scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); + + return true; +} + +HAPI bool page_scroller_unfreeze(Evas_Object *scroller) +{ + LOGD("Unfreeze page scroller"); + + if (!scroller) { + LOGE("Page Scroller is NULL"); + return false; + } + + elm_scroller_movement_block_set(scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); + + return true; +} + +HAPI int page_scroller_get_page_count(Evas_Object *scroller) +{ + Eina_List *page_list = NULL; + int page_count = 0; + + if (!scroller) { + LOGE("invalid param : scroller is NULL"); + return -1; + } + + page_list = page_scroller_get_all_pages(scroller); + page_count = eina_list_count(page_list); + + eina_list_free(page_list); + + return page_count; +} + + +HAPI Eina_List* page_scroller_unpack_pages(Evas_Object *scroller) +{ + Evas_Object *box = NULL; + Eina_List *page_list = NULL; + + if (!scroller) { + LOGE("Page scroller is NULL"); + return NULL; + } + + page_list = page_scroller_get_all_pages(scroller); + + if (!page_list) { + LOGE("Failed to get m_page list"); + return NULL; + } + + box = elm_object_content_get(scroller); + elm_box_unpack_all(box); ///@todo better content unset? + + return page_list; +} + + +HAPI void page_scroller_pack_pages(Evas_Object *scroller, Eina_List *page_list) +{ + LOGD(""); + Eina_List *item = NULL; + Evas_Object *page = NULL; + Evas_Object *box = NULL; + + if (!scroller || !page_list) { + LOGE("Invalid parameters : scroller [%p] page_list [%p]", scroller, page_list); + return; + } + + box = elm_object_content_get(scroller); + if (!box) { + LOGE("Cannot obtain box, pages will remain unpacked"); + return; + } + + EINA_LIST_FOREACH(page_list, item, page) { + if (!page) { + LOGE("Failed to get page"); + continue; + } + elm_box_pack_end(box, page); + evas_object_size_hint_weight_set(page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(page, EVAS_HINT_FILL, EVAS_HINT_FILL); + } + elm_box_recalculate(box); +} + + +HAPI Evas_Object* page_scroller_get_page_thumbnail(Evas_Object *page, unsigned int w, unsigned int h) +{ + LOGD(""); + Evas_Object *image = NULL; + + if (!page) { + LOGE("Invalid page number"); + return NULL; + } + + image = evas_object_image_filled_add(evas_object_evas_get(home_screen_get_win())); + if (!image) { + LOGE("Could not create image proxy object"); + return NULL; + } + + /*set image proxy*/ + if (!evas_object_image_source_set(image, page)) { + evas_object_del(image); + LOGE("Could not set proxy image source"); + return NULL; + } + + evas_object_image_fill_set(image, 0, 0, w, h); + evas_object_move(image, 0, 0); + evas_object_show(image); + + return image; +} + +HAPI int page_scroller_get_current_page(Evas_Object *page_scroller) +{ + int h_page = -1; + + if (!page_scroller) { + LOGE("Invalid param : page_scroller is NULL"); + return -1; + } + + elm_scroller_current_page_get(page_scroller, &h_page, NULL); + + return h_page; +} + +HAPI bool page_scroller_set_current_page(Evas_Object *page_scroller, int idx) +{ + if (!page_scroller || idx < 0) { + LOGE("[INVALID_PARAM][page_scroller='%p'][idx='%d']", page_scroller, idx); + return false; + } + + + elm_scroller_page_bring_in(page_scroller, idx, 0); + return true; +} + +HAPI void page_scroller_show_page(Evas_Object *page_scroller, int idx) +{ + if (!page_scroller || idx < 0) { + LOGE("[INVALID_PARAM][page_scroller='%p'][idx='%d']", page_scroller, idx); + return; + } + + elm_scroller_page_show(page_scroller, idx, 0); +} + +static Evas_Object* __page_scroller_create_scroller(void) +{ + Evas_Object *win = home_screen_get_win(); + Evas_Object *scroller = NULL; + Evas_Object *box = NULL; + + if (!win) { + print_log(DLOG_ERROR, LOG_TAG, "Window doesn't exist"); + return NULL; + } + + scroller = elm_scroller_add(win); + if (!scroller) { + LOGE("Cannot create scroller"); + return NULL; + } + + elm_scroller_content_min_limit(scroller, EINA_FALSE, EINA_FALSE); + elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_scroll_limit_set(scroller, 1, 1); + + evas_object_size_hint_weight_set(scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + box = elm_box_add(scroller); + if (!box) { + LOGE("Cannot create box"); + evas_object_del(scroller); + return NULL; + } + elm_box_horizontal_set(box, EINA_TRUE); + elm_box_align_set(box, 0.5, 0.5); + evas_object_show(scroller); + elm_object_content_set(scroller, box); + + return scroller; +} + +static void __page_scroller_change_cb(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + int cnt = -1, curr = -1, dest = -1; + + cnt = page_scroller_get_page_count(obj); + curr = page_scroller_get_current_page(obj); + + if (s_info.blocker) + return; + + if (!strncmp(emission, SIGNAL_NEXT_PAGE_CHANGE, strlen(emission))) { + if (curr == cnt - 1) { + dest = 0; + } else { + dest = ++curr; + } + page_scroller_set_current_page(obj, dest); + } else if (!strncmp(emission, SIGNAL_PREV_PAGE_CHANGE, strlen(emission))) { + if (curr == 0) { + dest = cnt - 1; + } else { + dest = --curr; + } + page_scroller_set_current_page(obj, dest); + } + + s_info.blocker = ecore_timer_add(0.5, __page_scroller_blocker_cb, NULL); +} + +static Eina_Bool __page_scroller_blocker_cb(void *data) +{ + s_info.blocker = NULL; + return ECORE_CALLBACK_CANCEL; +} diff --git a/src/popup.c b/src/popup.c new file mode 100644 index 0000000..6131f43 --- /dev/null +++ b/src/popup.c @@ -0,0 +1,237 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "popup.h" + +#include +#include + +#include "homescreen-efl.h" +#include "util.h" +#include "livebox_all_pages.h" +#include "app_icon.h" + +#define EDJE_LAYOUT_PATH "/usr/apps/com.samsung.home-lite/res/edje/popup.edj" +#define UNABLE_PART "unable_to_add_items" +#define UNABLE_POPUP_TITLE "Unable to add" +#define SORTED_POPUP " Unable to rearrange icons
sorted by name (A-Z). " + +#define POPUP_DATA_KEY "cb_data" + +static struct +{ + Evas_Object *opened_popup; +} s_info = { + .opened_popup = NULL +}; + +typedef struct _cb_data_t { + popup_confirm_cb cb_ok; + popup_cancel_cb cb_cancel; + void *data; +} cb_data_t; + +/*==========================PRIVATE FUNCTIONS DEFINITIONS======================================*/ +static void __popup_init_two_buttons(Evas_Object *popup, popup_confirm_cb confirm_cb, + popup_cancel_cb cancel_cb, popup_data_t *p_data, void *cb_data); +static void __popup_init_info(Evas_Object *popup, popup_data_t *p_data); +/*==========================POPUP CALLBACKS DEFINITIONS========================================*/ +static void __popup_btn_ok_clicked_cb(void *data, Evas_Object *obj, void *ei); +static void __popup_btn_cancel_clicked_cb(void *data, Evas_Object *obj, void *ei); + +/*==========================PUBLIC FUNCTIONS IMPLEMENTATION===================================*/ +HAPI popup_data_t *popup_create_data(void) +{ + popup_data_t *data = (popup_data_t *) calloc(1, sizeof(popup_data_t)); + return data; +} + +HAPI void popup_data_free(popup_data_t *p_data) +{ + if (!p_data) { + LOGE("[INVALID_PARAM]"); + return; + } + + if (p_data->popup_title_text) + free(p_data->popup_title_text); + if (p_data->popup_content_text) + free(p_data->popup_content_text); + if (p_data->popup_confirm_text) + free(p_data->popup_confirm_text); + if (p_data->popup_cancel_text) + free(p_data->popup_cancel_text); + + free(p_data); +} + +HAPI void popup_show(popup_data_t *p_data, popup_confirm_cb confirm_cb, popup_cancel_cb cancel_cb, + void *cb_data) +{ + Evas_Object *popup = NULL; + + if (!p_data) { + LOGE("[INVALID_DATA]"); + return; + } + + popup = elm_popup_add(home_screen_get_win()); + if (!popup) { + LOGE("[FAILED][elm_popup_add]"); + evas_object_del(popup); + popup_data_free(p_data); + return; + } + + elm_popup_orient_set(popup, p_data->orientation); + + switch (p_data->type) { + case POPUP_TWO_BUTTONS: + __popup_init_two_buttons(popup, confirm_cb, cancel_cb, p_data, cb_data); + break; + case POPUP_INFO: + __popup_init_info(popup, p_data); + } + + s_info.opened_popup = popup; + evas_object_layer_set(popup, EVAS_LAYER_MAX); + evas_object_show(popup); +} + +HAPI Eina_Bool popup_destroy(void) +{ + if (s_info.opened_popup) { + evas_object_del(s_info.opened_popup); + s_info.opened_popup = NULL; + return EINA_TRUE; + } + + return EINA_FALSE; +} +/*==========================PRIVATE FUNCTIONS IMPLEMENTATION==================================*/ +static void __popup_init_two_buttons(Evas_Object *popup, popup_confirm_cb confirm_cb, + popup_cancel_cb cancel_cb, popup_data_t *p_data, void *cb_data) +{ + Evas_Object *btn_ok = NULL; + Evas_Object *btn_cancel = NULL; + cb_data_t *data = NULL; + + if (!p_data) { + LOGE("[INVALID_PARAM][p_data=NULL]"); + return; + } + + if (!popup) { + LOGE("[INVALID_PARAM]"); + popup_data_free(p_data); + return; + } + + data = (cb_data_t *) malloc(sizeof(cb_data_t)); + if (!data) { + LOGE("[FAILED][malloc]"); + popup_data_free(p_data); + return; + } + + btn_ok = elm_button_add(popup); + if (!btn_ok) { + LOGE("[FAILED][elm_button_add]"); + evas_object_del(popup); + popup_data_free(p_data); + free(data); + return; + } + + btn_cancel = elm_button_add(popup); + if (!btn_cancel) { + LOGE("[FAILED][elm_button_add]"); + evas_object_del(popup); + popup_data_free(p_data); + free(data); + return; + } + + /*setting popup properties.*/ + elm_object_part_text_set(popup, "title,text", p_data->popup_title_text); + elm_object_part_text_set(popup, "default", p_data->popup_content_text); + + elm_object_part_text_set(btn_ok, "default", p_data->popup_confirm_text); + elm_object_part_text_set(btn_cancel, "default", p_data->popup_cancel_text); + + elm_object_part_content_set(popup, "button1", btn_cancel); + elm_object_part_content_set(popup, "button2", btn_ok); + + data->cb_cancel = cancel_cb; + data->cb_ok = confirm_cb; + data->data = cb_data; + + evas_object_smart_callback_add(btn_ok, "clicked", __popup_btn_ok_clicked_cb, data); + evas_object_smart_callback_add(btn_cancel, "clicked", __popup_btn_cancel_clicked_cb, data); + + popup_data_free(p_data); +} + +static void __popup_init_info(Evas_Object *popup, popup_data_t *p_data) +{ + if (!p_data) { + LOGE("[INVALID_PARAM][p_data=NULL]"); + return; + } + + if (!popup) { + LOGE("[INVALID_PARAM]"); + popup_data_free(p_data); + return; + } + + elm_object_style_set(popup, "toast"); + elm_object_part_text_set(popup, "default", p_data->popup_content_text); + elm_popup_timeout_set(popup, p_data->visible_time); + + popup_data_free(p_data); +} + +/*==================================POPUP CALLBACKS IMPLEMENTATION============================*/ +static void __popup_btn_ok_clicked_cb(void *data, Evas_Object *obj, void *ei) +{ + LOGI("__popup_btn_ok_clicked_cb"); + cb_data_t *cb_data = (cb_data_t *) data; + + if (!cb_data) { + LOGE("[INVALID_CB_DATA]"); + return; + } + + if (cb_data->cb_ok) cb_data->cb_ok(cb_data->data); + + popup_destroy(); +} + +static void __popup_btn_cancel_clicked_cb(void *data, Evas_Object *obj, void *ei) +{ + LOGI("__popup_btn_cancel_clicked_cb"); + cb_data_t *cb_data = (cb_data_t *) data; + + if (!data) { + LOGE("[INVALID_CB_DATA]"); + return; + } + + if (cb_data->cb_cancel) cb_data->cb_cancel(cb_data->data); + + popup_destroy(); +} diff --git a/src/tree.c b/src/tree.c new file mode 100644 index 0000000..9582d33 --- /dev/null +++ b/src/tree.c @@ -0,0 +1,238 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "tree.h" +#include "db/db.h" + +const db_item_t __tree_node_convert(Tree_node_t *node); + +HAPI bool tree_node_new(Tree_node_t **node) +{ + *node = (Tree_node_t *)calloc(1, sizeof(Tree_node_t)); + + return (*node) != NULL; +} + +/* + * detatch node + */ +HAPI bool tree_node_detatch(Tree_node_t *node) +{ + if (!node) + return false; + + if (node->prev) { + node->prev->next = node->next; + db_update_apps(__tree_node_convert(node->prev), true); + } else { + node->parent->first = node->next; + db_update_apps(__tree_node_convert(node->parent), true); + } + + if (node->next) { + node->next->prev = node->prev; + } else { + node->parent->last = node->prev; + } + + if (node->parent) + node->parent->count--; + + node->next = NULL; + node->prev = NULL; + node->parent = NULL; + + db_update_apps(__tree_node_convert(node), true); + + return true; +} + +HAPI bool tree_node_append(Tree_node_t *parent, Tree_node_t *node) +{ + if (!node || !parent) + return false; + + if (!parent->last) { + parent->first = node; + node->prev = NULL; + db_update_apps(__tree_node_convert(parent), true); + } else { + parent->last->next = node; + node->prev = parent->last; + db_update_apps(__tree_node_convert(parent->last), true); + } + + parent->last = node; + node->parent = parent; + node->parent->count++; + node->next = NULL; + + db_update_apps(__tree_node_convert(node), true); + + return true; +} + +HAPI bool tree_node_append_relative(Tree_node_t *node, Tree_node_t *relative) +{ + if (!relative->next) + return tree_node_append(relative->parent, node); + + node->parent = relative->parent; + node->parent->count++; + relative->next->prev = node; + node->next = relative->next; + relative->next = node; + node->prev = relative; + + db_update_apps(__tree_node_convert(node), true); + db_update_apps(__tree_node_convert(relative), true); + + return true; +} + +HAPI bool tree_node_prepend(Tree_node_t *parent, Tree_node_t *node) +{ + if (!node || !parent) + return false; + + if (!parent->first) { + /*No elements in parent*/ + parent->last = node; + node->next = NULL; + } else { + parent->first->prev = node; + node->next = parent->first; + db_update_apps(__tree_node_convert(parent), true); + } + + parent->first = node; + node->parent = parent; + node->parent->count++; + node->prev = NULL; + + db_update_apps(__tree_node_convert(node), true); + + return true; +} + +HAPI bool tree_node_prepend_relative(Tree_node_t *node, Tree_node_t *relative) +{ + if (!relative->prev) + return tree_node_prepend(relative->parent, node); + + node->parent = relative->parent; + node->parent->count++; + relative->prev->next = node; + node->prev = relative->prev; + relative->prev = node; + node->next = relative; + + db_update_apps(__tree_node_convert(node), true); + db_update_apps(__tree_node_convert(node->prev), true); + + return true; +} + +HAPI bool tree_in_depth_browse(Tree_node_t *node, tree_browse_cb_t func_cb, void *data) +{ + if (!node) + return false; + + if (func_cb) { + if (!func_cb(NULL, node, data)) + return false; + } + + Tree_node_t *it; + TREE_NODE_FOREACH(node, it) { + if (!tree_in_depth_browse(it, func_cb, data)) + return false; + } + + return true; +} + +void tree_node_update(Tree_node_t *node) +{ + if (!node) { + LOGE("node == NULL"); + return; + } + + db_update_apps(__tree_node_convert(node), true); +} + +HAPI void tree_node_free(Tree_node_t *node, Tree_node_t **first_child, Tree_node_t **last_child, int *child_count) +{ + Tree_node_t *it = NULL; + + if (!node) + return; + + db_update_apps(__tree_node_convert(node), false); + + if (first_child) + *first_child = node->first; + + if (last_child) + *last_child = node->last; + + if (child_count) + *child_count = node->count; + + if (node->parent) { + node->parent->count--; + + if (node->parent->first == node) + node->parent->first = node->next; + + if (node->parent->last == node) + node->parent->last = node->prev; + } + + if (node->prev) + node->prev->next = node->next; + + if (node->next) + node->next->prev = node->prev; + + for (it = node->first; it; it = it->next) + it->parent = NULL; + + app_item_free(node->data); + free(node); +} + +HAPI const db_item_t __tree_node_convert(Tree_node_t *node) +{ + db_item_t item = { + id : node->data->unique_id, + type : node->data->type, + appid : node->data->appid ? (char *)node->data->appid : (char *)"", + first_id : node->first ? node->first->data->unique_id : -1, + next_id : node->next ? node->next->data->unique_id : -1, + x : node->data->col, + y : node->data->row, + w : node->data->col_span, + h : node->data->row_span, + content_info : node->data->content_info, + }; + return item; +} diff --git a/src/util.c b/src/util.c new file mode 100644 index 0000000..37dcfad --- /dev/null +++ b/src/util.c @@ -0,0 +1,164 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.1 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * 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 "homescreen-efl.h" +#include "util.h" +#include "data_model.h" + +HAPI Evas_Object *util_create_edje_layout(Evas_Object *parent, const char *edje_filename, const char *edje_group) +{ + Evas_Object *layout = NULL; + + if (!edje_filename || !edje_group) { + LOGE("Filename or groupname is NULL"); + return NULL; + } + + if (!parent) { + LOGE("Parent is NULL"); + return NULL; + } + + layout = elm_layout_add(parent); + if (!layout) { + LOGE("Cannot create layout"); + return NULL; + } + + if (!elm_layout_file_set(layout, edje_filename, edje_group)) { + evas_object_del(layout); + LOGE("Cannot load layout"); + return NULL; + } + + evas_object_show(layout); + + return layout; +} + +/* TEST FUNCTIONS : TO BE REMOVED*/ +HAPI void tst_resize_cb(void *data, Evas *e, Evas_Object *obj, void *ei) +{ + Evas_Coord x, y, w, h; + + evas_object_geometry_get(obj, &x, &y, &w, &h); + LOGD("Obj_Type[%s] %d %d %d %d", evas_object_type_get(obj), x, y, w, h); +} + +HAPI void tst_show_cb(void *data, Evas *e, Evas_Object *obj, void *ei) +{ + LOGD("MSZ "); + +} + +HAPI void tst_hide_cb(void *data, Evas *e, Evas_Object *obj, void *ei) +{ + LOGD("MSZ "); +} + +HAPI void tst_move_cb(void *data, Evas *e, Evas_Object *obj, void *ei) +{ + Evas_Coord x, y, w, h; + + evas_object_geometry_get(obj, &x, &y, &w, &h); + LOGD("MSZ %d %d %d %d", x, y, w, h); +} + +HAPI void tst_del_cb(void *data, Evas *e, Evas_Object *obj, void *ei) +{ + LOGD("tst_del_cb: obj type [%s]", evas_object_type_get(obj)); + + Tree_node_t *t_data = evas_object_data_get(obj, KEY_ICON_DATA); + if (t_data) + LOGI("[obtained data [%s]]", t_data->data->label); +} + +HAPI Eina_List *elm_gengrid_get_evas_objects_from_items(Evas_Object *gengrid) +{ + Eina_List *items = NULL; + Eina_List *it = NULL; + Elm_Object_Item *data = NULL; + + Eina_List *tmp = NULL; + Evas_Object *obj = NULL; + + if (!gengrid) { + LOGE("[INVALID_PARAM][gengrid='%p']", gengrid); + return NULL; + } + + tmp = elm_gengrid_realized_items_get(gengrid); + if (!tmp) { + LOGE("[FAILED][elm_gengrid_realized_items_get]"); + return NULL; + } + + EINA_LIST_FOREACH(tmp, it, data) { + if (!data) + continue; + + obj = elm_object_item_part_content_get(data, GRID_CONTENT); + if (!obj) { + LOGE("[FAILED][elm_object_item_part_content_get]"); + eina_list_free(tmp); + eina_list_free(items); + return NULL; + } + + items = eina_list_append(items, obj); + + if (!items) { + LOGE("[FAILED][eina_list_append]"); + eina_list_free(tmp); + return NULL; + } + } + + eina_list_free(tmp); + + return items; +} + +HAPI Elm_Object_Item *elm_gengrid_get_item_at_index(Evas_Object *gengrid, int idx) +{ + Eina_List *items = NULL; + Elm_Object_Item *found = NULL; + + if (!gengrid || idx < 0) { + LOGE("[INVALID_PARAM][gengrid='%p'][idx='%d']", gengrid, idx); + return NULL; + } + + items = elm_gengrid_realized_items_get(gengrid); + if (!items) { + LOGE("[FAILED][elm_gengrid_realized_items_get]"); + return NULL; + } + + if (idx > eina_list_count(items)) { + LOGE("[INVALID_INDEX]"); + eina_list_free(items); + return NULL; + } + + found = eina_list_nth(items, idx); + eina_list_free(items); + + return found; +} diff --git a/tizen-manifest.xml b/tizen-manifest.xml new file mode 100644 index 0000000..b81ca3f --- /dev/null +++ b/tizen-manifest.xml @@ -0,0 +1,16 @@ + + + + + + homescreen-efl.png + + + http://tizen.org/privilege/shortcut + http://tizen.org/privilege/systemsettings + http://tizen.org/privilege/appmanager.launch + http://tizen.org/privilege/notification + http://tizen.org/privilege/packagemanager.admin + http://tizen.org/privilege/packagemanager.info + +