###############################################################################
# Copyright (c) 2017 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     Julien HENRY - Linux implementation
###############################################################################

## Linux libsecure integration module
getMasterPasswordError=Secure storage was unable to retrieve the master password from the password storage. If secure storage was created using a different user account, you'll have to switch back to that account. Alternatively, you can use the password recovery, or delete and re-create secure storage. 
saveMasterPasswordError=Secure storage was unable to save the master password.
newMasterPasswordGenerated=New secure storage master password was generated (Linux libsecret integration module). 
