Przeglądaj źródła

i18n & l10n

master
Aeris 2 lat temu
rodzic
commit
5bce485c76

+ 1
- 0
Gemfile Wyświetl plik

@@ -7,6 +7,7 @@ gem 'sidekiq', '~> 3.4.2'
7 7
 gem 'stretcher', '~> 1.21.1'
8 8
 gem 'faraday', '~> 0.8.9' # For stretcher compatibility
9 9
 gem 'simpleidn', '~> 0.0.5'
10
+gem 'http_accept_language'
10 11
 
11 12
 group :assets do
12 13
 	gem 'therubyracer', platforms: :ruby

+ 2
- 0
app/controllers/application_controller.rb Wyświetl plik

@@ -2,4 +2,6 @@ class ApplicationController < ActionController::Base
2 2
 	# Prevent CSRF attacks by raising an exception.
3 3
 	# For APIs, you may want to use :null_session instead.
4 4
 	protect_from_forgery with: :exception
5
+
6
+	include HttpAcceptLanguage::AutoLocale
5 7
 end

+ 5
- 3
app/views/application/_headers.erb Wyświetl plik

@@ -2,7 +2,9 @@
2 2
 	<nav class="navbar navbar-inverse navbar-fixed-top">
3 3
 		<div class="container">
4 4
 			<div class="navbar-header">
5
-				<span class="navbar-brand">CryptCheck</span>
5
+				<span>
6
+					<%= link_to 'CryptCheck', root_path, class: %i(navbar-brand) %>
7
+				</span>
6 8
 			</div>
7 9
 			<ul class="nav navbar-nav">
8 10
 				<li><%= link_to 'HTTPS / SMTP / XMPP', root_path %></li>
@@ -10,8 +12,8 @@
10 12
 				<li><%= link_to 'SSH', ssh_path %></li>
11 13
 			</ul>
12 14
 			<ul class="nav navbar-nav navbar-right">
13
-				<li><%= link_to 'Cipher suite', suite_path %></li>
14
-				<li><%= link_to 'Ciphers', ciphers_path %></li>
15
+				<li><%= link_to t('User agent compatibility'), suite_path %></li>
16
+				<li><%= link_to t('Supported ciphers'), ciphers_path %></li>
15 17
 				<!--
16 18
 				<li class="dropdown">
17 19
 					<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">

+ 4
- 4
app/views/check/processing.html.erb Wyświetl plik

@@ -6,14 +6,14 @@
6 6
 		<div class="col-sm-8 col-sm-offset-2">
7 7
 			<h1>
8 8
 				<i class="fa fa-spinner fa-pulse"></i>
9
-				[<%= self.type.to_s.upcase %>] Analyse en cours de <%= @host %>
9
+				[<%= self.type.to_s.upcase %>] <%= t 'Currently analysing %{host}', host: @host  %>
10 10
 			</h1>
11 11
 			<p class="small">
12
-				Début de l’analyse : <%= l @result.date %>
12
+				<%= t 'Start of analysis: %{date}', date: l(@result.date) %>
13 13
 			</p>
14 14
 			<p class="pull-right">
15
-				Merci de patienter…
16
-				<span class="small">(Cette page se rafraîchit automatiquement toutes les 10 secondes)</span>
15
+				<%= t('Please waiting…') %>
16
+				<span class="small">(<%= t 'Cette page se rafraîchit automatiquement toutes les 10 secondes' %>)</span>
17 17
 			</p>
18 18
 		</div>
19 19
 	</div>

+ 31
- 31
app/views/check/show.html.erb Wyświetl plik

@@ -7,7 +7,7 @@
7 7
 		</div>
8 8
 		<% if Time.now - @result.date >= Rails.configuration.refresh_delay %>
9 9
 		<div class="col-sm-1">
10
-			<%= link_to 'Rafraîchir', {action: :refresh}, class: %i(btn btn-default) %>
10
+			<%= link_to t('Refresh'), {action: :refresh}, class: %i(btn btn-default) %>
11 11
 		</div>
12 12
 		<% end %>
13 13
 	</div>
@@ -19,7 +19,7 @@
19 19
 	<div class="row">
20 20
 		<div class="col-sm-12">
21 21
 			<h2><%= host.name %> - <%= host.ip %> : <%= host.port %></h2>
