#*************************************************************
#*
#* Licensed to the Apache Software Foundation (ASF) under one
#* or more contributor license agreements.  See the NOTICE file
#* distributed with this work for additional information
#* regarding copyright ownership.  The ASF licenses this file
#* to you under the Apache License, Version 2.0 (the
#* "License"); you may not use this file except in compliance
#* with the License.  You may obtain a copy of the License at
#*
#*   http://www.apache.org/licenses/LICENSE-2.0
#*
#* Unless required by applicable law or agreed to in writing,
#* software distributed under the License is distributed on an
#* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#* KIND, either express or implied.  See the License for the
#* specific language governing permissions and limitations
#* under the License.
#*
#************************************************************
msgid ""
msgstr ""
"Project-Id-Version: AOO-4-xx\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: genLang (build process)\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: genLang\n"


#: src/Localization/setupstrings.ulf#STRING_PREVIOUS
msgid  "Back"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NEXT
msgid  "Next"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CANCEL
msgid  "Cancel"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_FINISH
msgid  "Finish"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_DECLINE
msgid  "Decline"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALL
msgid  "Install now"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALL
msgid  "Remove Now"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_HELP
msgid  "Help"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_OK
msgid  "OK"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ERROR
msgid  "Error"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_FILE_NOT_FOUND
msgid  "Error: File not found"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_APPLICATIONTITLE
msgid  "${PRODUCT_FULLNAME} Installation Wizard"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_APPLICATIONTITLEUNINSTALLATION
msgid  "${PRODUCT_FULLNAME} Uninstallation Wizard"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CANCEL_DIALOG_TITLE
msgid  "Exit"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CANCEL_DIALOG
msgid  "Do you really want to exit the Installation Wizard?"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CANCEL_DIALOG_UNINSTALLATION
msgid  "Do you really want to exit the Uninstallation Wizard?"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_STOP_DIALOG
msgid  "Do you really want to abort the installation process?"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_STOP_DIALOG_TITLE
msgid  "Abort installation?"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_STOP_DIALOG_UNINSTALLATION
msgid  "Do you really want to abort the uninstallation process?"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_STOP_DIALOG_TITLE_UNINSTALLATION
msgid  "Abort uninstallation?"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ACCEPTLICENSE
msgid  "Accept License"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ACCEPTLICENSE1
msgid  "Software License Agreement"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ACCEPTLICENSE2
msgid  "Please read the following license agreement carefully."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ACCEPTLICENSE3
msgid  "If you have read and accept all the terms of the entire Software License Agreement, click 'Accept License' to continue with the installation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY1
msgid  "Select Installation Directory"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY1_UPDATE
msgid  "Update the Installed Version"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY1_MAINTAIN
msgid  "Adding Components to the Installed Version"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY2
msgid  "Install ${PRODUCT_FULLNAME} in this directory"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY3
msgid  "Browse..."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY4_QUESTION_TITLE
msgid  "Create New Directory"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY5_QUESTION_MESSAGE
msgid  "The directory '${DIR}' does not exist.\\nDo you want to create it now?"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY5_QUESTION_MESSAGE2
msgid  "The directory '${DIR}' does not exist.\\nDo you want to create it now or choose another directory?"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY6
msgid  "Select root directory"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY_NO_WRITE_ACCESS
msgid  "You do not have write access in the directory"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY_NOT_ALLOWED
msgid  "You are not allowed to create the directory"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY_NO_SUCCESS
msgid  "Failed to create the directory"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSECOMPONENTS1
msgid  "Select Components"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSECOMPONENTS1_MAINTAIN
msgid  "Select Additional Components"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSECOMPONENTS2
msgid  "Marked components will be installed. Please mark them accordingly"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSECOMPONENTS3
msgid  "Feature Description"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSECOMPONENTS4
msgid  "Size (kB):"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEINSTALLATIONTYPE1
msgid  "Select the Type of Installation"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEINSTALLATIONTYPE2
msgid  "Select the type of installation that best suits your needs:"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEINSTALLATIONTYPE3
msgid  "Select the Type of Installation"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEINSTALLATIONTYPE4
msgid  "The main components will be installed. Recommended for most users."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEINSTALLATIONTYPE5
msgid  "You choose the components you want to install and where they are stored. Recommended for advanced users."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEINSTALLATIONTYPE6
msgid  "Typical"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEINSTALLATIONTYPE7
msgid  "Custom"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONIMMINENT1
msgid  "Ready to Install"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONIMMINENT1_UPDATE
msgid  "Ready to Update"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONIMMINENT2
msgid  "The following ${PRODUCT_FULLNAME} components will be installed:"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONONGOING1
msgid  "Installing..."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONONGOING3
msgid  "Stop"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONONGOING_PACKAGEPATH_NOT_FOUND
msgid  "ERROR: Path with installation packages not found!"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE1
msgid  "Welcome"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE2
msgid  "This Installation Wizard will install ${PRODUCT_FULLNAME} on your computer."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE3
msgid  "To continue, click 'Next'."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE4
msgid  "Note: This installation will be done without root privileges. Therefore you will have a reduced functionality (Java Runtime Environment (JRE) not installable, system integration not possible).\\nClick 'Cancel' and change your privileges to root privileges, if you want to use the complete functionality."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONCOMPLETED1
msgid  "Installation Completed"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONCOMPLETED1_ABORT
msgid  "Installation Aborted"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONCOMPLETED1_ERROR
msgid  "Installation Failed"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONCOMPLETED2
msgid  "The Installation Wizard has successfully installed ${PRODUCT_FULLNAME} on your computer."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONCOMPLETED2_ABORT
msgid  "The Installation Wizard was aborted. ${PRODUCT_NAME} is not installed on your computer."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONCOMPLETED2_ERROR
msgid  "An error has occurred. Thus the Installation Wizard could not install ${PRODUCT_NAME} on your computer successfully. Click 'Details...' for more information."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONCOMPLETED3
msgid  "Click 'Finish' to exit the Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONCOMPLETED_BUTTON
msgid  "Details..."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONPROLOGUE2
msgid  "The ${PRODUCT_FULLNAME} Uninstallation Wizard will remove ${PRODUCT_FULLNAME} from your computer."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATION_PROLOGUE_WRONG_PRIVILEGES_CURRENT_ROOT
msgid  "Sorry, wrong privileges. Installation was done with User privilges, but you have Root privileges."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATION_PROLOGUE_WRONG_PRIVILEGES_CURRENT_USER
msgid  "Sorry, wrong privileges. Installation was done with Root privilges, but you have User privileges."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONTYPE1
msgid  "Select the Type of Uninstallation"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONTYPE2
msgid  "Select the type of uninstallation that best suits your needs:"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONTYPE3
msgid  "Partial"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONTYPE4
msgid  "Completely removes ${PRODUCT_FULLNAME} and all its components from your system."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONTYPE5
msgid  "You choose the program features you want to remove."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONTYPE6
msgid  "Complete"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONCOMPONENTS2
msgid  "Components marked with an X will be removed. Mark the components you want to remove."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONIMMINENT1
msgid  "Ready to Remove"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONIMMINENT2
msgid  "The following ${PRODUCT_FULLNAME} components will be removed: "
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONONGOING1
msgid  "Uninstalling..."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONCOMPLETED1
msgid  "Uninstallation Completed"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONCOMPLETED1_ABORT
msgid  "Uninstallation Aborted"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONCOMPLETED1_ERROR
msgid  "Uninstallation Failed"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONCOMPLETED2
msgid  "The Uninstallation Wizard has successfully removed ${PRODUCT_FULLNAME} from your computer."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONCOMPLETED2_PARTIAL
msgid  "The Uninstallation Wizard has successfully removed the selected components of ${PRODUCT_NAME} from your computer."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONCOMPLETED2_ABORT
msgid  "The Uninstallation Wizard was aborted before completely removing ${PRODUCT_NAME} from your computer."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONCOMPLETED2_ERROR
msgid  "An error has occurred. Thus the Uninstallation Wizard could not remove ${PRODUCT_NAME} from your computer successfully. Click 'Details...' for more information."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLERFACTORY_OS_NOT_SUPPORTED
msgid  "Sorry, this Operating System is not supported yet."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_OLDER_VERSION_INSTALLED_FOUND
msgid  "An older version of ${PRODUCT_NAME} was found on your system in:"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_OLDER_VERSION_INSTALLED_REMOVE
msgid  "You have to remove the older version of ${PRODUCT_NAME} before you can install the newer one."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NEWER_VERSION_INSTALLED_FOUND
msgid  "A newer version of ${PRODUCT_NAME} was found on your system in:"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NEWER_VERSION_INSTALLED_REMOVE
msgid  "You have to remove the newer version of ${PRODUCT_NAME} before you can install the older one."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NEWER_VERSION_DATABASE
msgid  "Database"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NEWER_VERSION_TIP
msgid  "Please choose another installation directory."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ROOT_PRIVILEGES_REQUIRED_1
msgid  "The user you are logged in as cannot run the Installation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ROOT_PRIVILEGES_REQUIRED_2
msgid  "Please log out and log back in as a user with system administrator rights."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_DISCSPACE_INSUFFICIENT
msgid  "Not enough discspace available for installation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_DISCSPACE_REQUIRED
msgid  "Required disc space"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_DISCSPACE_AVAILABLE
msgid  "Available disc space"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_DISCSPACE_TIP
msgid  "Please use another directory for installation or change your module selection."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ANALYZING_DATABASE1
msgid  "Analyzing ..."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ANALYZING_DATABASE2
msgid  "Analyzing database\\nPlease wait a moment ..."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE_1
msgid  "Welcome to the Installation Wizard.<p>This wizard asks you to supply configuration settings.<p>At the bottom of each page are navigation buttons that let you move through the Installation Wizard:"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE_2
msgid  "'Back' returns you to the previous page."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE_3
msgid  "'Next' takes you to the next page. "
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE_4
msgid  "'Cancel' ends the Installation Wizard without installing this software."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE_5
msgid  "'Help' displays the Help with further information about the page currently displayed."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PROLOGUE_6
msgid  "'OK' exits the Help page and returns you to the Installation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONPROLOGUE_1
msgid  "Welcome to the Uninstallation Wizard.<p>This wizard asks you to supply configuration settings.<p>At the bottom of each page are navigation buttons that let you move through the Uninstallation Wizard:"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONPROLOGUE_2
msgid  "'Back' returns you to the previous page."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONPROLOGUE_3
msgid  "'Next' takes you to the next page. "
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONPROLOGUE_4
msgid  "'Cancel' ends the Uninstallation Wizard without removing this software."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONPROLOGUE_5
msgid  "'Help' displays the Help with further information about the page currently displayed."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONPROLOGUE_6
msgid  "'OK' exits the Help page and returns you to the Uninstallation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ACCEPTLICENSE_1
msgid  "Before you install this product, you must read and accept the entire Software License Agreement under which this software is licensed for your use."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ACCEPTLICENSE_2
msgid  "If you have read and accept all the terms of the entire Software License Agreement, click 'Accept License' to continue with the installation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ACCEPTLICENSE_3
msgid  "If you do not accept all the terms of the Software License Agreement, click 'Decline' to end the Installation Wizard without installing this product."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEINSTALLATIONTYPE_1
msgid  "Select the type of product installation to perform from the following choices. This will determine how much information you need to provide for product configuration."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEDIRECTORY_1
msgid  "It is recommended that you install this product in the directory suggested by this Installation Wizard. <p>To choose a different location, click 'Browse...' or specify the full path of the directory to use in the text box below. <p>If this product is already installed, you cannot change the destination directory."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSECOMPONENTS_1
msgid  "Components marked in color will be installed. Click the icon of a component to mark or unmark the component.<p>All already installed components cannot be selected for installation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONIMMINENT_1
msgid  "The listed components are ready for installation based on your configuration settings. <p>If you are satisfied with your selection, click 'Install Now' to begin. <p>To check or modify your settings on the previous pages, click 'Back'."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONIMMINENT_1
msgid  "The listed components are ready for uninstallation based on your configuration settings. <p>If you are satisfied with your selection, click 'Remove Now' to begin. <p>To check or modify your settings on the previous pages, click 'Back'."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_INSTALLATIONONGOING_1
msgid  "This page indicates the progress of the installation with the aid of a progress bar. To abort the installation process, click 'Stop'."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_UNINSTALLATIONONGOING_1
msgid  "This page indicates the progress of the uninstallation with the aid of a progress bar. To abort the uninstallation, click 'Stop'."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONTYPE_1
msgid  "Complete: This will remove all installed components of your version.<p>Partial: This removes only the components you will choose out of the components list."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHOOSEUNINSTALLATIONCOMPONENTS_1
msgid  "Components marked with an X will be removed. Click next to a component to mark or unmark it with an X."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PACKAGEFORMAT_NOT_SUPPORTED
msgid  "This package format is currently not supported for your operating system!"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_OPERATING_SYSTEM
msgid  "Operating system"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_PACKAGEFORMAT
msgid  "Package format"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NOTHING_TO_INSTALL
msgid  "Nothing to install"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NO_COMPONENTS_SELECTED_1
msgid  "No components have been selected for installation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NO_COMPONENTS_SELECTED_2
msgid  "Click 'OK' to select one or more components for installation or to exit the Installation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NO_LANGUAGE_SELECTED_1
msgid  "No languages have been selected for installation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NO_LANGUAGE_SELECTED_2
msgid  "Click 'OK' to select one or more languages for installation or to exit the Installation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NO_APPLICATION_SELECTED_1
msgid  "No applications have been selected for installation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NO_APPLICATION_SELECTED_2
msgid  "Click 'OK' to select one or more application for installation or to exit the Installation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NOTHING_TO_UNINSTALL
msgid  "Nothing to uninstall"
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NO_UNINSTALLCOMPONENTS_SELECTED_1
msgid  "No components have been selected for uninstallation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_NO_UNINSTALLCOMPONENTS_SELECTED_2
msgid  "Click 'OK' to select one or more components for uninstallation or to exit the Uninstallation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ALL_LANGUAGECOMPONENTS_SELECTED_1
msgid  "All language components have been selected for uninstallation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ALL_LANGUAGECOMPONENTS_SELECTED_2
msgid  "Click 'OK' to select one or more language components not for uninstallation or to exit the Uninstallation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ALL_APPLICATIONCOMPONENTS_SELECTED_1
msgid  "All application components have been selected for uninstallation."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_ALL_APPLICATIONCOMPONENTS_SELECTED_2
msgid  "Click 'OK' to select one or more application components not for uninstallation or to exit the Uninstallation Wizard."
msgstr ""

#: src/Localization/setupstrings.ulf#STRING_CHANGE_SELECTION
msgid  "Please change selection"
msgstr ""
