From 8181f0dafafeb58b71689e914b31d8be803a7d0d Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 27 May 2021 07:11:29 +0000
Subject: [PATCH] updated translation base
---
InvenTree/locale/de/LC_MESSAGES/django.po | 295 +++++++++++-----------
InvenTree/locale/en/LC_MESSAGES/django.po | 271 ++++++++++----------
InvenTree/locale/es/LC_MESSAGES/django.po | 271 ++++++++++----------
InvenTree/locale/fr/LC_MESSAGES/django.po | 271 ++++++++++----------
InvenTree/locale/it/LC_MESSAGES/django.po | 271 ++++++++++----------
InvenTree/locale/ja/LC_MESSAGES/django.po | 271 ++++++++++----------
InvenTree/locale/pl/LC_MESSAGES/django.po | 287 +++++++++++----------
InvenTree/locale/ru/LC_MESSAGES/django.po | 271 ++++++++++----------
InvenTree/locale/tr/LC_MESSAGES/django.po | 271 ++++++++++----------
InvenTree/locale/zh/LC_MESSAGES/django.po | 271 ++++++++++----------
10 files changed, 1319 insertions(+), 1431 deletions(-)
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index acf471ba06..31d15c53ba 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 22:45\n"
"Last-Translator: \n"
"Language-Team: German\n"
@@ -33,42 +33,42 @@ msgstr "Keine passende Aktion gefunden"
msgid "Enter date"
msgstr "Datum eingeben"
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Bestätigen"
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "Löschung bestätigen"
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr "Löschung von Position bestätigen"
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "Passwort eingeben"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "Neues Passwort eingeben"
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Passwort wiederholen"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Neues Passwort bestätigen"
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr "Thema anwenden"
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr "Kategorie auswählen"
@@ -171,23 +171,23 @@ msgstr "Beschreibung (optional)"
msgid "parent"
msgstr "Eltern"
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr "Türkisch"
@@ -372,27 +372,27 @@ msgstr "Überschuss darf 100% nicht überschreiten"
msgid "Overage must be an integer value or a percentage"
msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein"
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr "Element löschen"
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen"
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr "Benutzerinformationen bearbeiten"
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr "Passwort eingeben"
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr "Passwörter stimmen nicht überein"
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr "Systeminformationen"
@@ -462,7 +462,7 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr "Bauauftrag"
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr "Bauaufträge"
@@ -1466,376 +1466,360 @@ msgstr "Fehler beim Lesen der Datei (falsche Größe)"
msgid "Error reading file (data could be corrupted)"
msgstr "Fehler beim Lesen der Datei (Daten könnten beschädigt sein)"
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr "Datei"
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr "Datei zum Hochladen auswählen"
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr "{name.title()} Datei"
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr "{name} Datei zum Hochladen auswählen"
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr "InvenTree Instanzname"
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr "Kurze Beschreibung der Instanz"
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr "Name der Instanz verwenden"
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr "Den Namen der Instanz in der Titelleiste verwenden"
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr "Firmenname"
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr "interner Firmenname"
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr "Basis-URL"
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr "Basis-URL für dieses Instanz"
-#: common/models.py:84
-msgid "Default Currency"
-msgstr "Standard-Währung"
-
#: common/models.py:85
-msgid "Default currency"
-msgstr "Standard-Währung"
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr "Von URL herunterladen"
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt"
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr "Bacode-Feature verwenden"
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr "Barcode-Scanner Unterstützung"
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr "IPN Regex"
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr "Baugruppe"
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr "Komponente"
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr "Verkäuflich"
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr "Test-Berichte"
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr "Tage"
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr "Gruppieren nach Teil"
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr "Bestand in Tabellen anhand von Teil-Referenz gruppieren"
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr "Bauauftrag-Referenz Präfix"
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr "Präfix für Bauauftrag-Referenz"
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr "Bauauftrag-Referenz RegEx"
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen"
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr "Auftrags-Referenz Präfix"
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr "Präfix für Auftrags-Referenz"
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr "Bestellungs-Referenz Präfix"
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr "Präfix für Bestellungs-Referenz"
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr "Einstellungs-Wert"
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr "Wahrheitswert erforderlich"
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr "Schlüsseltext muss eindeutig sein"
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr "Preis"
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr "Standard"
@@ -2353,7 +2337,7 @@ msgstr "Herstellerteil-Bestand"
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr "Lagerbestand"
@@ -2414,7 +2398,7 @@ msgstr "Teilbestand"
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr "Aufträge"
@@ -2426,7 +2410,7 @@ msgstr "Aufträge"
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr "Bestellungen"
@@ -3211,7 +3195,7 @@ msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen"
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6135,23 +6119,30 @@ msgstr "Vorlage löschen"
msgid "Currency Settings"
msgstr "Kategorie-Einstellungen"
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
-msgstr ""
+#: templates/InvenTree/settings/currencies.html:18
+#, fuzzy
+#| msgid "Currency"
+msgid "Base Currency"
+msgstr "Währung"
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:37
+#: templates/InvenTree/settings/currencies.html:22
#, fuzzy
#| msgid "Updated company image"
-msgid "Update Exchange Rates"
+msgid "Exchange Rates"
msgstr "Aktualisiertes Firmenbild"
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:32
+#, fuzzy
+#| msgid "Last Updated"
+msgid "Last Update"
+msgstr "Zuletzt aktualisiert"
+
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6237,19 +6228,19 @@ msgid "Global"
msgstr "Systemweit"
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
-msgstr "Bericht"
-
-#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
-msgstr "Kategorien"
-
-#: templates/InvenTree/settings/tabs.html:40
#, fuzzy
#| msgid "Currency"
msgid "Currencies"
msgstr "Währung"
+#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr "Bericht"
+
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
+msgstr "Kategorien"
+
#: templates/InvenTree/settings/user.html:16
msgid "User Information"
msgstr "Benutzerinformation"
@@ -7532,6 +7523,12 @@ msgstr "Berechtigungen Einträge zu ändern"
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
+#~ msgid "Default Currency"
+#~ msgstr "Standard-Währung"
+
+#~ msgid "Default currency"
+#~ msgstr "Standard-Währung"
+
#~ msgid "fixer.io API key"
#~ msgstr "fixer.io API-Schlüssel"
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index d3d4ba0cad..3003376391 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -34,42 +34,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -172,23 +172,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -373,27 +373,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -463,7 +463,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -593,7 +593,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -1467,376 +1467,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr ""
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -2352,7 +2336,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2413,7 +2397,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2425,7 +2409,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3210,7 +3194,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6126,21 +6110,24 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6226,15 +6213,15 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
+msgid "Report"
msgstr ""
-#: templates/InvenTree/settings/tabs.html:40
-msgid "Currencies"
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
msgstr ""
#: templates/InvenTree/settings/user.html:16
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 71ba1565ad..70b7c7fcec 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 13:05\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Confirmar"
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Confirmar la contraseña"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Confirmar contraseña nueva"
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr "Inglés"
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr "Francés"
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr "Alemán"
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr "Polaco"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr "Turco"
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr "Eliminar elemento"
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr "Configurar Contraseña"
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr "Información del sistema"
@@ -462,7 +462,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -1466,376 +1466,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr ""
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr "días"
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -2351,7 +2335,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2412,7 +2396,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2424,7 +2408,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3209,7 +3193,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6125,21 +6109,24 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6225,15 +6212,15 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
+msgid "Report"
msgstr ""
-#: templates/InvenTree/settings/tabs.html:40
-msgid "Currencies"
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
msgstr ""
#: templates/InvenTree/settings/user.html:16
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index d7163452cc..050700131a 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 13:05\n"
"Last-Translator: \n"
"Language-Team: French\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr "Entrer la date"
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Confirmer"
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "Confirmer la suppression"
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr "Confirmer la suppression de cet élément"
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "Entrer le mot de passe"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "Entrer le nouveau mot de passe"
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Confirmez le mot de passe"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe"
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -171,23 +171,23 @@ msgstr "Description (facultative)"
msgid "parent"
msgstr "parent"
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr "Supprimer cet élément"
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -462,7 +462,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -1466,376 +1466,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr ""
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -2351,7 +2335,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2412,7 +2396,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2424,7 +2408,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3209,7 +3193,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6125,21 +6109,24 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6225,15 +6212,15 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
+msgid "Report"
msgstr ""
-#: templates/InvenTree/settings/tabs.html:40
-msgid "Currencies"
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
msgstr ""
#: templates/InvenTree/settings/user.html:16
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 09c821c174..dbf76548d2 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 13:05\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -462,7 +462,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -1466,376 +1466,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr ""
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -2351,7 +2335,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2412,7 +2396,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2424,7 +2408,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3209,7 +3193,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6125,21 +6109,24 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6225,15 +6212,15 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
+msgid "Report"
msgstr ""
-#: templates/InvenTree/settings/tabs.html:40
-msgid "Currencies"
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
msgstr ""
#: templates/InvenTree/settings/user.html:16
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index 8aef0114b0..8f252c8cbc 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 13:06\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -462,7 +462,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -1466,376 +1466,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr ""
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -2351,7 +2335,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2412,7 +2396,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2424,7 +2408,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3209,7 +3193,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6125,21 +6109,24 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6225,15 +6212,15 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
+msgid "Report"
msgstr ""
-#: templates/InvenTree/settings/tabs.html:40
-msgid "Currencies"
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
msgstr ""
#: templates/InvenTree/settings/user.html:16
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index b8ff5960f5..8790ab5e52 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 13:05\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
@@ -33,42 +33,42 @@ msgstr "Nie znaleziono pasującej akcji"
msgid "Enter date"
msgstr "Wprowadź dane"
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Potwierdź"
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "Potwierdź usunięcie"
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr "Potwierdź usuwanie elementu"
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "Wprowadź hasło"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "Wprowadź nowe hasło"
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Potwierdź hasło"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Potwierdź nowe hasło"
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr "Zastosuj motyw"
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr "Wybierz kategorię"
@@ -171,23 +171,23 @@ msgstr "Opis (opcjonalny)"
msgid "parent"
msgstr "nadrzędny"
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr "Turecki"
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr "Usuń element"
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr "Zaznacz pole aby potwierdzić usunięcie elementu"
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr "Edytuj informacje użytkownika"
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr "Ustaw hasło"
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr "Hasła muszą być zgodne"
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr "Informacja systemowa"
@@ -462,7 +462,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr "Zlecenie Budowy"
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr "Zlecenia budowy"
@@ -1466,376 +1466,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr "Nazwa instancji InvenTree"
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr "Nazwa firmy"
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr "Bazowy URL"
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr "Bazowy adres URL dla instancji serwera"
-#: common/models.py:84
-msgid "Default Currency"
-msgstr "Domyślna waluta"
-
#: common/models.py:85
-msgid "Default currency"
-msgstr "Domyślna waluta"
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr "Pobierz z adresu URL"
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL"
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr "Obsługa kodu kreskowego"
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr "Włącz obsługę skanera kodów"
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr "Wyrażenie regularne IPN"
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr "Zezwól na powtarzający się IPN"
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr "Zezwól na edycję IPN"
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr "Skopiuj BOM komponentu"
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr "Szablon"
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr "Złożenie"
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr "Komponent"
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr "Możliwość zakupu"
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr "Możliwość sprzedaży"
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr "Możliwość śledzenia"
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr "Wirtualny"
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr "Części są domyślnie wirtualne"
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr "Raporty testów"
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr "Włącz generowanie raportów testów"
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr "dni"
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr "Grupuj według komponentu"
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr "Ustawienia wartości"
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr "Cena"
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr "Domyślny"
@@ -2351,7 +2335,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr "Stan"
@@ -2412,7 +2396,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2424,7 +2408,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3209,7 +3193,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6129,21 +6113,26 @@ msgstr ""
msgid "Currency Settings"
msgstr "Zmień ustawienie"
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+#, fuzzy
+#| msgid "Currency"
+msgid "Base Currency"
+msgstr "Waluta"
+
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6229,19 +6218,19 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
-msgstr ""
-
-#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
-msgstr ""
-
-#: templates/InvenTree/settings/tabs.html:40
#, fuzzy
#| msgid "Currency"
msgid "Currencies"
msgstr "Waluta"
+#: templates/InvenTree/settings/tabs.html:22
+msgid "Report"
+msgstr ""
+
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
+msgstr ""
+
#: templates/InvenTree/settings/user.html:16
msgid "User Information"
msgstr ""
@@ -7521,3 +7510,9 @@ msgstr ""
#: users/models.py:187
msgid "Permission to delete items"
msgstr ""
+
+#~ msgid "Default Currency"
+#~ msgstr "Domyślna waluta"
+
+#~ msgid "Default currency"
+#~ msgstr "Domyślna waluta"
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index cd0e8c003b..7722c4dc97 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 13:05\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
@@ -33,42 +33,42 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr ""
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr ""
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr ""
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr ""
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -462,7 +462,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -1466,376 +1466,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr ""
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -2351,7 +2335,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2412,7 +2396,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2424,7 +2408,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3209,7 +3193,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6125,21 +6109,24 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6225,15 +6212,15 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
+msgid "Report"
msgstr ""
-#: templates/InvenTree/settings/tabs.html:40
-msgid "Currencies"
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
msgstr ""
#: templates/InvenTree/settings/user.html:16
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index 990d3419e2..e56bbaa45a 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 13:05\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
@@ -33,42 +33,42 @@ msgstr "Eşleşen eylem bulunamadı"
msgid "Enter date"
msgstr "Tarih giriniz"
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "Onay"
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "Silmeyi Onayla"
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr "Silmeyi onayla"
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "Şifrenizi girin"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "Lütfen Yeni Parolayı Girin"
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "Parolayı doğrulayın"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "Yeni parolayı doğrulayın"
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr "Temayı Uygula"
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr "Kategori Seçin"
@@ -171,23 +171,23 @@ msgstr "Açıklama(opsiyonel)"
msgid "parent"
msgstr "ebeveyn"
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr "Türkçe"
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -462,7 +462,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -1466,376 +1466,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr ""
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -2351,7 +2335,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2412,7 +2396,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2424,7 +2408,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3209,7 +3193,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6125,21 +6109,24 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6225,15 +6212,15 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
+msgid "Report"
msgstr ""
-#: templates/InvenTree/settings/tabs.html:40
-msgid "Currencies"
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
msgstr ""
#: templates/InvenTree/settings/user.html:16
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 48992f5d47..4dd923ffd3 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-05-27 03:25+0000\n"
+"POT-Creation-Date: 2021-05-27 07:11+0000\n"
"PO-Revision-Date: 2021-05-18 13:05\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -33,42 +33,42 @@ msgstr "未找到指定操作"
msgid "Enter date"
msgstr "输入日期"
-#: InvenTree/forms.py:114 build/forms.py:102 build/forms.py:123
+#: InvenTree/forms.py:112 build/forms.py:102 build/forms.py:123
#: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227
#: order/forms.py:27 order/forms.py:38 order/forms.py:49 order/forms.py:60
#: order/forms.py:71 part/forms.py:134
msgid "Confirm"
msgstr "确认"
-#: InvenTree/forms.py:130
+#: InvenTree/forms.py:128
msgid "Confirm delete"
msgstr "确认删除"
-#: InvenTree/forms.py:131
+#: InvenTree/forms.py:129
msgid "Confirm item deletion"
msgstr ""
-#: InvenTree/forms.py:163 templates/registration/login.html:77
+#: InvenTree/forms.py:161 templates/registration/login.html:77
msgid "Enter password"
msgstr "输入密码"
-#: InvenTree/forms.py:164
+#: InvenTree/forms.py:162
msgid "Enter new password"
msgstr "输入新密码"
-#: InvenTree/forms.py:171
+#: InvenTree/forms.py:169
msgid "Confirm password"
msgstr "确认密码"
-#: InvenTree/forms.py:172
+#: InvenTree/forms.py:170
msgid "Confirm new password"
msgstr "确认新密码"
-#: InvenTree/forms.py:207
+#: InvenTree/forms.py:205
msgid "Apply Theme"
msgstr "应用主题"
-#: InvenTree/forms.py:237
+#: InvenTree/forms.py:235
msgid "Select Category"
msgstr "选择分类"
@@ -171,23 +171,23 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/settings.py:501
+#: InvenTree/settings.py:503
msgid "English"
msgstr ""
-#: InvenTree/settings.py:502
+#: InvenTree/settings.py:504
msgid "French"
msgstr ""
-#: InvenTree/settings.py:503
+#: InvenTree/settings.py:505
msgid "German"
msgstr ""
-#: InvenTree/settings.py:504
+#: InvenTree/settings.py:506
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:505
+#: InvenTree/settings.py:507
msgid "Turkish"
msgstr ""
@@ -372,27 +372,27 @@ msgstr ""
msgid "Overage must be an integer value or a percentage"
msgstr ""
-#: InvenTree/views.py:590
+#: InvenTree/views.py:592
msgid "Delete Item"
msgstr ""
-#: InvenTree/views.py:639
+#: InvenTree/views.py:641
msgid "Check box to confirm item deletion"
msgstr ""
-#: InvenTree/views.py:654 templates/InvenTree/settings/user.html:18
+#: InvenTree/views.py:656 templates/InvenTree/settings/user.html:18
msgid "Edit User Information"
msgstr ""
-#: InvenTree/views.py:665 templates/InvenTree/settings/user.html:22
+#: InvenTree/views.py:667 templates/InvenTree/settings/user.html:22
msgid "Set Password"
msgstr ""
-#: InvenTree/views.py:684
+#: InvenTree/views.py:686
msgid "Password fields must match"
msgstr ""
-#: InvenTree/views.py:890 templates/navbar.html:95
+#: InvenTree/views.py:936 templates/navbar.html:95
msgid "System Information"
msgstr ""
@@ -462,7 +462,7 @@ msgstr ""
#: build/templates/build/allocation_card.html:23
#: build/templates/build/auto_allocate.html:17
#: build/templates/build/build_base.html:133
-#: build/templates/build/detail.html:31 common/models.py:712
+#: build/templates/build/detail.html:31 common/models.py:699
#: company/forms.py:176 company/templates/company/supplier_part_pricing.html:77
#: order/forms.py:188 order/forms.py:205 order/forms.py:240 order/forms.py:262
#: order/forms.py:279 order/models.py:614 order/models.py:815
@@ -592,7 +592,7 @@ msgstr ""
#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:55
#: part/templates/part/navbar.html:58 templates/InvenTree/index.html:183
#: templates/InvenTree/search.html:185
-#: templates/InvenTree/settings/tabs.html:31 users/models.py:43
+#: templates/InvenTree/settings/tabs.html:34 users/models.py:43
msgid "Build Orders"
msgstr ""
@@ -1466,376 +1466,360 @@ msgstr ""
msgid "Error reading file (data could be corrupted)"
msgstr ""
-#: common/forms.py:37 templates/attachment_table.html:15
+#: common/forms.py:39 templates/attachment_table.html:15
msgid "File"
msgstr ""
-#: common/forms.py:38
+#: common/forms.py:40
msgid "Select file to upload"
msgstr ""
-#: common/forms.py:53
+#: common/forms.py:55
msgid "{name.title()} File"
msgstr ""
-#: common/forms.py:54
+#: common/forms.py:56
#, python-brace-format
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:58
+#: common/models.py:59
msgid "InvenTree Instance Name"
msgstr ""
-#: common/models.py:60
+#: common/models.py:61
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:64
+#: common/models.py:65
msgid "Use instance name"
msgstr ""
-#: common/models.py:65
+#: common/models.py:66
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:71 company/models.py:94 company/models.py:95
+#: common/models.py:72 company/models.py:94 company/models.py:95
msgid "Company name"
msgstr ""
-#: common/models.py:72
+#: common/models.py:73
msgid "Internal company name"
msgstr ""
-#: common/models.py:77
+#: common/models.py:78
msgid "Base URL"
msgstr ""
-#: common/models.py:78
+#: common/models.py:79
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:84
-msgid "Default Currency"
-msgstr ""
-
#: common/models.py:85
-msgid "Default currency"
-msgstr ""
-
-#: common/models.py:91
-msgid "Custom Exchange Rates"
-msgstr ""
-
-#: common/models.py:92
-msgid "Enable custom exchange rates"
-msgstr ""
-
-#: common/models.py:98
msgid "Download from URL"
msgstr ""
-#: common/models.py:99
+#: common/models.py:86
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:105
+#: common/models.py:92
msgid "Barcode Support"
msgstr ""
-#: common/models.py:106
+#: common/models.py:93
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:112
+#: common/models.py:99
msgid "IPN Regex"
msgstr ""
-#: common/models.py:113
+#: common/models.py:100
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:117
+#: common/models.py:104
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:118
+#: common/models.py:105
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:124
+#: common/models.py:111
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:125
+#: common/models.py:112
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:131
+#: common/models.py:118
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:132
+#: common/models.py:119
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:138
+#: common/models.py:125
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:139
+#: common/models.py:126
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:145
+#: common/models.py:132
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:146
+#: common/models.py:133
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:152
+#: common/models.py:139
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:153
+#: common/models.py:140
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:159
+#: common/models.py:146
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:160
+#: common/models.py:147
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:166 part/models.py:2170 part/templates/part/detail.html:160
+#: common/models.py:153 part/models.py:2170 part/templates/part/detail.html:160
#: report/models.py:185 stock/forms.py:259 templates/js/table_filters.js:25
#: templates/js/table_filters.js:311
msgid "Template"
msgstr ""
-#: common/models.py:167
+#: common/models.py:154
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:173 part/models.py:834 part/templates/part/detail.html:170
+#: common/models.py:160 part/models.py:834 part/templates/part/detail.html:170
#: templates/js/table_filters.js:124 templates/js/table_filters.js:323
msgid "Assembly"
msgstr ""
-#: common/models.py:174
+#: common/models.py:161
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:180 part/models.py:840 part/templates/part/detail.html:180
+#: common/models.py:167 part/models.py:840 part/templates/part/detail.html:180
#: templates/js/table_filters.js:327
msgid "Component"
msgstr ""
-#: common/models.py:181
+#: common/models.py:168
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:187 part/models.py:851 part/templates/part/detail.html:200
+#: common/models.py:174 part/models.py:851 part/templates/part/detail.html:200
msgid "Purchaseable"
msgstr ""
-#: common/models.py:188
+#: common/models.py:175
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:194 part/models.py:856 part/templates/part/detail.html:210
+#: common/models.py:181 part/models.py:856 part/templates/part/detail.html:210
#: templates/js/table_filters.js:335
msgid "Salable"
msgstr ""
-#: common/models.py:195
+#: common/models.py:182
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:201 part/models.py:846 part/templates/part/detail.html:190
+#: common/models.py:188 part/models.py:846 part/templates/part/detail.html:190
#: templates/js/table_filters.js:33 templates/js/table_filters.js:339
msgid "Trackable"
msgstr ""
-#: common/models.py:202
+#: common/models.py:189
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:208 part/models.py:866 part/templates/part/detail.html:150
+#: common/models.py:195 part/models.py:866 part/templates/part/detail.html:150
#: templates/js/table_filters.js:29
msgid "Virtual"
msgstr ""
-#: common/models.py:209
+#: common/models.py:196
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:215
+#: common/models.py:202
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:216
+#: common/models.py:203
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:222 templates/stats.html:25
+#: common/models.py:209 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:223
+#: common/models.py:210
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:229
+#: common/models.py:216
msgid "Page Size"
msgstr ""
-#: common/models.py:230
+#: common/models.py:217
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:240
+#: common/models.py:227
msgid "Test Reports"
msgstr ""
-#: common/models.py:241
+#: common/models.py:228
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:247
+#: common/models.py:234
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:248
+#: common/models.py:235
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:254
+#: common/models.py:241
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:255
+#: common/models.py:242
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:261
+#: common/models.py:248
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:262
+#: common/models.py:249
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:264 part/templates/part/detail.html:121
+#: common/models.py:251 part/templates/part/detail.html:121
msgid "days"
msgstr ""
-#: common/models.py:269
+#: common/models.py:256
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:270
+#: common/models.py:257
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:276
+#: common/models.py:263
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:277
+#: common/models.py:264
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:283
+#: common/models.py:270
msgid "Group by Part"
msgstr ""
-#: common/models.py:284
+#: common/models.py:271
msgid "Group stock items by part reference in table views"
msgstr ""
-#: common/models.py:290
+#: common/models.py:277
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:291
+#: common/models.py:278
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:297
+#: common/models.py:284
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:298
+#: common/models.py:285
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:303
+#: common/models.py:290
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:304
+#: common/models.py:291
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:308
+#: common/models.py:295
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:309
+#: common/models.py:296
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:314
+#: common/models.py:301
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:315
+#: common/models.py:302
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:538
+#: common/models.py:525
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:540
+#: common/models.py:527
msgid "Settings value"
msgstr ""
-#: common/models.py:575
+#: common/models.py:562
msgid "Must be an integer value"
msgstr ""
-#: common/models.py:598
+#: common/models.py:585
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:609
+#: common/models.py:596
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:632
+#: common/models.py:619
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:713 company/forms.py:177
+#: common/models.py:700 company/forms.py:177
msgid "Price break quantity"
msgstr ""
-#: common/models.py:721 company/templates/company/supplier_part_pricing.html:82
+#: common/models.py:708 company/templates/company/supplier_part_pricing.html:82
#: part/templates/part/sale_prices.html:90 templates/js/bom.js:255
msgid "Price"
msgstr ""
-#: common/models.py:722
+#: common/models.py:709
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:811
+#: common/models.py:798
msgid "Default"
msgstr ""
@@ -2351,7 +2335,7 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/index.html:128 templates/InvenTree/search.html:196
#: templates/InvenTree/search.html:232
-#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:173
+#: templates/InvenTree/settings/tabs.html:31 templates/js/part.js:173
#: templates/js/part.js:398 templates/js/stock.js:563 templates/navbar.html:26
msgid "Stock"
msgstr ""
@@ -2412,7 +2396,7 @@ msgstr ""
#: part/templates/part/navbar.html:98 part/templates/part/navbar.html:101
#: part/templates/part/sales_orders.html:10 templates/InvenTree/index.html:228
#: templates/InvenTree/search.html:345
-#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:46
+#: templates/InvenTree/settings/tabs.html:40 templates/navbar.html:46
#: users/models.py:45
msgid "Sales Orders"
msgstr ""
@@ -2424,7 +2408,7 @@ msgstr ""
#: part/templates/part/navbar.html:84 part/templates/part/navbar.html:87
#: part/templates/part/orders.html:10 templates/InvenTree/index.html:205
#: templates/InvenTree/search.html:325
-#: templates/InvenTree/settings/tabs.html:34 templates/navbar.html:37
+#: templates/InvenTree/settings/tabs.html:37 templates/navbar.html:37
#: users/models.py:44
msgid "Purchase Orders"
msgstr ""
@@ -3209,7 +3193,7 @@ msgstr ""
#: part/templates/part/category_navbar.html:29
#: part/templates/part/category_partlist.html:10
#: templates/InvenTree/index.html:97 templates/InvenTree/search.html:114
-#: templates/InvenTree/settings/tabs.html:25 templates/js/part.js:577
+#: templates/InvenTree/settings/tabs.html:28 templates/js/part.js:577
#: templates/navbar.html:23 templates/stats.html:80 templates/stats.html:89
#: users/models.py:40
msgid "Parts"
@@ -6125,21 +6109,24 @@ msgstr ""
msgid "Currency Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:25
-#, python-format
-msgid "Exchange Rates - Convert to %(cur)s"
+#: templates/InvenTree/settings/currencies.html:18
+msgid "Base Currency"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:35
-msgid "Refresh Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:22
+msgid "Exchange Rates"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:37
-msgid "Update Exchange Rates"
+#: templates/InvenTree/settings/currencies.html:32
+msgid "Last Update"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:48
-msgid "\"Failed to refresh exchange rates\" "
+#: templates/InvenTree/settings/currencies.html:38
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/currencies.html:43
+msgid "Update Now"
msgstr ""
#: templates/InvenTree/settings/global.html:10
@@ -6225,15 +6212,15 @@ msgid "Global"
msgstr ""
#: templates/InvenTree/settings/tabs.html:19
-msgid "Report"
+msgid "Currencies"
msgstr ""
#: templates/InvenTree/settings/tabs.html:22
-msgid "Categories"
+msgid "Report"
msgstr ""
-#: templates/InvenTree/settings/tabs.html:40
-msgid "Currencies"
+#: templates/InvenTree/settings/tabs.html:25
+msgid "Categories"
msgstr ""
#: templates/InvenTree/settings/user.html:16