22
-			Error during analysis :
22
+			<%= t 'Error during analysis:' %>
23 23
 			<span class="label label-error"><%= error %></span>
24 24
 		</div>
25 25
 	</div>
@@ -45,12 +45,12 @@
45 45
 				</thead>
46 46
 				<tbody>
47 47
 					<%
48
-					   { 'Protocole' => 'protocol',
49
-						 'Échange de clef' => 'key_exchange',
50
-						 'Chiffrement' => 'cipher_strengths',
51
-						 'Total' => 'score'}.each do |name, v| %>
48
+					   { 'Protocol' => 'protocol',
49
+						 'Key exchange' => 'key_exchange',
50
+						 'Cipher' => 'cipher_strengths',
51
+						 'Overall' => 'score'}.each do |name, v| %>
52 52
 					<tr>
53
-						<th class="col-sm-4"><%= name %></th>
53
+						<th class="col-sm-4"><%= t name %></th>
54 54
 						<td class="col-sm-8"><%= score_progress grade.details[v] %></td>
55 55
 					</tr>
56 56
 					<% end %>
@@ -61,25 +61,25 @@
61 61
 			<table class="table table-bordered table-condensed table-striped">
62 62
 				<tbody>
63 63
 					<tr>
64
-						<th class="col-sm-4">Protocoles</th>
64
+						<th class="col-sm-4"><%= t 'Protocols' %></th>
65 65
 						<td class="col-sm-8"><%= protocol_labels handshake.protocols %></td>
66 66
 					</tr>
67 67
 					<tr>
68
-						<th>Clefs</th>
68
+						<th><%= t 'Keys' %></th>
69 69
 						<td>
70
-							<p>Certificat : <%= key_label handshake[:key] %></p>
70
+							<p><%= t 'Certificates:' %> <%= key_label handshake[:key] %></p>
71 71
 							<p>Diffie Hellman : <%= key_labels handshake.dh %></p>
72 72
 						</td>
73 73
 					</tr>
74
-					<% { 'Bonnes pratiques' => :success,
75
-					 'Alertes' => :warning,
76
-					 'Dangers' => :danger,
77
-					 'Erreurs' => :error }.each do |name, color|
74
+					<% { 'Good practices' => :success,
75
+					 'Warning' => :warning,
76
+					 'Critical' => :danger,
77
+					 'Fatal' => :error }.each do |name, color|
78 78
 						names = grade[color]
79 79
 						next if names.nil? or names.empty?
80 80
 					%>
81 81
 					<tr>
82
-						<th><%= name %></th>
82
+						<th><%= t name %></th>
83 83
 						<td>
84 84
 							<% names.each do |name| %>
85 85
 							<span class="label label-<%= color %>"><%= name.upcase %></span>
@@ -96,24 +96,24 @@
96 96
 			<table class="table table-bordered table-condensed table-striped center">
97 97
 				<thead>
98 98
 					<tr>
99
-						<th rowspan="2">Name</th>
100
-						<th colspan="2">Key exchange</th>
101
-						<th colspan="2">Authentification</th>
102
-						<th colspan="4">Encryption</th>
103
-						<th colspan="2">MAC</th>
104
-						<th rowspan="2">PFS</th>
99
+						<th rowspan="2"><%= t 'Name' %></th>
100
+						<th colspan="2"><%= t 'Key exchange' %></th>
101
+						<th colspan="2"><%= t 'Authentication' %></th>
102
+						<th colspan="4"><%= t 'Encryption' %></th>
103
+						<th colspan="2"><%= t 'MAC' %></th>
104
+						<th rowspan="2"><%= t 'PFS' %></th>
105 105
 					</tr>
106 106
 					<tr>
107
-						<th>Type</th>
108
-						<th>Key size</th>
109
-						<th>Type</th>
110
-						<th>Key size</th>
111
-						<th>Type</th>
112
-						<th>Key size</th>
113
-						<th>Block size</th>
114
-						<th>Mode</th>
115
-						<th>Type</th>
116
-						<th>Size</th>
107
+						<th><%= t 'Type' %></th>
108
+						<th><%= t 'Key size' %></th>
109
+						<th><%= t 'Type' %></th>
110
+						<th><%= t 'Key size' %></th>
111
+						<th><%= t 'Type' %></th>
112
+						<th><%= t 'Key size' %></th>
113
+						<th><%= t 'Block size' %></th>
114
+						<th><%= t 'Mode' %></th>
115
+						<th><%= t 'Type' %></th>
116
+						<th><%= t 'Size' %></th>
117 117
 					</tr>
