mpw 2.0.3 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -5
- data/README.md +115 -6
- data/VERSION +1 -1
- data/bin/mpw +90 -58
- data/i18n/{cli/en.yml → en.yml} +43 -49
- data/i18n/{cli/fr.yml → fr.yml} +45 -51
- data/lib/mpw/config.rb +117 -206
- data/lib/mpw/item.rb +98 -88
- data/lib/mpw/mpw.rb +416 -288
- data/lib/mpw/sync/ftp.rb +55 -68
- data/lib/mpw/sync/ssh.rb +52 -65
- data/lib/mpw/ui/cli.rb +201 -175
- data/mpw.gemspec +9 -8
- metadata +28 -29
- data/bin/mpw-server +0 -78
- data/bin/mpw-ssh +0 -89
- data/i18n/server/en.yml +0 -26
- data/i18n/server/fr.yml +0 -26
- data/lib/mpw/server.rb +0 -343
- data/lib/mpw/sync/mpw.rb +0 -124
- data/lib/mpw/sync.rb +0 -138
- data/lib/mpw/ui/clissh.rb +0 -42
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d0eff317597b9307b65264bd5c42547b32588d6
|
4
|
+
data.tar.gz: a374e4ec216d629846f5848e7648d606634eaf2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4b873e23e0065cbe83eb0273e16186a721acfb162974f73036d8eee8f49588172e64cc4ef2ad859971989bf141a2253f7af3cf184a6e730b53d8f967454a7ed
|
7
|
+
data.tar.gz: 1d6c99d6e62f544139ffd11aa5185b99346f2e8b6c9777a32b42cd472be4db9f067a21a9a2fe9e11658c14649b8b997f08fa998c35fc78e88abdaf3137b6180e
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,18 +1,127 @@
|
|
1
1
|
# Manage your passwords!
|
2
2
|
|
3
3
|
MPW is a little software which stores your passwords in an GPG encrypted file.
|
4
|
-
MPW can synchronize your password with
|
4
|
+
MPW can synchronize your password with via SSH or FTP.
|
5
5
|
|
6
6
|
# Installation
|
7
7
|
|
8
|
-
|
9
|
-
This program work with ruby >= 1.9
|
8
|
+
This program work with ruby >= 2.0
|
10
9
|
|
11
10
|
* install ruby and rubygems on your computer
|
12
11
|
* gem install mpw
|
13
12
|
|
14
|
-
If you want use mpw-ssh, you must install sshpass
|
15
|
-
|
16
13
|
# How to use
|
17
14
|
|
18
|
-
|
15
|
+
* Show help
|
16
|
+
```
|
17
|
+
mpw --help
|
18
|
+
```
|
19
|
+
|
20
|
+
* Setup a new config file
|
21
|
+
```
|
22
|
+
mpw --setup
|
23
|
+
mpw --setup --config /path/conf/file.cfg
|
24
|
+
```
|
25
|
+
|
26
|
+
* Create and setup a new wallet
|
27
|
+
```
|
28
|
+
mpw --setup-wallet --wallet new_wallet_name
|
29
|
+
mpw --setup-wallet --wallet new_wallet_name --config /path/conf/file.cfg
|
30
|
+
```
|
31
|
+
|
32
|
+
* Add a GPG key in wallet
|
33
|
+
```
|
34
|
+
mpw --add --key root@localhost.local
|
35
|
+
mpw --add --key root@localhost.local --config /path/conf/file.cfg
|
36
|
+
mpw --add --key root@localhost.local --wallet wallet_name
|
37
|
+
mpw --add --key root@localhost.local --config /path/conf/file.cfg --wallet wallet_name
|
38
|
+
```
|
39
|
+
|
40
|
+
* Add a new GPG key in wallet
|
41
|
+
```
|
42
|
+
mpw --add --key root@localhost.local --file /path/gpg/file.pub
|
43
|
+
mpw --add --key root@localhost.local --file /path/gpg/file.pub --config /path/conf/file.cfg
|
44
|
+
mpw --add --key root@localhost.local --file /path/gpg/file.pub --wallet wallet_name
|
45
|
+
mpw --add --key root@localhost.local --file /path/gpg/file.pub --config /path/conf/file.cfg --wallet wallet_name
|
46
|
+
```
|
47
|
+
|
48
|
+
* Delete a GPG key in wallet
|
49
|
+
```
|
50
|
+
mpw --delete --key root@localhost.local
|
51
|
+
mpw --delete --key root@localhost.local --wallet wallet_name
|
52
|
+
mpw --delete --key root@localhost.local --wallet wallet_name --config /path/conf/file.cfg
|
53
|
+
```
|
54
|
+
|
55
|
+
* Add a new item in wallet
|
56
|
+
```
|
57
|
+
mpw --add
|
58
|
+
mpw --add --config /path/conf/file.cfg
|
59
|
+
mpw --add --wallet wallet_name
|
60
|
+
mpw --add --config /path/conf/file.cfg --wallet wallet_name
|
61
|
+
```
|
62
|
+
|
63
|
+
* Update an item
|
64
|
+
```
|
65
|
+
mpw --update --id uniq_id
|
66
|
+
mpw --update --id uniq_id --config /path/conf/file.cfg
|
67
|
+
mpw --update --id uniq_id --wallet wallet_name
|
68
|
+
mpw --update --id uniq_id --config /path/conf/file.cfg --wallet wallet_name
|
69
|
+
```
|
70
|
+
|
71
|
+
* Delete an item
|
72
|
+
```
|
73
|
+
mpw --delete --id uniq_id
|
74
|
+
mpw --delete --id uniq_id --config /path/conf/file.cfg
|
75
|
+
mpw --delete --id uniq_id --wallet wallet_name
|
76
|
+
mpw --delete --id uniq_id --config /path/conf/file.cfg --wallet wallet_name
|
77
|
+
```
|
78
|
+
|
79
|
+
* Show an item
|
80
|
+
```
|
81
|
+
mpw --show 'string to search'
|
82
|
+
mpw --show 'string to search' --config /path/conf/file.cfg
|
83
|
+
mpw --show 'string to search' --wallet wallet_name
|
84
|
+
mpw --show 'string to search' --config /path/conf/file.cfg --wallet wallet_name
|
85
|
+
mpw --show 'string to search' --group group_name
|
86
|
+
mpw --show 'string to search' --group group_name --config /path/conf/file.cfg
|
87
|
+
mpw --show 'string to search' --group group_name --wallet wallet_name
|
88
|
+
mpw --show 'string to search' --group group_name --config /path/conf/file.cfg --wallet wallet_name
|
89
|
+
```
|
90
|
+
|
91
|
+
* Export data in YAML file
|
92
|
+
```
|
93
|
+
mpw --export --file /path/file/to/export.yml
|
94
|
+
mpw --export --file /path/file/to/export.yml --config /path/conf/file.cfg
|
95
|
+
mpw --export --file /path/file/to/export.yml --wallet wallet_name
|
96
|
+
mpw --export --file /path/file/to/export.yml --config /path/conf/file.cfg --wallet wallet_name
|
97
|
+
```
|
98
|
+
|
99
|
+
* Import data from YAML file
|
100
|
+
```
|
101
|
+
mpw --import --file /path/file/to/export.yml
|
102
|
+
mpw --import --file /path/file/to/export.yml --config /path/conf/file.cfg
|
103
|
+
mpw --import --file /path/file/to/export.yml --wallet wallet_name
|
104
|
+
mpw --import --file /path/file/to/export.yml --config /path/conf/file.cfg --wallet wallet_name
|
105
|
+
```
|
106
|
+
|
107
|
+
Format file to import:
|
108
|
+
```
|
109
|
+
1:
|
110
|
+
name: Website perso
|
111
|
+
group: Perso
|
112
|
+
host: localhost.local
|
113
|
+
protocol: ftp
|
114
|
+
user: test
|
115
|
+
password: letoortue
|
116
|
+
port: 21
|
117
|
+
comment: Mysuper website
|
118
|
+
2:
|
119
|
+
name: Linuxfr
|
120
|
+
group: Pro
|
121
|
+
host: Linuxfr.org
|
122
|
+
protocol: https
|
123
|
+
user: test
|
124
|
+
password: coucou
|
125
|
+
port:
|
126
|
+
comment:
|
127
|
+
```
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
3.0.0
|
data/bin/mpw
CHANGED
@@ -1,17 +1,26 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
2
|
+
# MPW is a software to crypt and manage your passwords
|
3
|
+
# Copyright (C) 2016 Adrien Waksberg <mpw@yae.im>
|
4
|
+
#
|
5
|
+
# This program is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU General Public License
|
7
|
+
# as published by the Free Software Foundation; either version 2
|
8
|
+
# of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with this program; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
5
18
|
|
6
|
-
require 'rubygems'
|
7
19
|
require 'optparse'
|
8
20
|
require 'pathname'
|
9
21
|
require 'locale'
|
10
22
|
require 'set'
|
11
23
|
require 'i18n'
|
12
|
-
require 'mpw/mpw'
|
13
|
-
require 'mpw/config'
|
14
|
-
require 'mpw/ui/cli'
|
15
24
|
|
16
25
|
# --------------------------------------------------------- #
|
17
26
|
# Set local
|
@@ -25,8 +34,13 @@ end
|
|
25
34
|
|
26
35
|
APP_ROOT = File.dirname(Pathname.new(__FILE__).realpath)
|
27
36
|
|
37
|
+
# TODO
|
38
|
+
require "#{APP_ROOT}/../lib/mpw/mpw.rb"
|
39
|
+
require "#{APP_ROOT}/../lib/mpw/config.rb"
|
40
|
+
require "#{APP_ROOT}/../lib/mpw/ui/cli.rb"
|
41
|
+
|
28
42
|
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
|
29
|
-
I18n.load_path = Dir["#{APP_ROOT}/../i18n
|
43
|
+
I18n.load_path = Dir["#{APP_ROOT}/../i18n/*.yml"]
|
30
44
|
I18n.default_locale = :en
|
31
45
|
I18n.locale = lang.to_sym
|
32
46
|
|
@@ -36,16 +50,16 @@ I18n.locale = lang.to_sym
|
|
36
50
|
|
37
51
|
options = {}
|
38
52
|
options[:force] = false
|
39
|
-
options[:format] = false
|
40
53
|
options[:sync] = true
|
41
54
|
options[:group] = nil
|
42
55
|
options[:config] = nil
|
56
|
+
options[:wallet] = nil
|
43
57
|
|
44
58
|
OptionParser.new do |opts|
|
45
59
|
opts.banner = "#{I18n.t('option.usage')}: mpw [options]"
|
46
60
|
|
47
|
-
opts.on('-
|
48
|
-
|
61
|
+
opts.on('-a', '--add', I18n.t('option.add')) do
|
62
|
+
options[:add] = true
|
49
63
|
end
|
50
64
|
|
51
65
|
opts.on('-A', '--show-all', I18n.t('option.show_all')) do
|
@@ -53,64 +67,74 @@ OptionParser.new do |opts|
|
|
53
67
|
options[:show] = ''
|
54
68
|
end
|
55
69
|
|
56
|
-
opts.on('-
|
57
|
-
options[:
|
70
|
+
opts.on('-c', '--config CONFIG', I18n.t('option.config')) do |config|
|
71
|
+
options[:config] = config
|
58
72
|
end
|
59
73
|
|
60
|
-
opts.on('-d', '--delete
|
61
|
-
options[:delete] =
|
74
|
+
opts.on('-d', '--delete', I18n.t('option.remove')) do
|
75
|
+
options[:delete] = true
|
62
76
|
end
|
63
77
|
|
64
|
-
opts.on('-
|
65
|
-
options[:
|
78
|
+
opts.on('-e', '--export', I18n.t('option.export')) do
|
79
|
+
options[:export] = true
|
66
80
|
end
|
67
81
|
|
68
|
-
opts.on('-
|
69
|
-
options[:
|
82
|
+
opts.on('-f', '--file FILE', I18n.t('option.file')) do |file|
|
83
|
+
options[:file] = file
|
70
84
|
end
|
71
85
|
|
72
|
-
opts.on('-
|
73
|
-
options[:
|
86
|
+
opts.on('-F', '--force', I18n.t('option.force')) do
|
87
|
+
options[:force] = true
|
74
88
|
end
|
75
89
|
|
76
|
-
opts.on('-
|
77
|
-
options[:
|
90
|
+
opts.on('-g', '--group GROUP', I18n.t('option.group')) do |group|
|
91
|
+
options[:group] = group
|
78
92
|
end
|
79
93
|
|
80
|
-
opts.on('-
|
81
|
-
|
94
|
+
opts.on('-G', '--generate-password [LENGTH]', I18n.t('option.generate_password')) do |length|
|
95
|
+
puts MPW::MPW::password(length)
|
96
|
+
exit 0
|
82
97
|
end
|
83
98
|
|
84
|
-
opts.on('-
|
85
|
-
|
86
|
-
|
99
|
+
opts.on('-h', '--help', I18n.t('option.help')) do
|
100
|
+
puts opts
|
101
|
+
exit 0
|
87
102
|
end
|
88
103
|
|
89
|
-
opts.on('-
|
90
|
-
options[:
|
104
|
+
opts.on('-i', '--id ID', I18n.t('option.id')) do |id|
|
105
|
+
options[:id] = id
|
91
106
|
end
|
92
107
|
|
93
|
-
opts.on('-
|
94
|
-
options[:import] =
|
95
|
-
options[:type] = :yaml
|
108
|
+
opts.on('-I', '--import', I18n.t('option.import')) do
|
109
|
+
options[:import] = true
|
96
110
|
end
|
97
111
|
|
98
|
-
opts.on('-
|
99
|
-
options[:
|
112
|
+
opts.on('-k', '--key KEY', I18n.t('option.key')) do |key|
|
113
|
+
options[:key] = key
|
100
114
|
end
|
101
115
|
|
102
116
|
opts.on('-N', '--no-sync', I18n.t('option.no_sync')) do
|
103
117
|
options[:sync] = false
|
104
118
|
end
|
105
119
|
|
106
|
-
opts.on('-
|
107
|
-
|
108
|
-
exit 0
|
120
|
+
opts.on('-s', '--show [SEARCH]', I18n.t('option.show')) do |search|
|
121
|
+
search.nil? ? (options[:show] = '') : (options[:show] = search)
|
109
122
|
end
|
110
123
|
|
111
|
-
opts.on('-
|
112
|
-
|
113
|
-
|
124
|
+
opts.on('-S', '--setup', I18n.t('option.setup')) do
|
125
|
+
options[:setup] = true
|
126
|
+
end
|
127
|
+
|
128
|
+
opts.on('-u', '--update', I18n.t('option.update')) do
|
129
|
+
options[:update] = true
|
130
|
+
end
|
131
|
+
|
132
|
+
opts.on('-w', '--wallet WALLET', I18n.t('option.wallet')) do |wallet|
|
133
|
+
options[:wallet] = wallet
|
134
|
+
end
|
135
|
+
|
136
|
+
opts.on('-W', '--setup-wallet', I18n.t('option.setup_wallet')) do
|
137
|
+
options[:setup_wallet] = true
|
114
138
|
end
|
115
139
|
end.parse!
|
116
140
|
|
@@ -118,51 +142,59 @@ end.parse!
|
|
118
142
|
# Main
|
119
143
|
# --------------------------------------------------------- #
|
120
144
|
|
121
|
-
config
|
122
|
-
|
123
|
-
|
124
|
-
cli = Cli.new(config)
|
145
|
+
config = MPW::Config.new(options[:config])
|
146
|
+
cli = MPW::Cli.new(config, options[:sync])
|
125
147
|
|
126
148
|
# Setup a new config
|
127
|
-
if not
|
149
|
+
if not config.is_valid? or not options[:setup].nil?
|
128
150
|
cli.setup(lang)
|
129
151
|
elsif not config.check_gpg_key?
|
130
152
|
cli.setup_gpg_key
|
131
153
|
end
|
132
154
|
|
155
|
+
cli.get_wallet(options[:wallet])
|
133
156
|
cli.decrypt
|
134
|
-
cli.sync(options[:sync])
|
135
157
|
|
136
158
|
# Display the item's informations
|
137
159
|
if not options[:show].nil?
|
138
160
|
opts = {search: options[:show],
|
139
161
|
group: options[:group],
|
140
|
-
protocol: options[:protocol],
|
141
162
|
}
|
142
163
|
|
143
164
|
cli.display(opts)
|
144
165
|
|
145
166
|
# Remove an item
|
146
|
-
elsif not options[:delete].nil?
|
147
|
-
cli.delete(options[:
|
167
|
+
elsif not options[:delete].nil? and not options[:id].nil?
|
168
|
+
cli.delete(options[:id], options[:force])
|
148
169
|
|
149
170
|
# Update an item
|
150
|
-
elsif not options[:update].nil?
|
151
|
-
cli.update(options[:
|
171
|
+
elsif not options[:update].nil? and not options[:id].nil?
|
172
|
+
cli.update(options[:id])
|
152
173
|
|
153
174
|
# Add a new item
|
154
|
-
elsif not options[:add].nil?
|
175
|
+
elsif not options[:add].nil? and options[:key].nil?
|
155
176
|
cli.add
|
156
177
|
|
178
|
+
# Add a new public key in wallet
|
179
|
+
elsif not options[:add].nil? and not options[:key].nil?
|
180
|
+
cli.add_key(options[:key], options[:file])
|
181
|
+
|
182
|
+
# Delete a public key in wallet
|
183
|
+
elsif not options[:delete].nil? and not options[:key].nil?
|
184
|
+
cli.delete_key(options[:key])
|
185
|
+
|
157
186
|
# Export
|
158
|
-
elsif not options[:export].nil?
|
159
|
-
cli.export(options[:
|
187
|
+
elsif not options[:export].nil? and not options[:file].nil?
|
188
|
+
cli.export(options[:file])
|
160
189
|
|
161
190
|
# Add a new item
|
162
|
-
elsif not options[:import].nil?
|
163
|
-
cli.import(options[:
|
191
|
+
elsif not options[:import].nil? and not options[:file].nil?
|
192
|
+
cli.import(options[:file])
|
193
|
+
|
194
|
+
# Setup wallet config
|
195
|
+
elsif not options[:setup_wallet].nil?
|
196
|
+
cli.setup_wallet_config
|
164
197
|
|
165
|
-
# Interactive mode
|
166
198
|
end
|
167
199
|
|
168
200
|
cli = nil
|
data/i18n/{cli/en.yml → en.yml}
RENAMED
@@ -1,8 +1,6 @@
|
|
1
1
|
---
|
2
2
|
en:
|
3
3
|
error:
|
4
|
-
client:
|
5
|
-
no_authorized: "You aren't authorized."
|
6
4
|
config:
|
7
5
|
write: "Can't write the config file!"
|
8
6
|
check: "Checkconfig failed!"
|
@@ -14,52 +12,56 @@ en:
|
|
14
12
|
password: "You must define a password for your GPG key!"
|
15
13
|
delete:
|
16
14
|
id_no_exist: "Can't delete the item %{id}, it doesn't exist!"
|
17
|
-
export:
|
18
|
-
unknown_type: "The data type %{type} is unknown!"
|
19
|
-
write: "Can't export, unable to write in %{file}!"
|
15
|
+
export: "Can't export, unable to write in %{file}!"
|
20
16
|
gpg_file:
|
21
17
|
decrypt: "Can't decrypt file!"
|
22
18
|
encrypt: "Can't encrypt the GPG file!"
|
23
|
-
|
24
|
-
|
25
|
-
|
19
|
+
mpw_file:
|
20
|
+
read_data: "Can't to read the MPW file!"
|
21
|
+
write_data: "Can't to write the MPW file!"
|
22
|
+
import: "Can't import, unable to read %{file}!"
|
26
23
|
update:
|
27
24
|
name_empty: "You must define a name!"
|
28
25
|
sync:
|
26
|
+
general: "An error is appeared durint the sync"
|
29
27
|
connection: "Connection fail!"
|
30
28
|
communication: "A communication problem with the server is appeared!"
|
31
29
|
download: "Can't download the file!"
|
32
30
|
not_authorized: "You haven't the access to remote file!"
|
33
31
|
upload: "Can't upload the file on the server!"
|
34
|
-
unknown: "An unknown error is occured!"
|
35
|
-
|
32
|
+
unknown: "An unknown error is occured!"
|
33
|
+
unknown_type: "The sync type is unknown"
|
36
34
|
|
37
35
|
warning:
|
38
36
|
select: 'Your choice is not a valid element!'
|
39
37
|
|
40
38
|
option:
|
41
|
-
|
42
|
-
show: "Search and show the items"
|
43
|
-
show_all: "Show all items"
|
44
|
-
update: "Update an item"
|
45
|
-
remove: "Delete an item"
|
46
|
-
group: "Search the items with specified group"
|
47
|
-
add: "Add an item"
|
39
|
+
add: "Add an item or key"
|
48
40
|
config: "Specify the configuration file to use"
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
type: "Data's type export file [csv|yaml]"
|
53
|
-
import: "Import item since a yaml or csv file"
|
54
|
-
force: "Force an action"
|
55
|
-
no_sync: "Disable synchronization with the server"
|
56
|
-
format: "Change the display items format by an alternative format"
|
41
|
+
export: "Export a wallet in an yaml file"
|
42
|
+
file: "Specify a file, to use with the options [--import | --export | --add]"
|
43
|
+
force: "No ask to confirm when you delete an item"
|
57
44
|
generate_password: "Generate a random password (default 8 characters)"
|
45
|
+
group: "Search the items with specified group"
|
58
46
|
help: "Show this help message"
|
47
|
+
id: "Specify an id, to use with the options [--delete | --update]"
|
48
|
+
import: "Import item since a yaml file"
|
49
|
+
key: "Specify the key name, to use with the options [--add | --delete | --update]"
|
50
|
+
no_sync: "Disable synchronization with the server"
|
51
|
+
setup: "Create a new configuration file"
|
52
|
+
setup_wallet: "Create a new configuration file for a wallet"
|
53
|
+
show: "Search and show the items"
|
54
|
+
show_all: "Show all items"
|
55
|
+
remove: "Delete an item"
|
56
|
+
update: "Update an item"
|
57
|
+
usage: "Usage"
|
58
|
+
wallet: "Specify a wallet to use"
|
59
59
|
|
60
60
|
form:
|
61
61
|
select: "Select the item: "
|
62
|
-
|
62
|
+
add_key:
|
63
|
+
valid: "Key has been added!"
|
64
|
+
add_item:
|
63
65
|
title: "Add a new item"
|
64
66
|
name: "Enter the name: "
|
65
67
|
group: "Enter the group (optional): "
|
@@ -70,7 +72,9 @@ en:
|
|
70
72
|
port: "Enter the connection port (optional): "
|
71
73
|
comment: "Enter a comment (optional): "
|
72
74
|
valid: "Item has been added!"
|
73
|
-
|
75
|
+
delete_key:
|
76
|
+
valid: "Key has been deleted!"
|
77
|
+
delete_item:
|
74
78
|
ask: "Are you sure you want to remove the item %{id} ?"
|
75
79
|
valid: "The item %{id} has been removed!"
|
76
80
|
not_valid: "The item %{id} hasn't been removed, because it doesn't exist!"
|
@@ -78,20 +82,21 @@ en:
|
|
78
82
|
ask: "Are you sure you want to import this file %{file} ?"
|
79
83
|
valid: "The import is succesfull!"
|
80
84
|
not_valid: "No data to import!"
|
81
|
-
|
85
|
+
setup_config:
|
82
86
|
title: "Setup a new config file"
|
83
|
-
lang: "Choose your language (en, fr, ...): "
|
84
|
-
gpg_key: "Enter the GPG key: "
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
87
|
+
lang: "Choose your language (en, fr, ...) [default=%{lang}]: "
|
88
|
+
gpg_key: "Enter the GPG key [ex: test@host.local]: "
|
89
|
+
wallet_dir: "Enter the wallets's folder path [default=%{home}/wallets]: "
|
90
|
+
valid: "The config file has been created!"
|
91
|
+
setup_wallet:
|
92
|
+
title: "Wallet setup"
|
93
|
+
sync_type: "Synchronization type (ssh, ftp, or nil): "
|
89
94
|
sync_host: "Synchronization server: "
|
90
95
|
sync_port: "Port of the synchronization server: "
|
91
96
|
sync_user: "Username for the synchronization: "
|
92
97
|
sync_pwd: "Password for the synchronization: "
|
93
98
|
sync_path: "File path for the synchronization : "
|
94
|
-
valid: "The config file has been created!"
|
99
|
+
valid: "The wallet config file has been created!"
|
95
100
|
setup_gpg_key:
|
96
101
|
title: "Setup a GPG key"
|
97
102
|
ask: "Do you want create your GPG key ? (Y/n)"
|
@@ -104,7 +109,7 @@ en:
|
|
104
109
|
expire: "Expire time of the GPG key [default=0 (unlimited)]: "
|
105
110
|
wait: "Please waiting during the GPG key generate, this process can take few minutes."
|
106
111
|
valid: "Your GPG key has been created ;-)"
|
107
|
-
|
112
|
+
update_item:
|
108
113
|
title: "Update an item"
|
109
114
|
name: "Enter the name [%{name}]: "
|
110
115
|
group: "Enter the group [%{group}]: "
|
@@ -121,28 +126,17 @@ en:
|
|
121
126
|
display:
|
122
127
|
comment: "Comment"
|
123
128
|
error: "ERROR"
|
124
|
-
gpg_password: "
|
129
|
+
gpg_password: "GPG passphrase: "
|
125
130
|
group: "Group"
|
126
131
|
login: "Login"
|
127
132
|
name: "Name"
|
128
|
-
nothing: "
|
133
|
+
nothing: "No matches!"
|
129
134
|
password: "Password"
|
130
135
|
port: "Port"
|
131
136
|
protocol: "Protocol"
|
132
137
|
server: "Server"
|
133
138
|
warning: "Warning"
|
134
139
|
|
135
|
-
ssh:
|
136
|
-
option:
|
137
|
-
usage: "Usage"
|
138
|
-
login: "Change the login"
|
139
|
-
server: "Change the host or the ip"
|
140
|
-
port: "Change the port"
|
141
|
-
help: "Show this help message"
|
142
|
-
display:
|
143
|
-
connect: "Connection to:"
|
144
|
-
nothing: "Nothing result!"
|
145
|
-
|
146
140
|
formats:
|
147
141
|
default: ! '%Y-%m-%d'
|
148
142
|
long: ! '%B %d, %Y'
|