solidus_i18n 1.0.0 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ed8e33f5b243d4064d181a50c9ddc3969cb8c7c1
4
- data.tar.gz: d44330025193250d62aabf963178adaaffc5d510
3
+ metadata.gz: 2219de12da7e779f95629b906d7cc200762ffa6c
4
+ data.tar.gz: 2dceb4f7b06233e0dbc2624ec191b4d449e5ecb6
5
5
  SHA512:
6
- metadata.gz: 60b20095c44e83638e94d8fc409ec76cfd6d1a64e2123c2f747e7388a3ce0ee3bc7d4fc704ac29ee041c57f875d41f0d4756d8091a56c4baa6a494da29176e02
7
- data.tar.gz: e80049c2f3faa448c391ed4a8ebca5c272cf6fd7769b3f5e7ef61377746cd981df8fba5f1559023276b9aecdcec5852a9e235624b2da93d5c73bdbd2504d7947
6
+ metadata.gz: e03c1f6057f1a593a86eb60a71b9f1080cdee12909c964f3603b9fb6c9838c8c4bbef4b1d12fa9289d2aaf862fbfb89f91dc68f1a8e75ac86daea19782be8101
7
+ data.tar.gz: ede496ce2187b62a8a08941ebf3dd80c3e7b6f7253442d2ff40ef2f1a63415b0ab34f3c0ef7ed5472f0952e0837a69e3e614f183cd4a7bcf1da5f346ab83b152
data/.travis.yml CHANGED
@@ -1,12 +1,19 @@
1
+ sudo: false
2
+ cache: bundler
1
3
  language: ruby
2
4
  rvm:
3
- - 2.1
4
- - 2.2
5
+ - 2.3.1
5
6
  env:
6
- - DB=mysql
7
- - DB=postgres
8
- sudo: false
9
- cache: bundler
10
- before_script:
11
- - bundle exec rake test_app
12
- script: bundle exec rspec spec
7
+ matrix:
8
+ - SOLIDUS_BRANCH=v1.1 DB=postgres
9
+ - SOLIDUS_BRANCH=v1.2 DB=postgres
10
+ - SOLIDUS_BRANCH=v1.3 DB=postgres
11
+ - SOLIDUS_BRANCH=v1.4 DB=postgres
12
+ - SOLIDUS_BRANCH=v2.0 DB=postgres
13
+ - SOLIDUS_BRANCH=master DB=postgres
14
+ - SOLIDUS_BRANCH=v1.1 DB=mysql
15
+ - SOLIDUS_BRANCH=v1.2 DB=mysql
16
+ - SOLIDUS_BRANCH=v1.3 DB=mysql
17
+ - SOLIDUS_BRANCH=v1.4 DB=mysql
18
+ - SOLIDUS_BRANCH=v2.0 DB=mysql
19
+ - SOLIDUS_BRANCH=master DB=mysql
data/Gemfile CHANGED
@@ -1,13 +1,18 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
- gemspec
3
+ branch = ENV.fetch('SOLIDUS_BRANCH', 'master')
4
+ gem "solidus", github: "solidusio/solidus", branch: branch
5
+
6
+ if branch == 'master' || branch >= "v2.0"
7
+ gem "rails-controller-testing", group: :test
8
+ end
4
9
 
5
- gem 'solidus', github: 'solidusio/solidus', branch: 'v1.0'
10
+ gem 'pg'
11
+ gem 'sqlite3'
12
+ gem 'mysql2'
6
13
 
7
- if ENV['DB'] == 'mysql'
8
- gem 'mysql2', '~> 0.3.20'
9
- elsif ENV['DB'] == 'postgres'
10
- gem 'pg'
11
- else
12
- gem 'sqlite3', '~> 1.3.10'
14
+ group :development, :test do
15
+ gem "pry-rails"
13
16
  end