118 118
 				</thead>
119 119
 				<tbody>

+ 1
- 1
app/views/layouts/application.html.erb Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 <!DOCTYPE html>
2 2
 <html>
3 3
 	<head>
4
-		<title>CryptcheckRails</title>
4
+		<title>CryptCheck</title>
5 5
 		<%= stylesheet_link_tag 'application', media: 'all' %>
6 6
 		<%= javascript_include_tag 'application' %>
7 7
 		<%= csrf_meta_tags %>

+ 12
- 12
app/views/site/ciphers.html.erb Wyświetl plik

@@ -3,20 +3,20 @@
3 3
 		<table class="table table-bordered table-condensed table-striped center col-sm-12">
4 4
 			<thead>
5 5
 				<tr>
6
-					<th rowspan="2">Name</th>
7
-					<th rowspan="2">Key exchange</th>
8
-					<th rowspan="2">Authentification</th>
9
-					<th colspan="4">Encryption</th>
10
-					<th colspan="2">MAC</th>
11
-					<th rowspan="2">PFS</th>
6
+					<th rowspan="2"><%= t 'Name' %></th>
7
+					<th rowspan="2"><%= t 'Key exchange' %></th>
8
+					<th rowspan="2"><%= t 'Authentication' %></th>
9
+					<th colspan="4"><%= t 'Encryption' %></th>
10
+					<th colspan="2"><%= t 'MAC' %></th>
11
+					<th rowspan="2"><%= t 'PFS' %></th>
12 12
 				</tr>
13 13
 				<tr>
14
-					<th>Type</th>
15
-					<th>Key size</th>
16
-					<th>Block size</th>
17
-					<th>Mode</th>
18
-					<th>Type</th>
19
-					<th>Size</th>
14
+					<th><%= t 'Type' %></th>
15
+					<th><%= t 'Key size' %></th>
16
+					<th><%= t 'Block size' %></th>
17
+					<th><%= t 'Mode' %></th>
18
+					<th><%= t 'Type' %></th>
19
+					<th><%= t 'Size' %></th>
20 20
 				</tr>
21 21
 			</thead>
22 22
 			<tbody>

+ 2
- 2
app/views/site/index.html.erb Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 <div id="check" class="container">
2 2
 	<div class="row">
3 3
 		<div class="col-sm-12">
4
-			<h1>Vérifier votre domaine</h1>
4
+			<h1><%= t 'Check your domain' %></h1>
5 5
 			<%= form_tag root_path do %>
6 6
 				<div class="form-group">
7 7
 					<div class="col-sm-8">
@@ -11,7 +11,7 @@
11 11
 						<%= select_tag :type, options_for_select({'HTTPS' => :https, 'SMTP' => :smtp, 'XMPP' => :xmpp}), class: %i(form-control input-lg) %>
12 12
 					</div>
13 13
 					<div class="col-sm-2">
14
-						<%= submit_tag 'Test-moi !', class: %i(form-control btn btn-primary input-lg pull-right) %>
14
+						<%= submit_tag t('Test me!'), class: %i(form-control btn btn-primary input-lg pull-right) %>
15 15
 					</div>
16 16
 				</div>
17 17
 			<% end %>

+ 26
- 26
app/views/site/suite.html.erb Wyświetl plik

@@ -1,28 +1,28 @@
1 1
 <div class="container">
2 2
 	<div class="row">
3 3
 		<div class="col-sm-12">
4
-			<h1>Cipher suite : <%= @suite %></h1>
4
+			<h1><%= t 'Cipher suite:' %> <%= @suite %></h1>
5 5
 		</div>
6 6
 	</div>
7 7
 	<div class="row">
8 8
 		<table class="table table-bordered table-condensed table-striped col-sm-12">
9 9
 			<thead>
10 10
 				<tr>
