More work on translations

This commit is contained in:
Oliver Walters 2020-02-12 10:25:46 +11:00
parent 28e9d842bf
commit 50fee1bfe5
7 changed files with 644 additions and 189 deletions

View File

@ -5,6 +5,8 @@ Django views for interacting with common models
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.utils.translation import ugettext as _
from InvenTree.views import AjaxCreateView, AjaxUpdateView, AjaxDeleteView
from . import models
@ -16,7 +18,7 @@ class CurrencyCreate(AjaxCreateView):
model = models.Currency
form_class = forms.CurrencyEditForm
ajax_form_title = 'Create new Currency'
ajax_form_title = _('Create new Currency')
class CurrencyEdit(AjaxUpdateView):
@ -24,12 +26,12 @@ class CurrencyEdit(AjaxUpdateView):
model = models.Currency
form_class = forms.CurrencyEditForm
ajax_form_title = 'Edit Currency'
ajax_form_title = _('Edit Currency')
class CurrencyDelete(AjaxDeleteView):
""" View for deleting an existing Currency object """
model = models.Currency
ajax_form_title = 'Delete Currency'
ajax_form_title = _('Delete Currency')
ajax_template_name = "common/delete_currency.html"

View File

@ -6,6 +6,7 @@ Django views for interacting with Company app
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.utils.translation import ugettext as _
from django.views.generic import DetailView, ListView, UpdateView
from django.urls import reverse
@ -93,12 +94,12 @@ class CompanyImage(AjaxUpdateView):
""" View for uploading an image for the Company """
model = Company
ajax_template_name = 'modal_form.html'
ajax_form_title = 'Update Company Image'
ajax_form_title = _('Update Company Image')
form_class = CompanyImageForm
def get_data(self):
return {
'success': 'Updated company image',
'success': _('Updated company image'),
}
@ -108,11 +109,11 @@ class CompanyEdit(AjaxUpdateView):
form_class = EditCompanyForm
context_object_name = 'company'
ajax_template_name = 'modal_form.html'
ajax_form_title = 'Edit Company'
ajax_form_title = _('Edit Company')
def get_data(self):
return {
'info': 'Edited company information',
'info': _('Edited company information'),
}
@ -122,11 +123,11 @@ class CompanyCreate(AjaxCreateView):
context_object_name = 'company'
form_class = EditCompanyForm
ajax_template_name = 'modal_form.html'
ajax_form_title = "Create new Company"
ajax_form_title = _("Create new Company")
def get_data(self):
return {
'success': "Created new company",
'success': _("Created new company"),
}
@ -136,12 +137,12 @@ class CompanyDelete(AjaxDeleteView):
model = Company
success_url = '/company/'
ajax_template_name = 'company/delete.html'
ajax_form_title = 'Delete Company'
ajax_form_title = _('Delete Company')
context_object_name = 'company'
def get_data(self):
return {
'danger': 'Company was deleted',
'danger': _('Company was deleted'),
}
@ -166,7 +167,7 @@ class SupplierPartEdit(AjaxUpdateView):
context_object_name = 'part'
form_class = EditSupplierPartForm
ajax_template_name = 'modal_form.html'
ajax_form_title = 'Edit Supplier Part'
ajax_form_title = _('Edit Supplier Part')
class SupplierPartCreate(AjaxCreateView):
@ -175,7 +176,7 @@ class SupplierPartCreate(AjaxCreateView):
model = SupplierPart
form_class = EditSupplierPartForm
ajax_template_name = 'modal_form.html'
ajax_form_title = 'Create new Supplier Part'
ajax_form_title = _('Create new Supplier Part')
context_object_name = 'part'
def get_form(self):
@ -232,7 +233,7 @@ class SupplierPartDelete(AjaxDeleteView):
success_url = '/supplier/'
ajax_template_name = 'company/partdelete.html'
ajax_form_title = 'Delete Supplier Part'
ajax_form_title = _('Delete Supplier Part')
parts = []
@ -302,7 +303,7 @@ class PriceBreakCreate(AjaxCreateView):
model = SupplierPriceBreak
form_class = EditPriceBreakForm
ajax_form_title = 'Add Price Break'
ajax_form_title = _('Add Price Break')
ajax_template_name = 'modal_form.html'
def get_data(self):
@ -337,7 +338,7 @@ class PriceBreakEdit(AjaxUpdateView):
model = SupplierPriceBreak
form_class = EditPriceBreakForm
ajax_form_title = 'Edit Price Break'
ajax_form_title = _('Edit Price Break')
ajax_template_name = 'modal_form.html'
def get_form(self):
@ -352,5 +353,5 @@ class PriceBreakDelete(AjaxDeleteView):
""" View for deleting a supplier price break """
model = SupplierPriceBreak
ajax_form_title = "Delete Price Break"
ajax_form_title = _("Delete Price Break")
ajax_template_name = 'modal_delete_form.html'

View File