17
+
18
+ gemspec
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/solidusio-contrib/solidus_i18n.svg?branch=master)](https://travis-ci.org/solidusio-contrib/solidus_i18n)
4
4
  [![Code Climate](https://codeclimate.com/github/solidusio-contrib/solidus_i18n/badges/gpa.svg)](https://codeclimate.com/github/solidusio-contrib/solidus_i18n)
5
+ [![Gem Version](https://badge.fury.io/rb/solidus_i18n.svg)](https://badge.fury.io/rb/solidus_i18n)
5
6
 
6
7
  This is the Internationalization project for [Solidus](https://solidus.io)
7
8
 
@@ -57,7 +58,7 @@ gem 'solidus_globalize', github: 'solidusio-contrib/solidus_globalize', branch:
57
58
 
58
59
  ### 1. Migrate your database
59
60
 
60
- bin/rake solidus:i18n:upgrade
61
+ bin/rake solidus_i18n:upgrade
61
62
  bin/rake db:migrate
62
63
 
63
64
  *Note:* The migration automatically skips the removal of the translations tables. So it's safe to run the migration without data loss. But be sure to have the `solidus_globalize` gem in your `Gemfile`, if you want to keep them.
data/Rakefile CHANGED
@@ -1,29 +1,25 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'rake/testtask'
4
- require 'rake/packagetask'
5
- require 'rubygems/package_task'
6
- require 'rspec/core/rake_task'
7
- require 'spree/testing_support/common_rake'
8
- require 'solidus_i18n'
9
-
1
+ require 'bundler'
10
2
  Bundler::GemHelper.install_tasks
11
- RSpec::Core::RakeTask.new
12
-
13
- task default: :spec
14
3
 
15
- spec = eval(File.read('solidus_i18n.gemspec'))
4
+ require 'rspec/core/rake_task'
5
+ RSpec::Core::RakeTask.new
16
6
 
17
- Gem::PackageTask.new(spec) do |p|
18
- p.gem_spec = spec
7
+ task :default do
8
+ if Dir["spec/dummy"].empty?
9
+ Rake::Task[:test_app].invoke
10
+ Dir.chdir("../../")
11
+ end
12
+ Rake::Task[:spec].invoke
19
13
  end
20
14
 
15
+ require 'spree/testing_support/common_rake'
21
16
  desc 'Generates a dummy app for testing'
22
17
  task :test_app do
23
18
  ENV['LIB_NAME'] = 'solidus_i18n'
24
19
  Rake::Task['common:test_app'].invoke
25
20
  end
26
21
 
22
+ require 'solidus_i18n'
27
23
  namespace :solidus_i18n do
28
24
  desc 'Update by retrieving the latest Solidus locale files'
29
25
  task :update_default do
@@ -12,6 +12,7 @@ de:
12
12
  phone: Telefonnummer
13
13
  state: Bundesland
14
14
  zipcode: PLZ
15
+ company: Firma
15
16
  spree/calculator/tiered_flat_rate:
16
17
  preferred_base_amount: Basisbetrag
17
18
  preferred_tiers: Stufen
@@ -24,6 +25,7 @@ de:
24
25
  iso_name: ISO-Name
25
26
  name: Name
26
27
  numcode: ISO-Nummer
28
+ states_required: Bundesland erforderlich
27
29
  spree/credit_card:
28
30
  base: Basis
29
31
  cc_type: Typ
@@ -32,11 +34,16 @@ de:
32
34
  number: Nummer
33
35
  verification_value: Kartenprüfnummer
34
36
  year: Jahr
37
+ card_code: Kartenprüfnummer
38
+ expiration: Verfallsdatum
35
39
  spree/inventory_unit:
36
- state: Bundesland
40
+ state: Status
37
41
  spree/line_item:
38
42
  price: Preis
39
43
  quantity: Menge
44
+ description: Artikelbeschreibung
45
+ name: Name
46
+ total: Preis (total)
40
47
  spree/option_type:
41
48
  name: Name
42
49
  presentation: Angezeigter Wert
@@ -55,13 +62,20 @@ de:
55
62
  special_instructions: Zusätzliche Angaben
56
63
  state: Status
57
64
  total: Gesamtsumme
65
+ additional_tax_total: Steuer
66
+ approved_at: Zugestimmt am
67
+ approver_id: Zustimmer
68
+ canceled_at: Abgebrochen am
69
+ canceler_id: Abgebrochen von
70
+ included_tax_total: enthaltene Steuer
71
+ shipment_total: Versand gesamt
58
72
  spree/order/bill_address:
59
73
  address1: Rechnungsanschrift Straße
60
74
  city: Rechnungsanschrift Ort
61
75
  firstname: Rechnungsanschrift Name
62
76
  lastname: Rechnungsanschrift Nachname
63
77
  phone: Rechnungsanschrift Telefon
64
- state: Rechnungsanschrift Bundesland\n
78
+ state: Rechnungsanschrift Bundesland
65
79
  zipcode: Rechnungsanschrift Postleitzahl
66
80
  spree/order/ship_address:
67
81
  address1: Lieferanschrift Straße
@@ -74,8 +88,15 @@ de:
74
88
  spree/payment:
75
89
  amount: Betrag
76
90
  number: Nummer
91
+ response_code: Transaktion ID
92
+ state: Zahlungsstatus
77
93
  spree/payment_method:
78
94
  name: Name
95
+ active: Aktiv
96
+ auto_capture: automatische Erfassung
97
+ description: Beschreibung
98
+ display_on: Angezeigter Wert
99
+ type: Anbieter
79
100
  spree/product:
80
101
  available_on: Erhältlich ab
81
102
  cost_currency: Kostenwährung
@@ -87,6 +108,16 @@ de:
87
108
  on_hand: verfügbar
88
109
  shipping_category: Versandkategorie
89
110
  tax_category: Steuerkategorie
111
+ depth: Tiefe
112
+ height: Höhe
113
+ meta_description: Meta-Beschreibung
114
+ meta_keywords: Meta-Schlagwörter
115
+ meta_title: Meta-Titel
116
+ price: Verkaufspreis (netto)
117
+ promotionable: Bewerbbar
118
+ slug: Permalink
119
+ weight: Gewicht
120
+ width: Breite
90
121
  spree/promotion:
91
122
  advertise: Bewerben
92
123
  code: Code
@@ -106,10 +137,12 @@ de:
106
137
  name: Name
107
138
  spree/return_authorization:
108
139
  amount: Anzahl
140
+ pre_tax_total: Vorsteuer Gesamtsumme
109
141
  spree/role:
110
142
  name: Name
111
143
  spree/shipment:
112
144
  number: Nummer
145
+ tracking: Tracking Nummer
113
146
  spree/state:
114
147
  abbr: Abkürzung
115
148
  name: Name
@@ -131,14 +164,22 @@ de:
131
164
  spree/tax_category:
132
165
  description: Beschreibung
133
166
  name: Name
167
+ is_default: Standard
168
+ tax_code: SteuerID
134
169
  spree/tax_rate:
135
170
  amount: Satz
136
171
  included_in_price: Im Preis enthalten
137
172
  show_rate_in_label: Zeige Steuersatz im Label
173
+ name: Name
138
174
  spree/taxon:
139
175
  name: Name
140
176
  permalink: Permalink
141
177
  position: Posten
178
+ description: Beschreibung
179
+ icon: Symbol
180
+ meta_description: Meta-Beschreibung
181
+ meta_keywords: Meta-Schlagwörter
182
+ meta_title: Meta-Titel
142
183
  spree/taxonomy:
143
184
  name: Name
144
185
  spree/user:
@@ -157,6 +198,117 @@ de:
157
198
  spree/zone:
158
199
  description: Beschreibung
159
200
  name: Name
201
+ default_tax: Standard Steuergebiet
202
+ spree/adjustment:
203
+ adjustable: Anpassbar
204
+ amount: Summe
205
+ label: Beschreibung
206
+ name: Name
207
+ state: Status
208
+ adjustment_reason_id: Grund
209
+ spree/adjustment_reason:
210
+ active: Aktiv
211
+ code: Code
212
+ name: Name
213
+ state: Status
214
+ spree/carton:
215
+ tracking: Tracking
216
+ spree/customer_return:
217
+ number: Rücksendenummer
218
+ pre_tax_total: Vorsteuer Gesamtsumme
219
+ total: Gesamt
220
+ reimbursement_status: Vergütungsstatus
221
+ name: Name
222
+ spree/image:
223
+ alt: Alternativer Text
224
+ attachment: Dateiname
225
+ spree/legacy_user:
226
+ email: E-Mail
227
+ password: Passwort
228
+ password_confirmation: Passwort bestätigen
229
+ spree/option_value:
230
+ name: Name
231
+ presentation: Angezeigter Wert
232
+ spree/product_property:
233
+ value: Wert
234
+ spree/refund:
235
+ amount: Summe
236
+ description: Beschreibung
237
+ refund_reason_id: Grund
238
+ spree/refund_reason:
239
+ active: Aktiv
240
+ name: Name
241
+ code: Code
242
+ spree/reimbursement:
243
+ number: Nummer
244
+ reimbursement_status: Status
245
+ total: Gesamt
246
+ spree/reimbursement/credit:
247
+ amount: Summe
248
+ spree/reimbursement_type:
249
+ name: Name
250
+ type: Typ
251
+ spree/return_item:
252
+ acceptance_status: Akzeptanzstatus
253
+ acceptance_status_errors: Akzeptanzfehler
254
+ charged: Berechnet
255
+ exchange_variant: Tauschen mit
256
+ inventory_unit_state: Status
257
+ override_reimbursement_type_id: Vergütungstyp überschreiben
258
+ preferred_reimbursement_type_id: Bevorzugter Vergütungstyp
259
+ reception_status: Empfangsstatus
260
+ return_reason: Grund
261
+ total: Gesamt
262
+ spree/return_reason:
263
+ name: Name
264
+ active: Aktiv
265
+ memo: Notiz
266
+ number: Rücksendungsnummer
267
+ state: Status
268
+ spree/shipping_category:
269
+ name: Name
270
+ spree/shipping_method:
271
+ admin_name: Interne Bezeichnung
272
+ code: Code
273
+ display_on: Angezeigter Wert
274
+ name: Name
275
+ tracking_url: Tracking URL
276
+ spree/shipping_rate:
277
+ tax_rate: Steuersatz
278
+ amount: Summe
279
+ spree/store_credit:
280
+ amount: Summe
281
+ memo: Notiz
282
+ spree/store_credit_event:
283
+ action: Aktion
284
+ spree/stock_item:
285
+ count_on_hand: Anzahl auf Lager
286
+ spree/stock_location:
287
+ admin_name: Interne Bezeichnung
288
+ active: Aktiv
289
+ address1: Straße
290
+ address2: Straße (Zusatz)
291
+ backorderable_default: Nachbestellbar (standard)
292
+ city: Ort
293
+ code: Code
294
+ country_id: Land
295
+ default: Standard
296
+ internal_name: Interne Bezeichnung
297
+ name: Name
298
+ phone: Telefon
299
+ propagate_all_variants: Auf alle Varianten übertragen
300
+ state_id: Bundesland
301
+ zipcode: PLZ
302
+ spree/stock_movement:
303
+ action: Aktion
304
+ quantity: Anzahl
305
+ spree/stock_transfer:
306
+ created_at: Erstellt am
307
+ description: Beschreibung
308
+ tracking_number: Tracking Nummer
309
+ spree/tracker:
310
+ analytics_id: Analytics ID
311
+ active: Aktiv
160
312
  errors:
161
313
  models:
162
314
  spree/calculator/tiered_flat_rate:
@@ -326,6 +478,24 @@ de:
326
478
  spree/zone:
327
479
  one: Gebiet
328
480
  other: Gebiete
481
+ spree/adjustment:
482
+ one: Anpassung
483
+ other: Anpassungen
484
+ spree/calculator:
485
+ one: Rechner
486
+ spree/legacy_user:
487
+ one: Benutzer
488
+ other: Benutzer
489
+ spree/log_entry:
490
+ other: Logeinträge
491
+ spree/product_property:
492
+ other: Produkt-Eigenschaften
493
+ spree/refund:
494
+ one: Rückerstattung
495
+ other: Rückerstattungen
496
+ spree/store_credit_category:
497
+ one: Kategorie
498
+ other: Kategorien
329
499
  devise:
330
500
  confirmations:
331
501
  confirmed: Ihr Konto wurde erfolgreich bestätigt. Sie sind jetzt angemeldet.
@@ -402,6 +572,11 @@ de:
402
572
  refund: Gutschrift
403
573
  save: Speichern
404
574
  update: aktualisieren
575
+ add: Hinzufügen
576
+ delete: Löschen
577
+ remove: Entfernen
578
+ ship: verschicken
579
+ split: Aufteilen
405
580
  activate: Aktivieren
406
581
  active: Aktiv
407
582
  add: Hinzufügen
@@ -450,7 +625,7 @@ de:
450
625
  configuration: Konfiguration
451
626
  option_types: Optionen
452
627
  orders: Bestellungen
453
- overview: "Übersicht"
628
+ overview: Übersicht
454
629
  products: Produkte
455
630
  promotion_categories: Aktion Kategorien
456
631
  promotions: Aktion
@@ -460,6 +635,12 @@ de:
460
635
  taxonomies: Klassifikationen
461
636
  taxons: Klassifikation
462
637
  users: Benutzer
638
+ checkout: Zur Kasse
639
+ general: Allgemein
640
+ payments: Zahlungen
641
+ settings: Einstellungen
642
+ shipping: Lieferung
643
+ stock: Lager
463
644
  user:
464
645
  account: Konto
465
646
  addresses: Adressen
@@ -512,7 +693,7 @@ de:
512
693
  are_you_sure: Sind Sie sicher
513
694
  are_you_sure_delete: Sind sie sich sicher, dass Sie diesen Eintrag löschen möchten?
514
695
  associated_adjustment_closed: Die verknüpfte Anpassung ist geschlossen und wird nicht neu berechnet. Möchten Sie die Anpassung öffnen?
515
- at_symbol: "x"
696
+ at_symbol: x
516
697
  authorization_failure: Bitte authentifizieren Sie sich.
517
698
  authorized: Autorisiert
518
699
  auto_capture: automatische Erfassung
@@ -856,7 +1037,7 @@ de:
856
1037
  login_name: Benutzer
857
1038
  logout: Abmelden
858
1039
  logs: Logs
859
- look_for_similar_items: "Ähnliche Artikel"
1040
+ look_for_similar_items: Ähnliche Artikel
860
1041
  make_refund: Gutschrift erstellen
861
1042
  make_sure_the_above_reimbursement_amount_is_correct: Stellen Sie sicher, dass die obrige Summe der Vergütung korrekt ist!
862
1043
  manage_promotion_categories: Werbungskategorien editieren.
@@ -951,7 +1132,7 @@ de:
951
1132
  num_orders: Anzahl Bestellungen
952
1133
  number: Nummer
953
1134
  on_hand: Auf Lager
954
- open: "Öffnen"
1135
+ open: Öffnen
955
1136
  open_all_adjustments: Alle Anpassungen öffnen
956
1137
  option_type: Optionstyp
957
1138
  option_type_placeholder: Optionstyp wählen
@@ -974,8 +1155,9 @@ de:
974
1155
  order_line_items: Bestellposten
975
1156
  order_mailer:
976
1157
  cancel_email:
977
- dear_customer: |
978
- Sehr geehrte Kundin, geehrter Kunde,
1158
+ dear_customer: 'Sehr geehrte Kundin, geehrter Kunde,
1159
+
1160
+ '
979
1161
  instructions: Ihre Bestellung wurde storniert. Bitte bewahren Sie diese Stornierung für Ihre Unterlagen auf.
980
1162
  order_summary_canceled: Bestellzusammenfassung [STORNO]
981
1163
  subject: Bestellung storniert
@@ -989,6 +1171,10 @@ de:
989
1171
  subtotal: Zwischensumme
990
1172
  thanks: Vielen Dank für Ihre Bestellung.
991
1173
  total: Gesamtsumme
1174
+ inventory_cancellation:
1175
+ dear_customer: 'Sehr geehrte Kundin, geehrter Kunde,
1176
+
1177
+ '
992
1178
  order_not_found: Wir konnten Ihre Bestellung nicht finden. Bitte versuchen Sie es später noch einmal.
993
1179
  order_number: Bestellnummer %{number}
994
1180
  order_processed_successfully: Ihre Bestellung wurde erfolgreich bearbeitet
@@ -1012,7 +1198,7 @@ de:
1012
1198
  orders: Bestellungen
1013
1199
  other_items_in_other: Andere Bestellpositionen
1014
1200
  out_of_stock: Ausverkauft
1015
- overview: "Überblick"
1201
+ overview: Überblick
1016
1202
  package_from: Paket von
1017
1203
  pagination:
1018
1204
  next_page: Seite vor »
@@ -1172,7 +1358,7 @@ de:
1172
1358
  reimbursement_email:
1173
1359
  days_to_send: Tage verbleibend
1174
1360
  dear_customer: Sehr geehrte/r Kunde/in
1175
- exchange_summary: "Übersicht Umtausch"
1361
+ exchange_summary: Übersicht Umtausch
1176
1362
  for: für
1177
1363
  instructions: Anweisungen
1178
1364
  refund_summary: Kurzfassung Gutschrift
@@ -1213,7 +1399,7 @@ de:
1213
1399
  return_quantity: Rückgabemenge
1214
1400
  returned: Zurückgegeben
1215
1401
  returns: Rücksendungen
1216
- review: "Überprüfung"
1402
+ review: Überprüfung
1217
1403
  risk: Risiko
1218
1404
  risk_analysis: Risikoanalyse
1219
1405
  risky: Riskant
@@ -1256,8 +1442,7 @@ de:
1256
1442
  shipment_details: Versendungsdetails
1257
1443
  shipment_mailer:
1258
1444
  shipped_email:
1259
- dear_customer: |
1260
- Sehr geehrte/r Kunde/in,
1445
+ dear_customer: 'Sehr geehrte/r Kunde/in,'
1261
1446
  instructions: Ihre Bestellung wurde versandt.
1262
1447
  shipment_summary: Versandzusammenfassung
1263
1448
  subject: Versand-Benachrichtigung
@@ -1374,7 +1559,7 @@ de:
1374
1559
  successfully_removed: "%{resource} wurde erfolgreich gelöscht."
1375
1560
  successfully_signed_up_for_analytics: Erfolgreich für Spree Analytics angemeldet
1376
1561
  successfully_updated: "%{resource} wurde erfolgreich aktualisiert."
1377
- summary: "Übersicht"
1562
+ summary: Übersicht
1378
1563
  tax: Steuer
1379
1564
  tax_categories: Steuerkategorien
1380
1565
  tax_category: Steuerkategorie
@@ -1452,7 +1637,7 @@ de:
1452
1637
  validation:
1453
1638
  cannot_be_less_than_shipped_units: kann nicht weniger als die gelieferten Einheiten sein.
1454
1639
  cannot_destroy_line_item_as_inventory_units_have_shipped: Kann Artikelposition nicht löschen, da bereits geliefert wurde.
1455
- exceeds_available_stock: "übersteigt die verfügbaren Vorräte. Bitte sicherstellen, dass die Einzelposten eine gültige Menge haben."
1640
+ exceeds_available_stock: übersteigt die verfügbaren Vorräte. Bitte sicherstellen, dass die Einzelposten eine gültige Menge haben.
1456
1641
  is_too_large: ist zu hoch. Der Lagerbestand kann die angefragte Menge nicht abdecken.
1457
1642
  must_be_int: muss eine Ganzzahl sein
1458
1643
  must_be_non_negative: darf keinen negativen Wert haben
@@ -1475,3 +1660,26 @@ de:
1475
1660
  zipcode: Postleitzahl
1476
1661
  zone: Gebiet
1477
1662
  zones: Gebiete
1663
+ canceled: Storniert
1664
+ cannot_create_payment_link: Bitte definieren Sie zuerst mindestens eine Zahlungsmethode.
1665
+ inventory_states:
1666
+ canceled: Storniert
1667
+ returned: zurück erstattet
1668
+ shipped: Ausgeliefert
1669
+ no_resource_found_link: Hinzufügen
1670
+ store_credit:
1671
+ display_action:
1672
+ adjustment: Anpassung
1673
+ credit: Guthaben
1674
+ void: Guthaben
1675
+ admin:
1676
+ authorize: Autorisiert
1677
+ store_credit_category:
1678
+ default: Standard
1679
+ activemodel:
1680
+ attributes:
1681
+ spree/order_cancellations:
1682
+ quantity: Anzahl
1683
+ state: Status
1684
+ shipment: Sendung
1685
+ cancel: abbrechen