11
-					<th rowspan="2">Navigateur</th>
12
-					<th rowspan="2">Name</th>
13
-					<th rowspan="2">Key exchange</th>
14
-					<th rowspan="2">Authentification</th>
15
-					<th colspan="4">Encryption</th>
16
-					<th colspan="2">MAC</th>
17
-					<th rowspan="2">PFS</th>
11
+					<th rowspan="2"><%= t 'User agent' %></th>
12
+					<th rowspan="2"><%= t 'Name' %></th>
13
+					<th rowspan="2"><%= t 'Key exchange' %></th>
14
+					<th rowspan="2"><%= t 'Authentication' %></th>
15
+					<th colspan="4"><%= t 'Encryption' %></th>
16
+					<th colspan="2"><%= t 'MAC' %></th>
17
+					<th rowspan="2"><%= t 'PFS' %></th>
18 18
 				</tr>
19 19
 				<tr>
20
-					<th>Type</th>
21
-					<th>Key size</th>
22
-					<th>Block size</th>
23
-					<th>Mode</th>
24
-					<th>Type</th>
25
-					<th>Size</th>
20
+					<th><%= t 'Type' %></th>
21
+					<th><%= t 'Key size' %></th>
22
+					<th><%= t 'Block size' %></th>
23
+					<th><%= t 'Mode' %></th>
24
+					<th><%= t 'Type' %></th>
25
+					<th><%= t 'Size' %></th>
26 26
 				</tr>
27 27
 			</thead>
28 28
 			<tbody>
@@ -66,20 +66,20 @@
66 66
 		<table class="table table-bordered table-condensed table-striped center col-sm-12">
67 67
 			<thead>
68 68
 				<tr>
69
-					<th rowspan="2">Name</th>
70
-					<th rowspan="2">Key exchange</th>
71
-					<th rowspan="2">Authentification</th>
72
-					<th colspan="4">Encryption</th>
73
-					<th colspan="2">MAC</th>
74
-					<th rowspan="2">PFS</th>
69
+					<th rowspan="2"><%= t 'Name' %></th>
70
+					<th rowspan="2"><%= t 'Key exchange' %></th>
71
+					<th rowspan="2"><%= t 'Authentication' %></th>
72
+					<th colspan="4"><%= t 'Encryption' %></th>
73
+					<th colspan="2"><%= t 'MAC' %></th>
74
+					<th rowspan="2"><%= t 'PFS' %></th>
75 75
 				</tr>
76 76
 				<tr>
77
-					<th>Type</th>
78
-					<th>Key size</th>
79
-					<th>Block size</th>
80
-					<th>Mode</th>
81
-					<th>Type</th>
82
-					<th>Size</th>
77
+					<th><%= t 'Type' %></th>
78
+					<th><%= t 'Key size' %></th>
79
+					<th><%= t 'Block size' %></th>
80
+					<th><%= t 'Mode' %></th>
81
+					<th><%= t 'Type' %></th>
82
+					<th><%= t 'Size' %></th>
83 83
 				</tr>
84 84
 			</thead>
85 85
 			<tbody>

+ 3
- 2
app/views/site/suite_index.html.erb Wyświetl plik

@@ -1,14 +1,15 @@
1 1
 <div id="check" class="container">
2 2
 	<div class="row">
3 3
 		<div class="col-sm-12">
4
-			<h1>Compatibilités des user agents</h1>
4
+			<h1><%= t 'User agent compatibility' %></h1>
5
+			<h2><%= t 'Cipher suite' %></h2>
5 6
 			<%= form_tag suite_path do %>
6 7
 				<div class="form-group">
7 8
 					<div class="col-sm-10">
8 9
 						<%= text_field_tag :suite, nil, class: %i(form-control input-lg), placeholder: 'EECDH+AES' %>
9 10
 					</div>
10 11
 					<div class="col-sm-2">
11
-						<%= submit_tag 'Test-moi !', class: %i(form-control btn btn-primary input-lg pull-right) %>
12
+						<%= submit_tag t('Test me!'), class: %i(form-control btn btn-primary input-lg pull-right) %>
12 13
 					</div>
13 14
 				</div>
14 15
 			<% end %>

+ 2
- 2
app/views/ssh/index.html.erb Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 <div id="ssh_check" class="container">
2 2
 	<div class="row">
3 3
 		<div class="col-sm-12">