@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-11 21:11+0000\n"
"POT-Creation-Date: 2020-02-11 23:25+0000\n"
"PO-Revision-Date: 2020-02-02 08:07+0100\n"
"Last-Translator: Christian Schlüter <chschlue@gmail.com>\n"
"Language-Team: C <kde-i18n-doc@kde.org>\n"
@ -248,7 +248,7 @@ msgid "Allocate"
msgstr "zuweisen"
#: build/templates/build/allocate_view.html:10
#: company/templates/company/detail_part.html:18
#: company/templates/company/detail_part.html:18 order/views.py:448
msgid "Order Parts"
msgstr "Teile bestellen"
@ -533,6 +533,20 @@ msgstr "Währungs-Wert"
msgid "Use this currency as the base currency"
msgstr "Benutze diese Währung als Basis-Währung"
#: common/views.py:21
#, fuzzy
#| msgid "Create new Stock Item"
msgid "Create new Currency"
msgstr "Neues Lagerobjekt hinzufügen"
#: common/views.py:29
msgid "Edit Currency"
msgstr ""
#: common/views.py:36
msgid "Delete Currency"
msgstr ""
#: company/models.py:74
msgid "Company name"
msgstr "Firmenname"
@ -805,6 +819,84 @@ msgstr "Lagerbestand"
msgid "Sales Orders"
msgstr "Bestellungen"
#: company/views.py:97
#, fuzzy
#| msgid "Company name"
msgid "Update Company Image"
msgstr "Firmenname"
#: company/views.py:102
msgid "Updated company image"
msgstr ""
#: company/views.py:112
#, fuzzy
#| msgid "Company"
msgid "Edit Company"
msgstr "Firma"
#: company/views.py:116
#, fuzzy
#| msgid "Link to external company information"
msgid "Edited company information"
msgstr "Link auf externe Firmeninformation"
#: company/views.py:126
#, fuzzy
#| msgid "Create new Stock Item"
msgid "Create new Company"
msgstr "Neues Lagerobjekt hinzufügen"
#: company/views.py:130
#, fuzzy
#| msgid "Created new stock item"
msgid "Created new company"
msgstr "Neues Lagerobjekt erstellt"
#: company/views.py:140
#, fuzzy
#| msgid "Company"
msgid "Delete Company"
msgstr "Firma"
#: company/views.py:145
#, fuzzy
#| msgid "Company address"
msgid "Company was deleted"
msgstr "Firmenadresse"
#: company/views.py:170
#, fuzzy
#| msgid "Supplier Part"
msgid "Edit Supplier Part"
msgstr "Zulieferer-Teil"
#: company/views.py:179
#, fuzzy
#| msgid "Supplier Part"
msgid "Create new Supplier Part"
msgstr "Zulieferer-Teil"
#: company/views.py:236
#, fuzzy
#| msgid "Supplier Part"
msgid "Delete Supplier Part"
msgstr "Zulieferer-Teil"
#: company/views.py:306
msgid "Add Price Break"
msgstr ""
#: company/views.py:341
msgid "Edit Price Break"
msgstr ""
#: company/views.py:356
#, fuzzy
#| msgid "Delete attachment"
msgid "Delete Price Break"
msgstr "Anhang löschen"
#: order/forms.py:21
msgid "Place order"
msgstr "Bestellung aufgeben"
@ -892,7 +984,7 @@ msgstr "Empfangen"
msgid "Order Notes"
msgstr "Bestellungsbemerkungen"
#: order/templates/order/purchase_order_detail.html:15
#: order/templates/order/purchase_order_detail.html:15 order/views.py:747
msgid "Add Line Item"
msgstr "Position hinzufügen"
@ -916,14 +1008,50 @@ msgstr "Referenz"
msgid "Items"
msgstr "Positionen"
#: order/views.py:99
#, fuzzy
#| msgid "Purchase Order"
msgid "Create Purchase Order"
msgstr "Kaufvertrag"
#: order/views.py:129
#, fuzzy
#| msgid "Purchase Order"
msgid "Edit Purchase Order"
msgstr "Kaufvertrag"
#: order/views.py:149
#, fuzzy
#| msgid "Cancel order"
msgid "Cancel Order"
msgstr "Bestellung stornieren"
#: order/views.py:164
msgid "Confirm order cancellation"
msgstr "Bestell-Stornierung bestätigen"
#: order/views.py:182
#, fuzzy
#| msgid "Issued"
msgid "Issue Order"
msgstr "Aufgegeben"
#: order/views.py:197
msgid "Confirm order placement"
msgstr "Bestellungstätigung bestätigen"
#: order/views.py:218
#, fuzzy
#| msgid "Completed"
msgid "Complete Order"
msgstr "Fertig"
#: order/views.py:284
#, fuzzy
#| msgid "Required Parts"
msgid "Receive Parts"
msgstr "benötigte Teile"
#: order/views.py:351
msgid "Items received"
msgstr "Anzahl empfangener Positionen"
@ -956,16 +1084,34 @@ msgstr "Zulieferer muss zum Teil und zur Bestellung passen"
msgid "Invalid SupplierPart selection"
msgstr "Ungültige Wahl des Zulieferer-Teils"
#: part/bom.py:134
#: order/views.py:862
#, fuzzy
#| msgid "Add Line Item"
msgid "Edit Line Item"
msgstr "Position hinzufügen"
#: order/views.py:878
#, fuzzy
#| msgid "Delete Stock Item"
msgid "Delete Line Item"
msgstr "Lagerobjekt löschen"
#: order/views.py:883
#, fuzzy
#| msgid "Deleted {n} stock items"
msgid "Deleted line item"
msgstr "{n} Teile im Lager gelöscht"
#: part/bom.py:140
#, python-brace-format
msgid "Unsupported file format: {f}"
msgstr "Nicht unterstütztes Dateiformat: {f}"
#: part/bom.py:139
#: part/bom.py:145
msgid "Error reading BOM file (invalid data)"
msgstr "Fehler beim Lesen der Stückliste (ungültige Daten)"
#: part/bom.py:141
#: part/bom.py:147
msgid "Error reading BOM file (incorrect row size)"
msgstr "Fehler beim Lesen der Stückliste (ungültige Zeilengröße)"
@ -1015,181 +1161,181 @@ msgstr "Eintragsmenge zur Preisberechnung"
msgid "Select currency for price calculation"
msgstr "Währung zur Preisberechnung wählen"
#: part/models.py:58
#: part/models.py:59
msgid "Default location for parts in this category"
msgstr "Standard-Standort für Teile dieser Kategorie"
#: part/models.py:61
#: part/models.py:62
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
#: part/models.py:322
#: part/models.py:323
msgid "Part must be unique for name, IPN and revision"
msgstr "Namen, Teile- und Revisionsnummern müssen eindeutig sein"
#: part/models.py:336
#: part/models.py:337
msgid "Part cannot be a template part if it is a variant of another part"
msgstr "Teil kann keine Vorlage sein wenn es Variante eines anderen Teils ist"
#: part/models.py:337
#: part/models.py:338
msgid "Part cannot be a variant of another part if it is already a template"
msgstr ""
"Teil kann keine Variante eines anderen Teils sein wenn es bereits eine "
"Vorlage ist"
#: part/models.py:341 part/templates/part/detail.html:17
#: part/models.py:342 part/templates/part/detail.html:17
msgid "Part name"
msgstr "Name des Teils"
#: part/models.py:345
#: part/models.py:346
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
#: part/models.py:354
#: part/models.py:355
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
#: part/models.py:356
#: part/models.py:357
msgid "Part description"
msgstr "Beschreibung des Teils"
#: part/models.py:358
#: part/models.py:359
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
#: part/models.py:363
#: part/models.py:364
msgid "Part category"
msgstr "Teile-Kategorie"
#: part/models.py:365
#: part/models.py:366
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
#: part/models.py:367
#: part/models.py:368
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
#: part/models.py:369
#: part/models.py:370
msgid "Link to extenal URL"
msgstr "Link zu einer Externen URL"
#: part/models.py:375
#: part/models.py:376
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
#: part/models.py:419
#: part/models.py:420
msgid "Default supplier part"
msgstr "Standard-Zulieferer?"
#: part/models.py:422
#: part/models.py:423
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Lagerbestand"
#: part/models.py:424
#: part/models.py:425
msgid "Stock keeping units for this part"
msgstr "Stock Keeping Units (SKU) für dieses Teil"
#: part/models.py:426
#: part/models.py:427
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
#: part/models.py:428
#: part/models.py:429
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bau von anderen genutzt werden?"
#: part/models.py:430
#: part/models.py:431
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
#: part/models.py:432
#: part/models.py:433
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
#: part/models.py:434
#: part/models.py:435
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
#: part/models.py:436
#: part/models.py:437
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
#: part/models.py:438
#: part/models.py:439
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?"
#: part/models.py:440
#: part/models.py:441
msgid "Part notes - supports Markdown formatting"
msgstr "Bemerkungen - unterstüzt Markdown-Formatierung"
#: part/models.py:442
#: part/models.py:443
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
#: part/models.py:947
#: part/models.py:948
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
#: part/models.py:949
#: part/models.py:950
msgid "File comment"
msgstr "Datei-Kommentar"
#: part/models.py:1004
#: part/models.py:1005
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
#: part/models.py:1009
#: part/models.py:1010
msgid "Parameter Name"
msgstr "Name des Parameters"
#: part/models.py:1011
#: part/models.py:1012
msgid "Parameter Units"
msgstr "Parameter Einheit"
#: part/models.py:1037
#: part/models.py:1038
msgid "Parent Part"
msgstr "Ausgangsteil"
#: part/models.py:1039
#: part/models.py:1040
msgid "Parameter Template"
msgstr "Parameter Vorlage"
#: part/models.py:1041
#: part/models.py:1042
msgid "Parameter Value"
msgstr "Parameter Wert"
#: part/models.py:1065
#: part/models.py:1066
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
#: part/models.py:1073
#: part/models.py:1074
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
#: part/models.py:1079
#: part/models.py:1080
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
#: part/models.py:1082
#: part/models.py:1083
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
#: part/models.py:1085
#: part/models.py:1086
msgid "BOM item reference"
msgstr "Referenz des Objekts auf der Stückliste"
#: part/models.py:1088
#: part/models.py:1089
msgid "BOM item notes"
msgstr "Notizen zum Stücklisten-Objekt"
#: part/models.py:1090
#: part/models.py:1091
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
#: part/models.py:1153
#: part/models.py:1154
msgid "Part cannot be added to its own Bill of Materials"
msgstr "Teil kann nicht zu seiner eigenen Stückliste hinzugefügt werden"
#: part/models.py:1160
#: part/models.py:1161
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)"
@ -1210,7 +1356,7 @@ msgstr "Datei"
msgid "Comment"
msgstr "Kommentar"
#: part/templates/part/attachments.html:34
#: part/templates/part/attachments.html:34 part/views.py:118
msgid "Edit attachment"
msgstr "Anhang bearbeiten"
@ -1434,6 +1580,12 @@ msgstr "Tracking"
msgid "Attachments"
msgstr "Anhänge"
#: part/views.py:75
#, fuzzy
#| msgid "Add Attachment"
msgid "Add part attachment"
msgstr "Anhang hinzufügen"
#: part/views.py:80
#, fuzzy
#| msgid "Add Attachment"
@ -1446,11 +1598,41 @@ msgstr "Anhang hinzufügen"
msgid "Part attachment updated"
msgstr "Anhänge"
#: part/views.py:137
#, fuzzy
#| msgid "Delete attachment"
msgid "Delete Part Attachment"
msgstr "Anhang löschen"
#: part/views.py:143
#, fuzzy
#| msgid "Delete attachment"
msgid "Deleted part attachment"
msgstr "Anhang löschen"
#: part/views.py:151
#, fuzzy
#| msgid "Select part category"
msgid "Set Part Category"
msgstr "Teilekategorie wählen"
#: part/views.py:199
#, python-brace-format
msgid "Set category for {n} parts"
msgstr "Kategorie für {n} Teile setzen"
#: part/views.py:234
#, fuzzy
#| msgid "Create new Stock Item"
msgid "Create Variant"
msgstr "Neues Lagerobjekt hinzufügen"
#: part/views.py:304
#, fuzzy
#| msgid "Supplier Part"
msgid "Duplicate Part"
msgstr "Zulieferer-Teil"
#: part/views.py:309
#, fuzzy
#| msgid "Supplier part"
@ -1469,6 +1651,12 @@ msgstr "Neues Lagerobjekt hinzufügen"
msgid "Created new part"
msgstr "Neues Lagerobjekt erstellt"
#: part/views.py:595
#, fuzzy
#| msgid "Part Notes"
msgid "Part QR Code"
msgstr "Teil-Bemerkungen"
#: part/views.py:612
msgid "Upload Part Image"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-11 21:11+0000\n"
"POT-Creation-Date: 2020-02-11 23:25+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -244,7 +244,7 @@ msgid "Allocate"
msgstr ""
#: build/templates/build/allocate_view.html:10
#: company/templates/company/detail_part.html:18
#: company/templates/company/detail_part.html:18 order/views.py:448
msgid "Order Parts"
msgstr ""
@ -496,6 +496,18 @@ msgstr ""
msgid "Use this currency as the base currency"
msgstr ""
#: common/views.py:21
msgid "Create new Currency"
msgstr ""
#: common/views.py:29
msgid "Edit Currency"
msgstr ""
#: common/views.py:36
msgid "Delete Currency"
msgstr ""
#: company/models.py:74
msgid "Company name"
msgstr ""
@ -743,6 +755,62 @@ msgstr ""
msgid "Sales Orders"
msgstr ""
#: company/views.py:97
msgid "Update Company Image"
msgstr ""
#: company/views.py:102
msgid "Updated company image"
msgstr ""
#: company/views.py:112
msgid "Edit Company"
msgstr ""
#: company/views.py:116
msgid "Edited company information"
msgstr ""
#: company/views.py:126
msgid "Create new Company"
msgstr ""
#: company/views.py:130
msgid "Created new company"
msgstr ""
#: company/views.py:140
msgid "Delete Company"
msgstr ""
#: company/views.py:145
msgid "Company was deleted"
msgstr ""
#: company/views.py:170
msgid "Edit Supplier Part"
msgstr ""
#: company/views.py:179
msgid "Create new Supplier Part"
msgstr ""
#: company/views.py:236
msgid "Delete Supplier Part"
msgstr ""
#: company/views.py:306
msgid "Add Price Break"
msgstr ""
#: company/views.py:341
msgid "Edit Price Break"
msgstr ""
#: company/views.py:356
msgid "Delete Price Break"
msgstr ""
#: order/forms.py:21
msgid "Place order"
msgstr ""
@ -830,7 +898,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
#: order/templates/order/purchase_order_detail.html:15
#: order/templates/order/purchase_order_detail.html:15 order/views.py:747
msgid "Add Line Item"
msgstr ""
@ -854,14 +922,38 @@ msgstr ""
msgid "Items"
msgstr ""
#: order/views.py:99
msgid "Create Purchase Order"
msgstr ""
#: order/views.py:129
msgid "Edit Purchase Order"
msgstr ""
#: order/views.py:149
msgid "Cancel Order"
msgstr ""
#: order/views.py:164
msgid "Confirm order cancellation"
msgstr ""
#: order/views.py:182
msgid "Issue Order"
msgstr ""
#: order/views.py:197
msgid "Confirm order placement"
msgstr ""
#: order/views.py:218
msgid "Complete Order"
msgstr ""
#: order/views.py:284
msgid "Receive Parts"
msgstr ""
#: order/views.py:351
msgid "Items received"
msgstr ""
@ -894,16 +986,28 @@ msgstr ""
msgid "Invalid SupplierPart selection"
msgstr ""
#: part/bom.py:134
#: order/views.py:862
msgid "Edit Line Item"
msgstr ""
#: order/views.py:878
msgid "Delete Line Item"
msgstr ""
#: order/views.py:883
msgid "Deleted line item"
msgstr ""
#: part/bom.py:140
#, python-brace-format
msgid "Unsupported file format: {f}"
msgstr ""
#: part/bom.py:139
#: part/bom.py:145
msgid "Error reading BOM file (invalid data)"
msgstr ""
#: part/bom.py:141
#: part/bom.py:147
msgid "Error reading BOM file (incorrect row size)"
msgstr ""
@ -951,179 +1055,179 @@ msgstr ""
msgid "Select currency for price calculation"
msgstr ""
#: part/models.py:58
#: part/models.py:59
msgid "Default location for parts in this category"
msgstr ""
#: part/models.py:61
#: part/models.py:62
msgid "Default keywords for parts in this category"
msgstr ""
#: part/models.py:322
#: part/models.py:323
msgid "Part must be unique for name, IPN and revision"
msgstr ""
#: part/models.py:336
#: part/models.py:337
msgid "Part cannot be a template part if it is a variant of another part"
msgstr ""
#: part/models.py:337
#: part/models.py:338
msgid "Part cannot be a variant of another part if it is already a template"
msgstr ""
#: part/models.py:341 part/templates/part/detail.html:17
#: part/models.py:342 part/templates/part/detail.html:17
msgid "Part name"
msgstr ""
#: part/models.py:345
#: part/models.py:346
msgid "Is this part a template part?"
msgstr ""
#: part/models.py:354
#: part/models.py:355
msgid "Is this part a variant of another part?"
msgstr ""
#: part/models.py:356
#: part/models.py:357
msgid "Part description"
msgstr ""
#: part/models.py:358
#: part/models.py:359
msgid "Part keywords to improve visibility in search results"
msgstr ""
#: part/models.py:363
#: part/models.py:364
msgid "Part category"
msgstr ""
#: part/models.py:365
#: part/models.py:366
msgid "Internal Part Number"
msgstr ""
#: part/models.py:367
#: part/models.py:368
msgid "Part revision or version number"
msgstr ""
#: part/models.py:369
#: part/models.py:370
msgid "Link to extenal URL"
msgstr ""
#: part/models.py:375
#: part/models.py:376
msgid "Where is this item normally stored?"
msgstr ""
#: part/models.py:419
#: part/models.py:420
msgid "Default supplier part"
msgstr ""
#: part/models.py:422
#: part/models.py:423
msgid "Minimum allowed stock level"
msgstr ""
#: part/models.py:424
#: part/models.py:425
msgid "Stock keeping units for this part"
msgstr ""
#: part/models.py:426
#: part/models.py:427
msgid "Can this part be built from other parts?"
msgstr ""
#: part/models.py:428
#: part/models.py:429
msgid "Can this part be used to build other parts?"
msgstr ""
#: part/models.py:430
#: part/models.py:431
msgid "Does this part have tracking for unique items?"
msgstr ""
#: part/models.py:432
#: part/models.py:433
msgid "Can this part be purchased from external suppliers?"
msgstr ""
#: part/models.py:434
#: part/models.py:435
msgid "Can this part be sold to customers?"
msgstr ""
#: part/models.py:436
#: part/models.py:437
msgid "Is this part active?"
msgstr ""
#: part/models.py:438
#: part/models.py:439
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
#: part/models.py:440
#: part/models.py:441
msgid "Part notes - supports Markdown formatting"
msgstr ""
#: part/models.py:442
#: part/models.py:443
msgid "Stored BOM checksum"
msgstr ""
#: part/models.py:947
#: part/models.py:948
msgid "Select file to attach"
msgstr ""
#: part/models.py:949
#: part/models.py:950
msgid "File comment"
msgstr ""
#: part/models.py:1004
#: part/models.py:1005
msgid "Parameter template name must be unique"
msgstr ""
#: part/models.py:1009
#: part/models.py:1010
msgid "Parameter Name"
msgstr ""
#: part/models.py:1011
#: part/models.py:1012
msgid "Parameter Units"
msgstr ""
#: part/models.py:1037
#: part/models.py:1038
msgid "Parent Part"
msgstr ""
#: part/models.py:1039
#: part/models.py:1040
msgid "Parameter Template"
msgstr ""
#: part/models.py:1041
#: part/models.py:1042
msgid "Parameter Value"
msgstr ""
#: part/models.py:1065
#: part/models.py:1066
msgid "Select parent part"
msgstr ""
#: part/models.py:1073
#: part/models.py:1074
msgid "Select part to be used in BOM"
msgstr ""
#: part/models.py:1079
#: part/models.py:1080
msgid "BOM quantity for this BOM item"
msgstr ""
#: part/models.py:1082
#: part/models.py:1083
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
#: part/models.py:1085
#: part/models.py:1086
msgid "BOM item reference"
msgstr ""
#: part/models.py:1088
#: part/models.py:1089
msgid "BOM item notes"
msgstr ""
#: part/models.py:1090
#: part/models.py:1091
msgid "BOM line checksum"
msgstr ""
#: part/models.py:1153
#: part/models.py:1154
msgid "Part cannot be added to its own Bill of Materials"
msgstr ""
#: part/models.py:1160
#: part/models.py:1161
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
@ -1144,7 +1248,7 @@ msgstr ""
msgid "Comment"
msgstr ""
#: part/templates/part/attachments.html:34
#: part/templates/part/attachments.html:34 part/views.py:118
msgid "Edit attachment"
msgstr ""
@ -1366,6 +1470,10 @@ msgstr ""
msgid "Attachments"
msgstr ""
#: part/views.py:75
msgid "Add part attachment"
msgstr ""
#: part/views.py:80
msgid "Added attachment"
msgstr ""
@ -1374,11 +1482,31 @@ msgstr ""
msgid "Part attachment updated"
msgstr ""
#: part/views.py:137
msgid "Delete Part Attachment"
msgstr ""
#: part/views.py:143
msgid "Deleted part attachment"
msgstr ""
#: part/views.py:151
msgid "Set Part Category"
msgstr ""
#: part/views.py:199
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
#: part/views.py:234
msgid "Create Variant"
msgstr ""
#: part/views.py:304
msgid "Duplicate Part"
msgstr ""
#: part/views.py:309
msgid "Copied part"
msgstr ""
@ -1391,6 +1519,10 @@ msgstr ""
msgid "Created new part"
msgstr ""
#: part/views.py:595
msgid "Part QR Code"
msgstr ""
#: part/views.py:612
msgid "Upload Part Image"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-11 21:11+0000\n"
"POT-Creation-Date: 2020-02-11 23:25+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -244,7 +244,7 @@ msgid "Allocate"
msgstr ""
#: build/templates/build/allocate_view.html:10
#: company/templates/company/detail_part.html:18
#: company/templates/company/detail_part.html:18 order/views.py:448
msgid "Order Parts"
msgstr ""
@ -496,6 +496,18 @@ msgstr ""
msgid "Use this currency as the base currency"
msgstr ""
#: common/views.py:21
msgid "Create new Currency"
msgstr ""
#: common/views.py:29
msgid "Edit Currency"
msgstr ""
#: common/views.py:36
msgid "Delete Currency"
msgstr ""
#: company/models.py:74
msgid "Company name"
msgstr ""
@ -743,6 +755,62 @@ msgstr ""
msgid "Sales Orders"
msgstr ""
#: company/views.py:97
msgid "Update Company Image"
msgstr ""
#: company/views.py:102
msgid "Updated company image"
msgstr ""
#: company/views.py:112
msgid "Edit Company"
msgstr ""
#: company/views.py:116
msgid "Edited company information"
msgstr ""
#: company/views.py:126
msgid "Create new Company"
msgstr ""
#: company/views.py:130
msgid "Created new company"
msgstr ""
#: company/views.py:140
msgid "Delete Company"
msgstr ""
#: company/views.py:145
msgid "Company was deleted"
msgstr ""
#: company/views.py:170
msgid "Edit Supplier Part"
msgstr ""
#: company/views.py:179
msgid "Create new Supplier Part"
msgstr ""
#: company/views.py:236
msgid "Delete Supplier Part"
msgstr ""
#: company/views.py:306
msgid "Add Price Break"
msgstr ""
#: company/views.py:341
msgid "Edit Price Break"
msgstr ""
#: company/views.py:356
msgid "Delete Price Break"
msgstr ""
#: order/forms.py:21
msgid "Place order"
msgstr ""
@ -830,7 +898,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
#: order/templates/order/purchase_order_detail.html:15
#: order/templates/order/purchase_order_detail.html:15 order/views.py:747
msgid "Add Line Item"
msgstr ""
@ -854,14 +922,38 @@ msgstr ""
msgid "Items"
msgstr ""
#: order/views.py:99
msgid "Create Purchase Order"
msgstr ""
#: order/views.py:129
msgid "Edit Purchase Order"
msgstr ""
#: order/views.py:149
msgid "Cancel Order"
msgstr ""
#: order/views.py:164
msgid "Confirm order cancellation"
msgstr ""
#: order/views.py:182
msgid "Issue Order"
msgstr ""
#: order/views.py:197
msgid "Confirm order placement"
msgstr ""
#: order/views.py:218
msgid "Complete Order"
msgstr ""
#: order/views.py:284
msgid "Receive Parts"
msgstr ""
#: order/views.py:351
msgid "Items received"
msgstr ""
@ -894,16 +986,28 @@ msgstr ""
msgid "Invalid SupplierPart selection"
msgstr ""
#: part/bom.py:134
#: order/views.py:862
msgid "Edit Line Item"
msgstr ""
#: order/views.py:878
msgid "Delete Line Item"
msgstr ""
#: order/views.py:883
msgid "Deleted line item"
msgstr ""
#: part/bom.py:140
#, python-brace-format
msgid "Unsupported file format: {f}"
msgstr ""
#: part/bom.py:139
#: part/bom.py:145
msgid "Error reading BOM file (invalid data)"
msgstr ""
#: part/bom.py:141
#: part/bom.py:147
msgid "Error reading BOM file (incorrect row size)"
msgstr ""
@ -951,179 +1055,179 @@ msgstr ""
msgid "Select currency for price calculation"
msgstr ""
#: part/models.py:58
#: part/models.py:59
msgid "Default location for parts in this category"
msgstr ""
#: part/models.py:61
#: part/models.py:62
msgid "Default keywords for parts in this category"
msgstr ""
#: part/models.py:322
#: part/models.py:323
msgid "Part must be unique for name, IPN and revision"
msgstr ""
#: part/models.py:336
#: part/models.py:337
msgid "Part cannot be a template part if it is a variant of another part"
msgstr ""
#: part/models.py:337
#: part/models.py:338
msgid "Part cannot be a variant of another part if it is already a template"
msgstr ""
#: part/models.py:341 part/templates/part/detail.html:17
#: part/models.py:342 part/templates/part/detail.html:17
msgid "Part name"
msgstr ""
#: part/models.py:345
#: part/models.py:346
msgid "Is this part a template part?"
msgstr ""
#: part/models.py:354
#: part/models.py:355
msgid "Is this part a variant of another part?"
msgstr ""
#: part/models.py:356
#: part/models.py:357
msgid "Part description"
msgstr ""
#: part/models.py:358
#: part/models.py:359
msgid "Part keywords to improve visibility in search results"
msgstr ""
#: part/models.py:363
#: part/models.py:364
msgid "Part category"
msgstr ""
#: part/models.py:365
#: part/models.py:366
msgid "Internal Part Number"
msgstr ""
#: part/models.py:367
#: part/models.py:368
msgid "Part revision or version number"
msgstr ""
#: part/models.py:369
#: part/models.py:370
msgid "Link to extenal URL"
msgstr ""
#: part/models.py:375
#: part/models.py:376
msgid "Where is this item normally stored?"
msgstr ""
#: part/models.py:419
#: part/models.py:420
msgid "Default supplier part"
msgstr ""
#: part/models.py:422
#: part/models.py:423
msgid "Minimum allowed stock level"
msgstr ""
#: part/models.py:424
#: part/models.py:425
msgid "Stock keeping units for this part"
msgstr ""
#: part/models.py:426
#: part/models.py:427
msgid "Can this part be built from other parts?"
msgstr ""
#: part/models.py:428
#: part/models.py:429
msgid "Can this part be used to build other parts?"
msgstr ""
#: part/models.py:430
#: part/models.py:431
msgid "Does this part have tracking for unique items?"
msgstr ""
#: part/models.py:432
#: part/models.py:433
msgid "Can this part be purchased from external suppliers?"
msgstr ""
#: part/models.py:434
#: part/models.py:435
msgid "Can this part be sold to customers?"
msgstr ""
#: part/models.py:436
#: part/models.py:437
msgid "Is this part active?"
msgstr ""
#: part/models.py:438
#: part/models.py:439
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
#: part/models.py:440
#: part/models.py:441
msgid "Part notes - supports Markdown formatting"
msgstr ""
#: part/models.py:442
#: part/models.py:443
msgid "Stored BOM checksum"
msgstr ""
#: part/models.py:947
#: part/models.py:948
msgid "Select file to attach"
msgstr ""
#: part/models.py:949
#: part/models.py:950
msgid "File comment"
msgstr ""
#: part/models.py:1004
#: part/models.py:1005
msgid "Parameter template name must be unique"
msgstr ""
#: part/models.py:1009
#: part/models.py:1010
msgid "Parameter Name"
msgstr ""
#: part/models.py:1011
#: part/models.py:1012
msgid "Parameter Units"
msgstr ""
#: part/models.py:1037
#: part/models.py:1038
msgid "Parent Part"
msgstr ""
#: part/models.py:1039
#: part/models.py:1040
msgid "Parameter Template"
msgstr ""
#: part/models.py:1041
#: part/models.py:1042
msgid "Parameter Value"
msgstr ""
#: part/models.py:1065
#: part/models.py:1066
msgid "Select parent part"
msgstr ""
#: part/models.py:1073
#: part/models.py:1074
msgid "Select part to be used in BOM"
msgstr ""
#: part/models.py:1079
#: part/models.py:1080
msgid "BOM quantity for this BOM item"
msgstr ""
#: part/models.py:1082
#: part/models.py:1083
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
#: part/models.py:1085
#: part/models.py:1086
msgid "BOM item reference"
msgstr ""
#: part/models.py:1088
#: part/models.py:1089
msgid "BOM item notes"
msgstr ""
#: part/models.py:1090
#: part/models.py:1091
msgid "BOM line checksum"
msgstr ""
#: part/models.py:1153
#: part/models.py:1154
msgid "Part cannot be added to its own Bill of Materials"
msgstr ""
#: part/models.py:1160
#: part/models.py:1161
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
@ -1144,7 +1248,7 @@ msgstr ""
msgid "Comment"
msgstr ""
#: part/templates/part/attachments.html:34
#: part/templates/part/attachments.html:34 part/views.py:118
msgid "Edit attachment"
msgstr ""
@ -1366,6 +1470,10 @@ msgstr ""
msgid "Attachments"
msgstr ""
#: part/views.py:75
msgid "Add part attachment"
msgstr ""
#: part/views.py:80
msgid "Added attachment"
msgstr ""
@ -1374,11 +1482,31 @@ msgstr ""
msgid "Part attachment updated"
msgstr ""
#: part/views.py:137
msgid "Delete Part Attachment"
msgstr ""
#: part/views.py:143
msgid "Deleted part attachment"
msgstr ""
#: part/views.py:151
msgid "Set Part Category"
msgstr ""
#: part/views.py:199
#, python-brace-format
msgid "Set category for {n} parts"
msgstr ""
#: part/views.py:234
msgid "Create Variant"
msgstr ""
#: part/views.py:304
msgid "Duplicate Part"
msgstr ""
#: part/views.py:309
msgid "Copied part"
msgstr ""
@ -1391,6 +1519,10 @@ msgstr ""
msgid "Created new part"
msgstr ""
#: part/views.py:595
msgid "Part QR Code"
msgstr ""
#: part/views.py:612
msgid "Upload Part Image"
msgstr ""

