From 50fee1bfe5f2dec8b7e01de4f2b289bcf61fc3c6 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 12 Feb 2020 10:25:46 +1100 Subject: [PATCH] More work on translations --- InvenTree/common/views.py | 8 +- InvenTree/company/views.py | 29 +-- InvenTree/locale/de/LC_MESSAGES/django.po | 290 ++++++++++++++++++---- InvenTree/locale/en/LC_MESSAGES/django.po | 234 +++++++++++++---- InvenTree/locale/es/LC_MESSAGES/django.po | 234 +++++++++++++---- InvenTree/order/views.py | 22 +- InvenTree/part/views.py | 16 +- 7 files changed, 644 insertions(+), 189 deletions(-) diff --git a/InvenTree/common/views.py b/InvenTree/common/views.py index 9e72818a36..5da634c6d3 100644 --- a/InvenTree/common/views.py +++ b/InvenTree/common/views.py @@ -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" diff --git a/InvenTree/company/views.py b/InvenTree/company/views.py index 0fa7a2c712..24bce08bc9 100644 --- a/InvenTree/company/views.py +++ b/InvenTree/company/views.py @@ -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' diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 482e34a335..8547621b0d 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: C \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 "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index e9fdbcdf75..f6daf1d37b 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: 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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index e9fdbcdf75..f6daf1d37b 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -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 \n" "Language-Team: LANGUAGE \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 "" diff --git a/InvenTree/order/views.py b/InvenTree/order/views.py index bb1702c8a2..2b31740bd2 100644 --- a/InvenTree/order/views.py +++ b/InvenTree/order/views.py @@ -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'), } diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index 584c8fe62f..5bdb101398 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -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 """