4
-			<h1>Vérifier votre serveur SSH</h1>
4
+			<h1><%= t 'Check your SSH server' %></h1>
5 5
 			<%= form_tag root_path do %>
6 6
 				<div class="form-group">
7 7
 					<div class="col-sm-8">
@@ -12,7 +12,7 @@
12 12
 					</div>
13 13
 					<div class="col-sm-2">
14 14
 						<%= hidden_field_tag :type, :ssh %>
15
-						<%= submit_tag 'Test-moi !', class: %i(form-control btn btn-primary input-lg pull-right) %>
15
+						<%= submit_tag t('Test me!'), class: %i(form-control btn btn-primary input-lg pull-right) %>
16 16
 					</div>
17 17
 				</div>
18 18
 			<% end %>

+ 7
- 7
app/views/ssh/show.html.erb Wyświetl plik

@@ -7,7 +7,7 @@
7 7
 		</div>
8 8
 		<% if Time.now - @result.date >= Rails.configuration.refresh_delay %>
9 9
 		<div class="col-sm-1">
10
-			<%= link_to 'Rafraîchir', {action: :refresh}, class: %i(btn btn-default) %>
10
+			<%= link_to t('Refresh'), {action: :refresh}, class: %i(btn btn-default) %>
11 11
 		</div>
12 12
 		<% end %>
13 13
 	</div>
@@ -19,7 +19,7 @@
19 19
 	<div class="row">
20 20
 		<div class="col-sm-12">
21 21
 			<h2><%= host.name %> - <%= host.ip %> : <%= host.port %></h2>
22
-			Error during analysis :
22
+			<%= t 'Error during analysis:' %>
23 23
 			<span class="label label-error"><%= error %></span>
24 24
 		</div>
25 25
 	</div>
@@ -37,7 +37,7 @@
37 37
 			<table class="table table-bordered table-condensed table-striped">
38 38
 				<tbody>
39 39
 					<tr>
40
-						<th>Échange de clef</th>
40
+						<th><%= t 'Key exchange' %></th>
41 41
 					</tr>
42 42
 					<% server.kex.each do |kex| %>
43 43
 					<tr>
@@ -46,7 +46,7 @@
46 46
 					<% end %>
47 47
 
48 48
 					<tr>
49
-						<th>Chiffrement</th>
49
+						<th><%= t 'Cipher' %></th>
50 50
 					</tr>
51 51
 					<% server.encryption.each do |cipher| %>
52 52
 					<tr>
@@ -55,7 +55,7 @@
55 55
 					<% end %>
56 56
 
57 57
 					<tr>
58
-						<th>HMAC</th>
58
+						<th><%= t 'HMAC' %></th>
59 59
 					</tr>
60 60
 					<% server.hmac.each do |hmac| %>
61 61
 						<tr>
@@ -64,7 +64,7 @@
64 64
 					<% end %>
65 65
 
66 66
 					<tr>
67
-						<th>Compression</th>
67
+						<th><%= t 'Compression' %></th>
68 68
 					</tr>
69 69
 					<% server.compression.each do |compression| %>
70 70
 						<tr>
@@ -73,7 +73,7 @@
73 73
 					<% end %>
74 74
 
75 75
 					<tr>
76
-						<th>Clefs</th>
76
+						<th><%= t 'Keys' %></th>
77 77
 					</tr>
78 78
 					<% server.key_.each do |key| %>
79 79
 					<tr>

+ 2
- 2
app/views/tls/index.html.erb Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 <div id="tls_check" class="container">
2 2
 	<div class="row">
3 3
 		<div class="col-sm-12">
4
-			<h1>Vérifier votre serveur TLS</h1>
4
+			<h1><%= t 'Check your TLS server' %></h1>
5 5
 			<%= form_tag root_path do %>
6 6
 				<div class="form-group">
7 7
 					<div class="col-sm-8">
@@ -12,7 +12,7 @@
12 12
 					</div>
13 13
 					<div class="col-sm-2">
14 14
 						<%= hidden_field_tag :type, :tls %>
15
-						<%= submit_tag 'Test-moi !', class: %i(form-control btn btn-primary input-lg pull-right) %>
15
+						<%= submit_tag t('Test me!'), class: %i(form-control btn btn-primary input-lg pull-right) %>
16 16
 					</div>