View File

@ -96,7 +96,7 @@ class PurchaseOrderCreate(AjaxCreateView):
""" View for creating a new PurchaseOrder object using a modal form """
model = PurchaseOrder
ajax_form_title = "Create Purchase Order"
ajax_form_title = _("Create Purchase Order")
form_class = order_forms.EditPurchaseOrderForm
def get_initial(self):
@ -126,7 +126,7 @@ class PurchaseOrderEdit(AjaxUpdateView):
""" View for editing a PurchaseOrder using a modal form """
model = PurchaseOrder
ajax_form_title = 'Edit Purchase Order'
ajax_form_title = _('Edit Purchase Order')
form_class = order_forms.EditPurchaseOrderForm
def get_form(self):
@ -146,7 +146,7 @@ class PurchaseOrderCancel(AjaxUpdateView):
""" View for cancelling a purchase order """
model = PurchaseOrder
ajax_form_title = 'Cancel Order'
ajax_form_title = _('Cancel Order')
ajax_template_name = 'order/order_cancel.html'
form_class = order_forms.CancelPurchaseOrderForm
@ -179,7 +179,7 @@ class PurchaseOrderIssue(AjaxUpdateView):
""" View for changing a purchase order from 'PENDING' to 'ISSUED' """
model = PurchaseOrder
ajax_form_title = 'Issue Order'
ajax_form_title = _('Issue Order')
ajax_template_name = "order/order_issue.html"
form_class = order_forms.IssuePurchaseOrderForm
@ -215,7 +215,7 @@ class PurchaseOrderComplete(AjaxUpdateView):
form_class = order_forms.CompletePurchaseOrderForm
model = PurchaseOrder
ajax_template_name = "order/order_complete.html"
ajax_form_title = "Complete Order"
ajax_form_title = _("Complete Order")
context_object_name = 'order'
def get_context_data(self):
@ -281,7 +281,7 @@ class PurchaseOrderReceive(AjaxUpdateView):
"""
form_class = order_forms.ReceivePurchaseOrderForm
ajax_form_title = "Receive Parts"
ajax_form_title = _("Receive Parts")
ajax_template_name = "order/receive_parts.html"
# Where the parts will be going (selected in POST request)
@ -445,7 +445,7 @@ class OrderParts(AjaxView):
"""
ajax_form_title = "Order Parts"
ajax_form_title = _("Order Parts")
ajax_template_name = 'order/order_wizard/select_parts.html'
# List of Parts we wish to order
@ -744,7 +744,7 @@ class POLineItemCreate(AjaxCreateView):
model = PurchaseOrderLineItem
context_object_name = 'line'
form_class = order_forms.EditPurchaseOrderLineItemForm
ajax_form_title = 'Add Line Item'
ajax_form_title = _('Add Line Item')
def post(self, request, *arg, **kwargs):
@ -859,7 +859,7 @@ class POLineItemEdit(AjaxUpdateView):
model = PurchaseOrderLineItem
form_class = order_forms.EditPurchaseOrderLineItemForm
ajax_template_name = 'modal_form.html'
ajax_form_title = 'Edit Line Item'
ajax_form_title = _('Edit Line Item')
def get_form(self):
form = super().get_form()
@ -875,10 +875,10 @@ class POLineItemDelete(AjaxDeleteView):
"""
model = PurchaseOrderLineItem
ajax_form_title = 'Delete Line Item'
ajax_form_title = _('Delete Line Item')
ajax_template_name = 'order/po_lineitem_delete.html'
def get_data(self):
return {
'danger': 'Deleted line item',
'danger': _('Deleted line item'),
}

View File

@ -72,7 +72,7 @@ class PartAttachmentCreate(AjaxCreateView):
"""
model = PartAttachment
form_class = part_forms.EditPartAttachmentForm
ajax_form_title = "Add part attachment"
ajax_form_title = _("Add part attachment")
ajax_template_name = "modal_form.html"
def get_data(self):
@ -115,7 +115,7 @@ class PartAttachmentEdit(AjaxUpdateView):
model = PartAttachment
form_class = part_forms.EditPartAttachmentForm
ajax_template_name = 'modal_form.html'
ajax_form_title = 'Edit attachment'
ajax_form_title = _('Edit attachment')
def get_data(self):
return {
@ -134,13 +134,13 @@ class PartAttachmentDelete(AjaxDeleteView):
""" View for deleting a PartAttachment """
model = PartAttachment
ajax_form_title = "Delete Part Attachment"
ajax_form_title = _("Delete Part Attachment")
ajax_template_name = "part/attachment_delete.html"
context_object_name = "attachment"
def get_data(self):
return {
'danger': 'Deleted part attachment'
'danger': _('Deleted part attachment')
}
@ -148,7 +148,7 @@ class PartSetCategory(AjaxUpdateView):
""" View for settings the part category for multiple parts at once """
ajax_template_name = 'part/set_category.html'
ajax_form_title = 'Set Part Category'
ajax_form_title = _('Set Part Category')
form_class = part_forms.SetPartCategoryForm
category = None
@ -231,7 +231,7 @@ class MakePartVariant(AjaxCreateView):
model = Part
form_class = part_forms.EditPartForm
ajax_form_title = 'Create Variant'
ajax_form_title = _('Create Variant')
ajax_template_name = 'part/variant_part.html'
def get_part_template(self):
@ -301,7 +301,7 @@ class PartDuplicate(AjaxCreateView):
model = Part
form_class = part_forms.EditPartForm
ajax_form_title = "Duplicate Part"
ajax_form_title = _("Duplicate Part")
ajax_template_name = "part/copy_part.html"
def get_data(self):
@ -592,7 +592,7 @@ class PartDetail(DetailView):
class PartQRCode(QRCodeView):
""" View for displaying a QR code for a Part object """
ajax_form_title = "Part QR Code"
ajax_form_title = _("Part QR Code")
def get_qr_data(self):
""" Generate QR code data for the Part """