17 17
 				</div>
18 18
 			<% end %>

+ 1
- 0
config/application.rb Wyświetl plik

@@ -35,6 +35,7 @@ module CryptcheckRails
35 35
 		# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
36 36
 		# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
37 37
 		config.i18n.default_locale = :fr
38
+		config.i18n.available_locales = %w(en fr)
38 39
 		config.action_controller.include_all_helpers = false
39 40
 
40 41
 		config.refresh_delay = 1.hour

+ 43
- 0
config/locales/en.yml Wyświetl plik

@@ -1 +1,44 @@
1 1
 en:
2
+  User agent compatibility: User agent compatibility
3
+  Supported ciphers: Supported ciphers
4
+  Cipher suite: Cipher suite
5
+  "Cipher suite:": "Cipher suite:"
6
+
7
+  Check your domain: Check your domain
8
+  Check your SSH server: Check your SSH server
9
+  Check your SMTP server: Check your SMTP server
10
+  Test me!: Test me!
11
+
12
+  Currently analysing %{host}: Currently analysing %{host}
13
+  "Start of analysis: %{date}": "Start of analysis: %{date}"
14
+  Please waiting…: Please waiting…
15
+  This page refreshes automatically every 10 seconds: This page refreshes automatically every 10 seconds
16
+
17
+  "Error during analysis:": "Error during analysis:"
18
+  Refresh: Refresh
19
+
20
+  Protocol: Protocol
21
+  Protocols: Protocols
22
+  Keys: Keys
23
+  Key exchange: Key exchange
24
+  Cipher: Cipher
25
+  Overall: Overall
26
+  "Certificates:": "Certificats:"
27
+  Good practices: Good practices
28
+  Warning: Warning
29
+  Critical: Critical
30
+  Fatal: Fatal
31
+
32
+  User agent: User agent
33
+  Name: Name
34
+  Authentication: Authentication
35
+  Encryption: Encryption
36
+  Compression: Compression
37
+  MAC: MAC
38
+  HMAC: HMAC
39
+  PFS: PFS
40
+  Mode: Mode
41
+  Type: Type
42
+  Key size: Key size
43
+  Block size: Block size
44
+  Size: Size

+ 44
- 0
config/locales/fr.yml Wyświetl plik

@@ -1,4 +1,48 @@
1 1
 fr:
2
+  User agent compatibility: Compatibilité navigateur
3
+  Supported ciphers: Chiffrements supportés
4
+  Cipher suite: Suite de chiffrement
5
+  "Cipher suite:": "Suite de chiffrement :"
6
+
7
+  Check your domain: Testez votre domaine
8
+  Check your SSH server: Testez votre serveur SSH
9
+  Check your TLS server: Testez votre serveur TLS
10
+  Test me!: Testez-moi !
11
+
12
+  Currently analysing %{host}: Analyse en cours de %{host}
13
+  "Start of analysis: %{date}": "Début de l’analyse : %{date}"
14
+  Please waiting…: Merci de patienter…
15
+  This page refreshes automatically every 10 seconds: Cette page se rafraîchit automatiquement toutes les 10 secondes
16
+
17
+  "Error during analysis:": "Erreur durant l’analyse :"
18
+  Refresh: Rafraîchir
19
+
20
+  Protocol: Protocole
21
+  Protocols: Protocoles
22
+  Keys: Clefs
23
+  Key exchange: Échange de clef
24
+  Cipher: Chiffrement
25
+  Overall: Global
26
+  "Certificates:": "Certificats :"
27
+  Good practices: Bonnes pratiques
28
+  Warning: Attention
29
+  Critical: Critique
30
+  Fatal: Fatal
31
+
32
+  User agent: Navigateur
33
+  Name: Nom
34
+  Authentication: Authentification
35
+  Encryption: Chiffrement
36
+  Compression: Compression
37
+  MAC: MAC
38
+  HMAC: HMAC
39
+  PFS: PFS
40
+  Mode: Mode
41
+  Type: Type
42
+  Key size: Taille de clef
43
+  Block size: Taille de bloc
44
+  Size: Taille
45
+
2 46
   date:
3 47
     abbr_day_names:
4 48
     - dim

Ładowanie…
Anuluj
Zapisz