diff --git a/.github/workflows/android.yaml b/.github/workflows/android.yaml index 3147927..117c9a8 100644 --- a/.github/workflows/android.yaml +++ b/.github/workflows/android.yaml @@ -3,9 +3,6 @@ name: Android on: - pull_request: - branches: - - master push: branches: - master @@ -33,7 +30,7 @@ jobs: with: flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }} channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }} - cache: false + cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" @@ -53,7 +50,5 @@ jobs: - name: Build for Android run: | - dart pub global activate fvm - fvm install - fvm flutter pub get - fvm flutter build apk --debug + flutter pub get + flutter build apk --debug diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c317876..b61677d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -30,11 +30,6 @@ jobs: with: submodules: recursive - - name: Install Python - uses: actions/setup-python@v4 - with: - python-version: 3.11 - - name: Setup Java uses: actions/setup-java@v3 with: @@ -58,18 +53,20 @@ jobs: - name: Collect Translation Files run: | cd lib/l10n - python collect_translations.py + python3 collect_translations.py - name: Static Analysis Tests - working-directory: . run: | - python ./find_dart_files.py - dart pub global activate fvm - fvm install - fvm flutter pub get - fvm flutter analyze + python3 find_dart_files.py + flutter pub get + flutter analyze dart format --output=none --set-exit-if-changed . + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: 3.9 + - name: Start InvenTree Server run: | sudo apt-get install python3-dev python3-pip python3-venv python3-wheel g++ @@ -85,7 +82,7 @@ jobs: - name: Unit Tests run: | - fvm flutter test --coverage + flutter test --coverage - name: Coveralls uses: coverallsapp/github-action@master diff --git a/.github/workflows/ios.yaml b/.github/workflows/ios.yaml index cdd51ed..53e8a30 100644 --- a/.github/workflows/ios.yaml +++ b/.github/workflows/ios.yaml @@ -3,9 +3,6 @@ name: iOS on: - pull_request: - branches: - - master push: branches: - master @@ -36,7 +33,7 @@ jobs: with: flutter-version: ${{ steps.fvm-config-action.outputs.FLUTTER_VERSION }} channel: ${{ steps.fvm-config-action.outputs.FLUTTER_CHANNEL }} - cache: false + cache: true cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" @@ -49,12 +46,9 @@ jobs: - name: Build for iOS run: | - dart pub global activate fvm - fvm install - fvm flutter pub get - fvm flutter precache --ios + flutter pub get cd ios pod repo update pod install cd .. - fvm flutter build ios --release --no-codesign --no-tree-shake-icons + flutter build ios --release --no-codesign --no-tree-shake-icons diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml deleted file mode 100644 index 5dd1dc0..0000000 --- a/.pre-commit-config.yaml +++ /dev/null @@ -1,8 +0,0 @@ -repos: - - repo: local - hooks: - - id: dart-format - name: Dart Format - entry: dart format - language: system - types: [dart] \ No newline at end of file diff --git a/assets/credits.md b/assets/credits.md index 31eb4f0..abf8611 100644 --- a/assets/credits.md +++ b/assets/credits.md @@ -10,7 +10,6 @@ Thanks to the following contributors, for their work building this app! - [Bobbe](https://github.com/30350n) - [awnz](https://github.com/awnz) - [joaomnuno](https://github.com/joaomnuno) -- [Alex9779](https://github.com/Alex9779) -------- ## Assets diff --git a/assets/release_notes.md b/assets/release_notes.md index 72324c1..de12516 100644 --- a/assets/release_notes.md +++ b/assets/release_notes.md @@ -1,54 +1,3 @@ -### x.xx.x - Month Year ---- - -- Support display of custom status codes -- Fix default values for list sorting - - -### 0.21.2 - January 2026 ---- - -- Fixes bug which launched camera twice when uploading an attachment -- Fixed bug related to list sorting and filtering - -### 0.21.1 - November 2025 ---- - -- Fixed app freeze bug after form submission - -### 0.21.0 - November 2025 ---- - -- Support label printing again, fixing issues with new printing API -- Adds zoom controller for barcode scanner camera view -- Display default stock location in Part detail page -- Display stock information in SupplierPart detail page - -### 0.20.2 - November 2025 ---- - -- Fixes URL for reporting issues on GitHub -- Fix for uploading files against server with self-signed certificates - -### 0.20.1 - October 2025 ---- - -- Bug fix for camera barcode scanner - -### 0.20.0 - October 2025 ---- - -- View pending shipments from the home screen -- Display detail view for shipments -- Adds ability to ship pending outgoing shipments -- Adds ability to mark outgoing shipments as "checked" or "unchecked" -- Updated translations - -### 0.19.3 - September 2025 ---- - -- Fixes incorrect priority of barcode scanner results - ### 0.19.2 - August 2025 --- diff --git a/find_dart_files.py b/find_dart_files.py index 80fba3a..dbb1479 100644 --- a/find_dart_files.py +++ b/find_dart_files.py @@ -13,8 +13,6 @@ from pathlib import Path if __name__ == "__main__": dart_files = Path("lib").rglob("*.dart") - print("Discovering dart files..."); - with open("test/coverage_helper_test.dart", "w") as f: f.write("// ignore_for_file: unused_import\n\n") f.write("// dart format off\n\n") diff --git a/lib/api.dart b/lib/api.dart index 61a6379..a63f1cc 100644 --- a/lib/api.dart +++ b/lib/api.dart @@ -4,10 +4,8 @@ import "dart:io"; import "package:flutter/foundation.dart"; import "package:http/http.dart" as http; -import "package:http/io_client.dart"; import "package:intl/intl.dart"; import "package:inventree/main.dart"; -import "package:inventree/widget/progress.dart"; import "package:one_context/one_context.dart"; import "package:open_filex/open_filex.dart"; import "package:cached_network_image/cached_network_image.dart"; @@ -281,8 +279,6 @@ class InvenTreeAPI { String get username => (userInfo["username"] ?? "") as String; - int get userId => (userInfo["pk"] ?? -1) as int; - // Map of server information Map serverInfo = {}; @@ -353,10 +349,6 @@ class InvenTreeAPI { // Supports separate search against "supplier" / "customer" / "manufacturer" bool get supportsSplitCompanySearch => apiVersion >= 315; - // Does the server support the "modern" (consolidated) parameter API? - // Ref: https://github.com/inventree/InvenTree/pull/10699 - bool get supportsModernParameters => apiVersion >= 429; - // Cached list of plugins (refreshed when we connect to the server) List _plugins = []; @@ -917,8 +909,6 @@ class InvenTreeAPI { var client = createClient(url, strictHttps: strictHttps); - showLoadingOverlay(); - // Attempt to open a connection to the server try { _request = await client @@ -960,7 +950,6 @@ class InvenTreeAPI { await localFile.writeAsBytes(bytes); if (openOnDownload) { - hideLoadingOverlay(); OpenFilex.open(local_path); } } else { @@ -980,8 +969,6 @@ class InvenTreeAPI { stackTrace, ); } - - hideLoadingOverlay(); } /* @@ -994,23 +981,12 @@ class InvenTreeAPI { String method = "POST", Map? fields, }) async { - bool strictHttps = await InvenTreeSettingsManager().getBool( - INV_STRICT_HTTPS, - false, - ); + var _url = makeApiUrl(url); - // Create an IOClient wrapper for sending the MultipartRequest - final ioClient = IOClient(createClient(url, strictHttps: strictHttps)); + var request = http.MultipartRequest(method, Uri.parse(_url)); - final uri = Uri.parse(makeApiUrl(url)); - final request = http.MultipartRequest(method, uri); + request.headers.addAll(defaultHeaders()); - // Default headers - defaultHeaders().forEach((key, value) { - request.headers[key] = value; - }); - - // Optional fields if (fields != null) { fields.forEach((String key, dynamic value) { if (value == null) { @@ -1021,24 +997,20 @@ class InvenTreeAPI { }); } - // Add file to upload var _file = await http.MultipartFile.fromPath(name, f.path); + request.files.add(_file); - // Construct a response object to return APIResponse response = APIResponse(url: url, method: method); String jsondata = ""; try { - var streamedResponse = await ioClient - .send(request) - .timeout(Duration(seconds: 120)); - final httpResponse = await http.Response.fromStream(streamedResponse); + var httpResponse = await request.send().timeout(Duration(seconds: 120)); response.statusCode = httpResponse.statusCode; - jsondata = httpResponse.body; + jsondata = await httpResponse.stream.bytesToString(); response.data = json.decode(jsondata); @@ -1095,15 +1067,8 @@ class InvenTreeAPI { * We send this with the currently selected "locale", * so that (hopefully) the field messages are correctly translated */ - Future options( - String url, { - Map params = const {}, - }) async { - HttpClientRequest? request = await apiRequest( - url, - "OPTIONS", - urlParams: params, - ); + Future options(String url) async { + HttpClientRequest? request = await apiRequest(url, "OPTIONS"); if (request == null) { // Return an "invalid" APIResponse @@ -1578,15 +1543,8 @@ class InvenTreeAPI { return CachedNetworkImage( imageUrl: url, placeholder: (context, url) => CircularProgressIndicator(), - errorWidget: (context, url, error) { - print("CachedNetworkimage error: ${error.toString()}"); - return GestureDetector( - child: Icon(TablerIcons.circle_x, color: COLOR_DANGER), - onTap: () => { - showSnackIcon(error.toString().split(",")[0], success: false), - }, - ); - }, + errorWidget: (context, url, error) => + Icon(TablerIcons.circle_x, color: COLOR_DANGER), httpHeaders: defaultHeaders(), height: height, width: width, diff --git a/lib/api_form.dart b/lib/api_form.dart index 9df134c..e227289 100644 --- a/lib/api_form.dart +++ b/lib/api_form.dart @@ -26,52 +26,23 @@ import "package:inventree/widget/fields.dart"; import "package:inventree/widget/progress.dart"; import "package:inventree/widget/snacks.dart"; -/* - * Extract field options from a returned OPTIONS request - */ -Map extractFields(APIResponse response) { - if (!response.isValid()) { - return {}; - } - - var data = response.asMap(); - - if (!data.containsKey("actions")) { - return {}; - } - - var actions = response.data["actions"] as Map; - - dynamic result = actions["POST"] ?? actions["PUT"] ?? actions["PATCH"] ?? {}; - - return result as Map; -} - /* * Class that represents a single "form field", * defined by the InvenTree API */ class APIFormField { // Constructor - APIFormField(this.name, this.data, {this.formHandler}); + APIFormField(this.name, this.data); // File to be uploaded for this filed File? attachedfile; - APIFormWidgetState? formHandler; - // Name of this field final String name; // JSON data which defines the field final Map data; - // Function to update the value of this field - void setFieldValue(dynamic val) { - data["value"] = val; - formHandler?.onValueChanged(name, value); - } - // JSON field definition provided by the server Map definition = {}; @@ -117,8 +88,6 @@ class APIFormField { } } - String get pk_field => (getParameter("pk_field") ?? "pk") as String; - // Get the "api_url" associated with a related field String get api_url => (getParameter("api_url") ?? "") as String; @@ -275,13 +244,18 @@ class APIFormField { return; } - String url = api_url + "/" + value.toString() + "/"; + int? pk = int.tryParse(value.toString()); + + if (pk == null) { + return; + } + + String url = api_url + "/" + pk.toString() + "/"; final APIResponse response = await InvenTreeAPI().get(url, params: filters); if (response.successful()) { initial_data = response.data; - formHandler?.onValueChanged(name, value); } } @@ -295,7 +269,6 @@ class APIFormField { return _constructBoolean(); case "related field": return _constructRelatedField(); - case "integer": case "float": case "decimal": return _constructFloatField(); @@ -345,7 +318,8 @@ class APIFormField { onPressed: () async { var handler = UniqueBarcodeHandler((String hash) { controller.text = hash; - setFieldValue(hash); + data["value"] = hash; + barcodeSuccess(L10().barcodeAssigned); }); @@ -373,9 +347,9 @@ class APIFormField { onChanged: (DateTime? time) { // Save the time string if (time == null) { - setFieldValue(null); + data["value"] = null; } else { - setFieldValue(time.toString().split(" ").first); + data["value"] = time.toString().split(" ").first; } }, onShowPicker: (context, value) async { @@ -458,9 +432,9 @@ class APIFormField { }, onSaved: (item) { if (item == null) { - setFieldValue(null); + data["value"] = null; } else { - setFieldValue(item["value"]); + data["value"] = item["value"]; } }, ); @@ -507,7 +481,7 @@ class APIFormField { return null; }, onSaved: (val) { - setFieldValue(val); + data["value"] = val; }, ); } @@ -553,20 +527,7 @@ class APIFormField { hintText: helpText, ), ), - onChanged: (item) { - if (item != null) { - setFieldValue(item[pk_field]); - } else { - setFieldValue(null); - } - }, - onSaved: (item) { - if (item != null) { - setFieldValue(item[pk_field]); - } else { - setFieldValue(null); - } - }, + onChanged: null, itemAsString: (dynamic item) { Map data = item as Map; @@ -590,6 +551,13 @@ class APIFormField { dropdownBuilder: (context, item) { return _renderRelatedField(name, item, true, false); }, + onSaved: (item) { + if (item != null) { + data["value"] = item["pk"]; + } else { + data["value"] = null; + } + }, compareFn: (dynamic item, dynamic selectedItem) { // Comparison is based on the PK value @@ -600,8 +568,7 @@ class APIFormField { bool result = false; try { - result = - item[pk_field].toString() == selectedItem[pk_field].toString(); + result = item["pk"].toString() == selectedItem["pk"].toString(); } catch (error) { // Catch any conversion errors result = false; @@ -619,8 +586,6 @@ class APIFormField { return InvenTreeSupplierPart().defaultListFilters(); case InvenTreeStockItem.MODEL_TYPE: return InvenTreeStockItem().defaultListFilters(); - case InvenTreeSalesOrder.MODEL_TYPE: - return InvenTreeSalesOrder().defaultListFilters(); default: break; } @@ -732,7 +697,6 @@ class APIFormField { return ListTile( title: Text(item.partName), - subtitle: Text(item.locationPathString), leading: InvenTreeAPI().getThumbnail(item.partThumbnail), trailing: Text(item.quantityString()), ); @@ -763,7 +727,7 @@ class APIFormField { return ListTile( title: Text(shipment.reference), subtitle: Text(shipment.tracking_number), - trailing: shipment.isShipped ? Text(shipment.shipment_date!) : null, + trailing: shipment.shipped ? Text(shipment.shipment_date!) : null, ); case "owner": String name = (data["name"] ?? "") as String; @@ -790,27 +754,6 @@ class APIFormField { subtitle: Text(project_code.description), leading: Icon(TablerIcons.list), ); - case InvenTreeSalesOrder.MODEL_TYPE: - var so = InvenTreeSalesOrder.fromJson(data); - return ListTile( - title: Text(so.reference), - subtitle: Text(so.description), - leading: InvenTreeAPI().getThumbnail( - so.customer?.thumbnail ?? so.customer?.image ?? "", - ), - ); - case "labeltemplate": - return ListTile( - title: Text((data["name"] ?? "").toString()), - subtitle: Text((data["description"] ?? "").toString()), - ); - case "pluginconfig": - return ListTile( - title: Text( - (data["meta"]?["human_name"] ?? data["name"] ?? "").toString(), - ), - subtitle: Text((data["meta"]?["description"] ?? "").toString()), - ); default: return ListTile( title: Text( @@ -856,11 +799,8 @@ class APIFormField { maxLines: multiline ? null : 1, expands: false, initialValue: (value ?? "") as String, - onChanged: (val) { - setFieldValue(val); - }, onSaved: (val) { - setFieldValue(val); + data["value"] = val; }, validator: (value) { if (required && (value == null || value.isEmpty)) { @@ -891,7 +831,7 @@ class APIFormField { initial: initial_value, tristate: (getParameter("tristate") ?? false) as bool, onSaved: (val) { - setFieldValue(val); + data["value"] = val; }, ); } @@ -914,6 +854,27 @@ class APIFormField { } } +/* + * Extract field options from a returned OPTIONS request + */ +Map extractFields(APIResponse response) { + if (!response.isValid()) { + return {}; + } + + var data = response.asMap(); + + if (!data.containsKey("actions")) { + return {}; + } + + var actions = response.data["actions"] as Map; + + dynamic result = actions["POST"] ?? actions["PUT"] ?? actions["PATCH"] ?? {}; + + return result as Map; +} + /* * Extract a field definition (map) from the provided JSON data. * @@ -1009,19 +970,19 @@ Future launchApiForm( Function(Map)? onSuccess, bool Function(Map)? validate, Function? onCancel, - APIFormWidgetState? formHandler, IconData icon = TablerIcons.device_floppy, }) async { + showLoadingOverlay(); + // List of fields defined by the server Map serverFields = {}; if (url.isNotEmpty) { - showLoadingOverlay(); var options = await InvenTreeAPI().options(url); - hideLoadingOverlay(); // Invalid response from server if (!options.isValid()) { + hideLoadingOverlay(); return; } @@ -1030,6 +991,8 @@ Future launchApiForm( if (serverFields.isEmpty) { // User does not have permission to perform this action showSnackIcon(L10().response403, icon: TablerIcons.user_x); + + hideLoadingOverlay(); return; } } @@ -1067,14 +1030,12 @@ Future launchApiForm( field.data["instance_value"] = model_value; if (field.data["value"] == null) { - field.setFieldValue(model_value); + field.data["value"] = model_value; } } formFields.add(field); } - showLoadingOverlay(); - // Grab existing data for each form field for (var field in formFields) { await field.loadInitialData(); @@ -1094,7 +1055,6 @@ Future launchApiForm( onSuccess: onSuccess, validate: validate, fileField: fileField, - state: formHandler, icon: icon, ), ), @@ -1108,7 +1068,6 @@ class APIFormWidget extends StatefulWidget { this.fields, this.method, { Key? key, - this.state, this.onSuccess, this.validate, this.fileField = "", @@ -1135,15 +1094,12 @@ class APIFormWidget extends StatefulWidget { final bool Function(Map)? validate; - final APIFormWidgetState? state; - - // Default form handler is constructed if none is provided @override - APIFormWidgetState createState() => state ?? APIFormWidgetState(); + _APIFormWidgetState createState() => _APIFormWidgetState(); } -class APIFormWidgetState extends State { - APIFormWidgetState() : super(); +class _APIFormWidgetState extends State { + _APIFormWidgetState() : super(); final _formKey = GlobalKey(); @@ -1151,33 +1107,6 @@ class APIFormWidgetState extends State { bool spacerRequired = false; - // Return a list of all fields used for this form - // The default implementation just returns the fields provided to the widget - // However, custom form implementations may override this function - List get formFields { - final List fields = widget.fields; - - // Ensure each field has access to this form handler - for (var field in fields) { - field.formHandler ??= this; - } - - return fields; - } - - // Callback for when a field value is changed - // Default implementation does nothing, - // but custom form implementations may override this function - void onValueChanged(String field, dynamic value) {} - - Future handleSuccess( - Map submittedData, - Map responseData, - ) async { - Navigator.pop(context); - widget.onSuccess?.call(responseData); - } - List _buildForm() { List widgets = []; @@ -1195,7 +1124,7 @@ class APIFormWidgetState extends State { widgets.add(Divider(height: 5)); } - for (var field in formFields) { + for (var field in widget.fields) { if (field.hidden) { continue; } @@ -1250,7 +1179,7 @@ class APIFormWidgetState extends State { // Pop the "file" field data.remove(widget.fileField); - for (var field in formFields) { + for (var field in widget.fields) { if (field.name == widget.fileField) { File? file = field.attachedfile; @@ -1335,7 +1264,7 @@ class APIFormWidgetState extends State { match = true; continue; default: - for (var field in formFields) { + for (var field in widget.fields) { // Hidden fields can't display errors, so we won't match if (field.hidden) { continue; @@ -1387,7 +1316,7 @@ class APIFormWidgetState extends State { // Iterate through and find "simple" top-level fields - for (var field in formFields) { + for (var field in widget.fields) { if (field.readOnly) { continue; } @@ -1426,11 +1355,20 @@ class APIFormWidgetState extends State { return; } + // Run custom onSuccess function + var successFunc = widget.onSuccess; + // An "empty" URL means we don't want to submit the form anywhere // Perhaps we just want to process the data? if (widget.url.isEmpty) { // Hide the form - handleSuccess(data, data); + Navigator.pop(context); + + if (successFunc != null) { + // Return the raw "submitted" data, rather than the server response + successFunc(data); + } + return; } @@ -1445,24 +1383,29 @@ class APIFormWidgetState extends State { case 200: case 201: // Form was successfully validated by the server - // Ensure the response is a valid JSON structure - Map json = {}; - var responseData = response.asMap(); + // Hide this form + Navigator.pop(context); - for (String key in responseData.keys) { - json[key.toString()] = responseData[key]; + if (successFunc != null) { + // Ensure the response is a valid JSON structure + Map json = {}; + + var data = response.asMap(); + + for (String key in data.keys) { + json[key.toString()] = data[key]; + } + + successFunc(json); } - - handleSuccess(data, json); - return; case 400: // Form submission / validation error showSnackIcon(L10().formError, success: false); // Update field errors - for (var field in formFields) { + for (var field in widget.fields) { field.extractErrorMessages(response); } @@ -1490,22 +1433,6 @@ class APIFormWidgetState extends State { }); } - // Construct the internal form widget, based on the provided fields - Widget buildForm(BuildContext context) { - return Form( - key: _formKey, - child: SingleChildScrollView( - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: _buildForm(), - ), - padding: EdgeInsets.all(16), - ), - ); - } - @override Widget build(BuildContext context) { return Scaffold( @@ -1525,7 +1452,18 @@ class APIFormWidgetState extends State { ), ], ), - body: buildForm(context), + body: Form( + key: _formKey, + child: SingleChildScrollView( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: _buildForm(), + ), + padding: EdgeInsets.all(16), + ), + ), ); } } diff --git a/lib/barcode/barcode.dart b/lib/barcode/barcode.dart index 8fe50ca..ddbb319 100644 --- a/lib/barcode/barcode.dart +++ b/lib/barcode/barcode.dart @@ -250,12 +250,12 @@ class BarcodeScanHandler extends BarcodeHandler { // The following model types can be matched with barcodes List validModels = [ + InvenTreePart.MODEL_TYPE, + InvenTreeCompany.MODEL_TYPE, InvenTreeStockItem.MODEL_TYPE, + InvenTreeStockLocation.MODEL_TYPE, InvenTreeSupplierPart.MODEL_TYPE, InvenTreeManufacturerPart.MODEL_TYPE, - InvenTreePart.MODEL_TYPE, - InvenTreeStockLocation.MODEL_TYPE, - InvenTreeCompany.MODEL_TYPE, ]; if (InvenTreeAPI().supportsOrderBarcodes) { diff --git a/lib/barcode/camera_controller.dart b/lib/barcode/camera_controller.dart index 2baaca0..ba73b10 100644 --- a/lib/barcode/camera_controller.dart +++ b/lib/barcode/camera_controller.dart @@ -41,10 +41,8 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { String scanned_code = ""; - double zoomFactor = 0.0; - final MobileScannerController controller = MobileScannerController( - autoZoom: false, // Disable autoZoom as we implement a manual slider + autoZoom: true, ); @override @@ -57,7 +55,6 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { @override void dispose() { super.dispose(); - controller.dispose(); WakelockPlus.disable(); } @@ -313,60 +310,6 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { return SpeedDial(icon: Icons.more_horiz, children: actions); } - Widget zoomSlider() { - return Positioned( - left: 0, - right: 0, - bottom: 16, - child: Center( - child: Container( - width: 225, - height: 56, - decoration: BoxDecoration( - color: Colors.black.withValues(alpha: 0.3), - borderRadius: BorderRadius.circular(28), - ), - padding: EdgeInsets.symmetric(horizontal: 16), - child: Row( - children: [ - Icon(TablerIcons.zoom_out, color: Colors.white, size: 20), - Expanded( - child: Slider( - value: zoomFactor, - min: 0.0, - max: 1.0, - activeColor: Colors.white, - inactiveColor: Colors.white.withValues(alpha: 0.3), - onChanged: (value) { - setState(() { - zoomFactor = value; - controller.setZoomScale(value); - }); - }, - onChangeStart: (value) async { - if (mounted) { - setState(() { - scanning_paused = true; - }); - } - }, - onChangeEnd: (value) async { - if (mounted) { - setState(() { - scanning_paused = false; - }); - } - }, - ), - ), - Icon(TablerIcons.zoom_in, color: Colors.white, size: 20), - ], - ), - ), - ), - ); - } - @override Widget build(BuildContext context) { return Scaffold( @@ -389,7 +332,6 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { Column(children: [Expanded(child: BarcodeReader(context))]), topCenterOverlay(), bottomCenterOverlay(), - zoomSlider(), ], ), ), diff --git a/lib/inventree/attachment.dart b/lib/inventree/attachment.dart deleted file mode 100644 index 3f1b913..0000000 --- a/lib/inventree/attachment.dart +++ /dev/null @@ -1,176 +0,0 @@ -import "dart:io"; - -import "package:flutter/cupertino.dart"; -import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; -import "package:inventree/api.dart"; -import "package:inventree/inventree/model.dart"; -import "package:inventree/inventree/sentry.dart"; -import "package:inventree/l10.dart"; -import "package:inventree/widget/fields.dart"; -import "package:inventree/widget/snacks.dart"; -import "package:path/path.dart" as path; - -class InvenTreeAttachment extends InvenTreeModel { - // Class representing an "attachment" file - InvenTreeAttachment() : super(); - - InvenTreeAttachment.fromJson(Map json) - : super.fromJson(json); - - @override - InvenTreeAttachment createFromJson(Map json) => - InvenTreeAttachment.fromJson(json); - - @override - String get URL => "attachment/"; - - @override - Map> formFields() { - Map> fields = {"link": {}, "comment": {}}; - - if (!hasLink) { - fields.remove("link"); - } - - return fields; - } - - // The model type of the instance this attachment is associated with - String get modelType => getString("model_type"); - - // The ID of the instance this attachment is associated with - int get modelId => getInt("model_id"); - - String get attachment => getString("attachment"); - - bool get hasAttachment => attachment.isNotEmpty; - - // Return the filename of the attachment - String get filename { - return attachment.split("/").last; - } - - IconData get icon { - String fn = filename.toLowerCase(); - - if (fn.endsWith(".pdf")) { - return TablerIcons.file_type_pdf; - } else if (fn.endsWith(".csv")) { - return TablerIcons.file_type_csv; - } else if (fn.endsWith(".doc") || fn.endsWith(".docx")) { - return TablerIcons.file_type_doc; - } else if (fn.endsWith(".xls") || fn.endsWith(".xlsx")) { - return TablerIcons.file_type_xls; - } - - // Image formats - final List img_formats = [".png", ".jpg", ".gif", ".bmp", ".svg"]; - - for (String fmt in img_formats) { - if (fn.endsWith(fmt)) { - return TablerIcons.file_type_jpg; - } - } - - return TablerIcons.file; - } - - String get comment => getString("comment"); - - DateTime? get uploadDate { - if (jsondata.containsKey("upload_date")) { - return DateTime.tryParse((jsondata["upload_date"] ?? "") as String); - } else { - return null; - } - } - - // Return a count of how many attachments exist against the specified model ID - Future countAttachments(String modelType, int modelId) async { - Map filters = {}; - - if (!api.supportsModernAttachments) { - return 0; - } - - filters["model_type"] = modelType; - filters["model_id"] = modelId.toString(); - - return count(filters: filters); - } - - Future uploadAttachment( - File attachment, - String modelType, - int modelId, { - String comment = "", - Map fields = const {}, - }) async { - // Ensure that the correct reference field is set - Map data = Map.from(fields); - - String url = URL; - - if (comment.isNotEmpty) { - data["comment"] = comment; - } - - data["model_type"] = modelType; - data["model_id"] = modelId.toString(); - - final APIResponse response = await InvenTreeAPI().uploadFile( - url, - attachment, - method: "POST", - name: "attachment", - fields: data, - ); - - return response.successful(); - } - - Future uploadImage( - String modelType, - int modelId, { - String prefix = "InvenTree", - }) async { - bool result = false; - - await FilePickerDialog.pickImageFromCamera().then((File? file) { - if (file != null) { - String dir = path.dirname(file.path); - String ext = path.extension(file.path); - String now = DateTime.now().toIso8601String().replaceAll(":", "-"); - - // Rename the file with a unique name - String filename = "${dir}/${prefix}_image_${now}${ext}"; - - try { - return file.rename(filename).then((File renamed) { - return uploadAttachment(renamed, modelType, modelId).then(( - success, - ) { - result = success; - showSnackIcon( - result ? L10().imageUploadSuccess : L10().imageUploadFailure, - success: result, - ); - }); - }); - } catch (error, stackTrace) { - sentryReportError("uploadImage", error, stackTrace); - showSnackIcon(L10().imageUploadFailure, success: false); - } - } - }); - - return result; - } - - /* - * Download this attachment file - */ - Future downloadAttachment() async { - await InvenTreeAPI().downloadFile(attachment); - } -} diff --git a/lib/inventree/company.dart b/lib/inventree/company.dart index 90ed77c..f9f6b42 100644 --- a/lib/inventree/company.dart +++ b/lib/inventree/company.dart @@ -111,6 +111,31 @@ class InvenTreeCompany extends InvenTreeModel { InvenTreeCompany.fromJson(json); } +/* + * Class representing an attachment file against a Company object + */ +class InvenTreeCompanyAttachment extends InvenTreeAttachment { + InvenTreeCompanyAttachment() : super(); + + InvenTreeCompanyAttachment.fromJson(Map json) + : super.fromJson(json); + + @override + String get REFERENCE_FIELD => "company"; + + @override + String get REF_MODEL_TYPE => "company"; + + @override + String get URL => InvenTreeAPI().supportsModernAttachments + ? "attachment/" + : "company/attachment/"; + + @override + InvenTreeModel createFromJson(Map json) => + InvenTreeCompanyAttachment.fromJson(json); +} + /* * The InvenTreeSupplierPart class represents the SupplierPart model in the InvenTree database */ @@ -200,10 +225,6 @@ class InvenTreeSupplierPart extends InvenTreeModel { int get partId => getInt("part"); - double get inStock => getDouble("in_stock"); - - double get onOrder => getDouble("on_order"); - String get partImage => (jsondata["part_detail"]?["thumbnail"] ?? InvenTreeAPI.staticThumb) as String; diff --git a/lib/inventree/model.dart b/lib/inventree/model.dart index 3a39e64..532d1c2 100644 --- a/lib/inventree/model.dart +++ b/lib/inventree/model.dart @@ -1,4 +1,5 @@ import "dart:async"; +import "dart:io"; import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; import "package:flutter/material.dart"; @@ -14,6 +15,7 @@ import "package:inventree/helpers.dart"; import "package:inventree/inventree/sentry.dart"; import "package:inventree/widget/dialogs.dart"; +import "package:inventree/widget/fields.dart"; // Paginated response object class InvenTreePageResponse { @@ -334,24 +336,6 @@ class InvenTreeModel { String get description => getString("description"); - int get logicalStatus => getInt("status"); - - int get customStatus => getInt("status_custom_key"); - - // Return the effective status of this object - // If a custom status is defined, return that, otherwise return the logical status - int get status { - if (customStatus > 0) { - return customStatus; - } else { - return logicalStatus; - } - } - - String get statusText => getString("status_text"); - - bool get hasCustomStatus => customStatus > 0 && customStatus != status; - String get notes => getString("notes"); int get parentId => getInt("parent"); @@ -617,7 +601,7 @@ class InvenTreeModel { // POST data to update the model Future update({ - Map values = const {}, + Map values = const {}, int? expectedStatusCode = 200, }) async { var url = path.join(URL, pk.toString()); @@ -748,6 +732,8 @@ class InvenTreeModel { var response = await api.get(URL, params: params); + print("paginated: ${URL}: ${params}"); + if (!response.isValid()) { return null; } @@ -948,3 +934,171 @@ class InvenTreeUserSetting extends InvenTreeGlobalSetting { @override String get URL => "settings/user/"; } + +class InvenTreeAttachment extends InvenTreeModel { + // Class representing an "attachment" file + InvenTreeAttachment() : super(); + + InvenTreeAttachment.fromJson(Map json) + : super.fromJson(json); + + @override + String get URL => "attachment/"; + + @override + Map> formFields() { + Map> fields = {"link": {}, "comment": {}}; + + if (!hasLink) { + fields.remove("link"); + } + + return fields; + } + + // Override this reference field for any subclasses + // Note: This is used for the *legacy* attachment API + String get REFERENCE_FIELD => ""; + + // Override this reference field for any subclasses + // Note: This is used for the *modern* attachment API + String get REF_MODEL_TYPE => ""; + + String get attachment => getString("attachment"); + + bool get hasAttachment => attachment.isNotEmpty; + + // Return the filename of the attachment + String get filename { + return attachment.split("/").last; + } + + IconData get icon { + String fn = filename.toLowerCase(); + + if (fn.endsWith(".pdf")) { + return TablerIcons.file_type_pdf; + } else if (fn.endsWith(".csv")) { + return TablerIcons.file_type_csv; + } else if (fn.endsWith(".doc") || fn.endsWith(".docx")) { + return TablerIcons.file_type_doc; + } else if (fn.endsWith(".xls") || fn.endsWith(".xlsx")) { + return TablerIcons.file_type_xls; + } + + // Image formats + final List img_formats = [".png", ".jpg", ".gif", ".bmp", ".svg"]; + + for (String fmt in img_formats) { + if (fn.endsWith(fmt)) { + return TablerIcons.file_type_jpg; + } + } + + return TablerIcons.file; + } + + String get comment => getString("comment"); + + DateTime? get uploadDate { + if (jsondata.containsKey("upload_date")) { + return DateTime.tryParse((jsondata["upload_date"] ?? "") as String); + } else { + return null; + } + } + + // Return a count of how many attachments exist against the specified model ID + Future countAttachments(int modelId) { + Map filters = {}; + + if (InvenTreeAPI().supportsModernAttachments) { + filters["model_type"] = REF_MODEL_TYPE; + filters["model_id"] = modelId.toString(); + } else { + filters[REFERENCE_FIELD] = modelId.toString(); + } + + return count(filters: filters); + } + + Future uploadAttachment( + File attachment, + int modelId, { + String comment = "", + Map fields = const {}, + }) async { + // Ensure that the correct reference field is set + Map data = Map.from(fields); + + String url = URL; + + if (comment.isNotEmpty) { + data["comment"] = comment; + } + + if (InvenTreeAPI().supportsModernAttachments) { + url = "attachment/"; + data["model_id"] = modelId.toString(); + data["model_type"] = REF_MODEL_TYPE; + } else { + if (REFERENCE_FIELD.isEmpty) { + sentryReportMessage( + "uploadAttachment called with empty 'REFERENCE_FIELD'", + ); + return false; + } + + data[REFERENCE_FIELD] = modelId.toString(); + } + + final APIResponse response = await InvenTreeAPI().uploadFile( + url, + attachment, + method: "POST", + name: "attachment", + fields: data, + ); + + return response.successful(); + } + + Future uploadImage(int modelId, {String prefix = "InvenTree"}) async { + bool result = false; + + await FilePickerDialog.pickImageFromCamera().then((File? file) { + if (file != null) { + String dir = path.dirname(file.path); + String ext = path.extension(file.path); + String now = DateTime.now().toIso8601String().replaceAll(":", "-"); + + // Rename the file with a unique name + String filename = "${dir}/${prefix}_image_${now}${ext}"; + + try { + file.rename(filename).then((File renamed) { + uploadAttachment(renamed, modelId).then((success) { + result = success; + showSnackIcon( + result ? L10().imageUploadSuccess : L10().imageUploadFailure, + success: result, + ); + }); + }); + } catch (error, stackTrace) { + sentryReportError("uploadImage", error, stackTrace); + showSnackIcon(L10().imageUploadFailure, success: false); + } + } + }); + + return result; + } + + /* + * Download this attachment file + */ + Future downloadAttachment() async { + await InvenTreeAPI().downloadFile(attachment); + } +} diff --git a/lib/inventree/orders.dart b/lib/inventree/orders.dart index 124ded2..8ffc478 100644 --- a/lib/inventree/orders.dart +++ b/lib/inventree/orders.dart @@ -57,6 +57,10 @@ class InvenTreeOrder extends InvenTreeModel { bool get hasProjectCode => projectCode.isNotEmpty; + int get status => getInt("status"); + + String get statusText => getString("status_text"); + double? get totalPrice { String price = getString("total_price"); diff --git a/lib/inventree/parameter.dart b/lib/inventree/parameter.dart deleted file mode 100644 index 22006d7..0000000 --- a/lib/inventree/parameter.dart +++ /dev/null @@ -1,77 +0,0 @@ -import "package:inventree/inventree/model.dart"; - -class InvenTreeParameter extends InvenTreeModel { - InvenTreeParameter() : super(); - - InvenTreeParameter.fromJson(Map json) : super.fromJson(json); - - @override - InvenTreeParameter createFromJson(Map json) => - InvenTreeParameter.fromJson(json); - - @override - String get URL => "parameter/"; - - @override - Map> formFields() { - Map> fields = { - "header": { - "type": "string", - "read_only": true, - "label": name, - "help_text": description, - "value": "", - }, - "data": {"type": "string"}, - "note": {}, - }; - - return fields; - } - - @override - String get name => getString("name", subKey: "template_detail"); - - @override - String get description => getString("description", subKey: "template_detail"); - - String get value => getString("data"); - - String get valueString { - String v = value; - - if (units.isNotEmpty) { - v += " "; - v += units; - } - - return v; - } - - bool get as_bool => value.toLowerCase() == "true"; - - String get units => getString("units", subKey: "template_detail"); - - bool get is_checkbox => - getBool("checkbox", subKey: "template_detail", backup: false); - - // The model type of the instance this attachment is associated with - String get modelType => getString("model_type"); - - // The ID of the instance this attachment is associated with - int get modelId => getInt("model_id"); - - // Return a count of how many parameters exist against the specified model ID - Future countParameters(String modelType, int modelId) async { - Map filters = {}; - - if (!api.supportsModernParameters) { - return 0; - } - - filters["model_type"] = modelType; - filters["model_id"] = modelId.toString(); - - return count(filters: filters); - } -} diff --git a/lib/inventree/part.dart b/lib/inventree/part.dart index 033fae9..c0050ec 100644 --- a/lib/inventree/part.dart +++ b/lib/inventree/part.dart @@ -132,6 +132,68 @@ class InvenTreePartTestTemplate extends InvenTreeModel { } } +/* + Class representing the PartParameter database model + */ +class InvenTreePartParameter extends InvenTreeModel { + InvenTreePartParameter() : super(); + + InvenTreePartParameter.fromJson(Map json) + : super.fromJson(json); + + @override + String get URL => "part/parameter/"; + + @override + List get rolesRequired => ["part"]; + + @override + InvenTreeModel createFromJson(Map json) => + InvenTreePartParameter.fromJson(json); + + @override + Map> formFields() { + Map> fields = { + "header": { + "type": "string", + "read_only": true, + "label": name, + "help_text": description, + "value": "", + }, + "data": {"type": "string"}, + }; + + return fields; + } + + @override + String get name => getString("name", subKey: "template_detail"); + + @override + String get description => getString("description", subKey: "template_detail"); + + String get value => getString("data"); + + String get valueString { + String v = value; + + if (units.isNotEmpty) { + v += " "; + v += units; + } + + return v; + } + + bool get as_bool => value.toLowerCase() == "true"; + + String get units => getString("units", subKey: "template_detail"); + + bool get is_checkbox => + getBool("checkbox", subKey: "template_detail", backup: false); +} + /* * Class representing the Part database model */ @@ -216,6 +278,8 @@ class InvenTreePart extends InvenTreeModel { // Request pricing data for this part Future getPricing() async { + print("REQUEST PRICING FOR: ${pk}"); + try { final response = await InvenTreeAPI().get("/api/part/${pk}/pricing/"); if (response.isValid()) { @@ -347,8 +411,6 @@ class InvenTreePart extends InvenTreeModel { bool get isTrackable => getBool("trackable"); - bool get isTestable => getBool("testable"); - // Get the IPN (internal part number) for the Part instance String get IPN => getString("IPN"); @@ -485,3 +547,28 @@ class InvenTreePartPricing extends InvenTreeModel { double? get saleHistoryMin => getDoubleOrNull("sale_history_min"); double? get saleHistoryMax => getDoubleOrNull("sale_history_max"); } + +/* + * Class representing an attachment file against a Part object + */ +class InvenTreePartAttachment extends InvenTreeAttachment { + InvenTreePartAttachment() : super(); + + InvenTreePartAttachment.fromJson(Map json) + : super.fromJson(json); + + @override + String get REFERENCE_FIELD => "part"; + + @override + String get REF_MODEL_TYPE => "part"; + + @override + String get URL => InvenTreeAPI().supportsModernAttachments + ? "attachment/" + : "part/attachment/"; + + @override + InvenTreeModel createFromJson(Map json) => + InvenTreePartAttachment.fromJson(json); +} diff --git a/lib/inventree/purchase_order.dart b/lib/inventree/purchase_order.dart index 65af361..59874dc 100644 --- a/lib/inventree/purchase_order.dart +++ b/lib/inventree/purchase_order.dart @@ -336,3 +336,28 @@ class InvenTreePOExtraLineItem extends InvenTreeExtraLineItem { ); } } + +/* + * Class representing an attachment file against a PurchaseOrder object + */ +class InvenTreePurchaseOrderAttachment extends InvenTreeAttachment { + InvenTreePurchaseOrderAttachment() : super(); + + InvenTreePurchaseOrderAttachment.fromJson(Map json) + : super.fromJson(json); + + @override + String get REFERENCE_FIELD => "order"; + + @override + String get REF_MODEL_TYPE => "purchaseorder"; + + @override + String get URL => InvenTreeAPI().supportsModernAttachments + ? "attachment/" + : "order/po/attachment/"; + + @override + InvenTreeModel createFromJson(Map json) => + InvenTreePurchaseOrderAttachment.fromJson(json); +} diff --git a/lib/inventree/sales_order.dart b/lib/inventree/sales_order.dart index 82cc074..51412db 100644 --- a/lib/inventree/sales_order.dart +++ b/lib/inventree/sales_order.dart @@ -5,9 +5,6 @@ import "package:inventree/helpers.dart"; import "package:inventree/inventree/company.dart"; import "package:inventree/inventree/model.dart"; import "package:inventree/inventree/orders.dart"; -import "package:inventree/inventree/part.dart"; -import "package:inventree/inventree/stock.dart"; -import "package:inventree/widget/order/so_shipment_detail.dart"; import "package:inventree/widget/progress.dart"; import "package:inventree/widget/order/extra_line_detail.dart"; import "package:inventree/widget/order/sales_order_detail.dart"; @@ -48,7 +45,7 @@ class InvenTreeSalesOrder extends InvenTreeOrder { Map> fields = { "reference": {}, "customer": { - "filters": {"is_customer": true, "active": true}, + "filters": {"is_customer": true}, }, "customer_reference": {}, "description": {}, @@ -272,19 +269,6 @@ class InvenTreeSalesOrderShipment extends InvenTreeModel { @override String get URL => "/order/so/shipment/"; - String get SHIP_SHIPMENT_URL => "/order/so/shipment/${pk}/ship/"; - - @override - Future goToDetailPage(BuildContext context) async { - return Navigator.push( - context, - MaterialPageRoute(builder: (context) => SOShipmentDetailWidget(this)), - ); - } - - @override - List get rolesRequired => ["sales_order"]; - static const String MODEL_TYPE = "salesordershipment"; @override @@ -300,18 +284,6 @@ class InvenTreeSalesOrderShipment extends InvenTreeModel { return fields; } - int get orderId => getInt("order"); - - InvenTreeSalesOrder? get order { - dynamic order_detail = jsondata["order_detail"]; - - if (order_detail == null) { - return null; - } else { - return InvenTreeSalesOrder.fromJson(order_detail as Map); - } - } - String get reference => getString("reference"); String get tracking_number => getString("tracking_number"); @@ -320,111 +292,30 @@ class InvenTreeSalesOrderShipment extends InvenTreeModel { String? get shipment_date => getString("shipment_date"); - String? get delivery_date => getString("delivery_date"); - - int? get checked_by_id => getInt("checked_by"); - - bool get isChecked => checked_by_id != null && checked_by_id! > 0; - - bool get isShipped => shipment_date != null && shipment_date!.isNotEmpty; - - bool get isDelivered => delivery_date != null && delivery_date!.isNotEmpty; + bool get shipped => shipment_date != null && shipment_date!.isNotEmpty; } /* - * Class representing an allocation of stock against a SalesOrderShipment + * Class representing an attachment file against a SalesOrder object */ -class InvenTreeSalesOrderAllocation extends InvenTreeModel { - InvenTreeSalesOrderAllocation() : super(); +class InvenTreeSalesOrderAttachment extends InvenTreeAttachment { + InvenTreeSalesOrderAttachment() : super(); - InvenTreeSalesOrderAllocation.fromJson(Map json) + InvenTreeSalesOrderAttachment.fromJson(Map json) : super.fromJson(json); @override InvenTreeModel createFromJson(Map json) => - InvenTreeSalesOrderAllocation.fromJson(json); + InvenTreeSalesOrderAttachment.fromJson(json); @override - String get URL => "/order/so-allocation/"; + String get REFERENCE_FIELD => "order"; @override - List get rolesRequired => ["sales_order"]; + String get REF_MODEL_TYPE => "salesorder"; @override - Map defaultFilters() { - return { - "part_detail": "true", - "order_detail": "true", - "item_detail": "true", - "location_detail": "true", - }; - } - - static const String MODEL_TYPE = "salesorderallocation"; - - int get orderId => getInt("order"); - - InvenTreeSalesOrder? get order { - dynamic order_detail = jsondata["order_detail"]; - - if (order_detail == null) { - return null; - } else { - return InvenTreeSalesOrder.fromJson(order_detail as Map); - } - } - - int get stockItemId => getInt("item"); - - InvenTreeStockItem? get stockItem { - dynamic item_detail = jsondata["item_detail"]; - - if (item_detail == null) { - return null; - } else { - return InvenTreeStockItem.fromJson(item_detail as Map); - } - } - - int get partId => getInt("part"); - - InvenTreePart? get part { - dynamic part_detail = jsondata["part_detail"]; - - if (part_detail == null) { - return null; - } else { - return InvenTreePart.fromJson(part_detail as Map); - } - } - - int get shipmentId => getInt("shipment"); - - bool get hasShipment => shipmentId > 0; - - InvenTreeSalesOrderShipment? get shipment { - dynamic shipment_detail = jsondata["shipment_detail"]; - - if (shipment_detail == null) { - return null; - } else { - return InvenTreeSalesOrderShipment.fromJson( - shipment_detail as Map, - ); - } - } - - int get locationId => getInt("location"); - - InvenTreeStockLocation? get location { - dynamic location_detail = jsondata["location_detail"]; - - if (location_detail == null) { - return null; - } else { - return InvenTreeStockLocation.fromJson( - location_detail as Map, - ); - } - } + String get URL => InvenTreeAPI().supportsModernAttachments + ? "attachment/" + : "order/so/attachment/"; } diff --git a/lib/inventree/stock.dart b/lib/inventree/stock.dart index 657a218..1a45e73 100644 --- a/lib/inventree/stock.dart +++ b/lib/inventree/stock.dart @@ -256,6 +256,8 @@ class InvenTreeStockItem extends InvenTreeModel { }); } + int get status => getInt("status"); + bool get isInStock => getBool("in_stock", backup: true); String get packaging => getString("packaging"); @@ -573,6 +575,31 @@ class InvenTreeStockItem extends InvenTreeModel { } } +/* + * Class representing an attachment file against a StockItem object + */ +class InvenTreeStockItemAttachment extends InvenTreeAttachment { + InvenTreeStockItemAttachment() : super(); + + InvenTreeStockItemAttachment.fromJson(Map json) + : super.fromJson(json); + + @override + String get REFERENCE_FIELD => "stock_item"; + + @override + String get REF_MODEL_TYPE => "stockitem"; + + @override + String get URL => InvenTreeAPI().supportsModernAttachments + ? "attachment/" + : "stock/attachment/"; + + @override + InvenTreeModel createFromJson(Map json) => + InvenTreeStockItemAttachment.fromJson(json); +} + class InvenTreeStockLocation extends InvenTreeModel { InvenTreeStockLocation() : super(); diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 4f6560f..fbac909 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -65,9 +65,6 @@ "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, - "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, @@ -148,7 +145,7 @@ "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", @@ -334,15 +331,6 @@ "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - - "deleteImage": "Delete Image", - "@deleteImage": {}, - "deletePart": "Delete Part", "@deletePart": {}, @@ -352,9 +340,6 @@ "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, - "description": "Description", "@description": {}, @@ -563,12 +548,6 @@ "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, - "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, @@ -668,12 +647,6 @@ "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, - "issue": "Issue", "@issue": {}, @@ -695,12 +668,6 @@ "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, - "labelPrinting": "Label Printing", "@labelPrinting": {}, @@ -725,6 +692,7 @@ "languageSelect": "Select Language", "@languageSelect": {}, + "lastStocktake": "Last Stocktake", "@lastStocktake": {}, @@ -758,9 +726,6 @@ "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, - "locationNotSet": "No location specified", "@locationNotSet": {}, @@ -804,12 +769,6 @@ "@name": { }, - "no": "No", - "@no": {}, - - "notApplicable": "N/A", - "@notApplicable": {}, - "notConnected": "Not Connected", "@notConnected": {}, @@ -821,8 +780,8 @@ "notifications": "Notifications", "@notifications": {}, - "notificationsEmpty": "No unread notifications", - "@notificationsEmpty": {}, + "notificationsEmpty": "No unread notifications", + "@notificationsEmpty": {}, "noResponse": "No Response from Server", "@noResponse": {}, @@ -833,12 +792,6 @@ "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, - "noSubcategories": "No Subcategories", "@noSubcategories": {}, @@ -974,12 +927,6 @@ "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "path": "Path", - "@path": {}, - - "pending": "Pending", - "@pending": {}, - "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, @@ -1049,23 +996,23 @@ "projectCode": "Project Code", "@projectCode": {}, - "purchaseOrderConfirmScan": "Confirm Scan Data", - "@purchaseOrderConfirmScan": {}, + "purchaseOrderConfirmScan": "Confirm Scan Data", + "@purchaseOrderConfirmScan": {}, - "purchaseOrderConfirmScanDetail": "Confirm details when scanning in items", - "@purchaseOrderConfirmScanDetail": {}, + "purchaseOrderConfirmScanDetail": "Confirm details when scanning in items", + "@purchaseOrderConfirmScanDetail": {}, - "purchaseOrderEnable": "Enable Purchase Orders", - "@purchaseOrderEnable": {}, + "purchaseOrderEnable": "Enable Purchase Orders", + "@purchaseOrderEnable": {}, - "purchaseOrderEnableDetail": "Enable purchase order functionality", - "@purchaseOrderEnableDetail": {}, + "purchaseOrderEnableDetail": "Enable purchase order functionality", + "@purchaseOrderEnableDetail": {}, - "purchaseOrderShowCamera": "Camera Shortcut", - "@purchaseOrderShowCamera": {}, + "purchaseOrderShowCamera": "Camera Shortcut", + "@purchaseOrderShowCamera": {}, - "purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen", - "@purchaseOrderShowCameraDetail": {}, + "purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen", + "@purchaseOrderShowCameraDetail": {}, "purchaseOrder": "Purchase Order", "@purchaseOrder": {}, @@ -1239,20 +1186,20 @@ "salesOrders": "Sales Orders", "@salesOrders": {}, - "salesOrderEnable": "Enable Sales Orders", - "@salesOrderEnable": {}, + "salesOrderEnable": "Enable Sales Orders", + "@salesOrderEnable": {}, - "salesOrderEnableDetail": "Enable sales order functionality", - "@salesOrderEnableDetail": {}, + "salesOrderEnableDetail": "Enable sales order functionality", + "@salesOrderEnableDetail": {}, - "salesOrderShowCamera": "Camera Shortcut", - "@salesOrderShowCamera": {}, + "salesOrderShowCamera": "Camera Shortcut", + "@salesOrderShowCamera": {}, - "salesOrderShowCameraDetail": "Enable image upload shortcut on sales order screen", - "@salesOrderShowCameraDetail": {}, + "salesOrderShowCameraDetail": "Enable image upload shortcut on sales order screen", + "@salesOrderShowCameraDetail": {}, "salesOrderSettings": "Sales order settings", - "@salesOrderSettings": {}, + "@salesOrderSettings": {}, "salesOrderCreate": "New Sales Order", "@saleOrderCreate": {}, @@ -1301,18 +1248,6 @@ "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, - "searchParts": "Search Parts", "@searchParts": {}, @@ -1403,48 +1338,12 @@ "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, - "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, - "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, - "shipped": "Shipped", "@shipped": {}, @@ -1656,9 +1555,6 @@ "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, - "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1746,9 +1642,6 @@ "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, - "price": "Price", "@price": {}, @@ -1789,5 +1682,20 @@ "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + + "deleteImage": "Delete Image", + "@deleteImage": {} } diff --git a/lib/l10n/ar_SA/app_ar_SA.arb b/lib/l10n/ar_SA/app_ar_SA.arb index af1cb2a..ae54712 100644 --- a/lib/l10n/ar_SA/app_ar_SA.arb +++ b/lib/l10n/ar_SA/app_ar_SA.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, "appSettings": "App Settings", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Companies", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/bg_BG/app_bg_BG.arb b/lib/l10n/bg_BG/app_bg_BG.arb index 0a11bd2..94f4a3c 100644 --- a/lib/l10n/bg_BG/app_bg_BG.arb +++ b/lib/l10n/bg_BG/app_bg_BG.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, "appSettings": "App Settings", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Companies", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/cs_CZ/app_cs_CZ.arb b/lib/l10n/cs_CZ/app_cs_CZ.arb index 37150c8..a651f02 100644 --- a/lib/l10n/cs_CZ/app_cs_CZ.arb +++ b/lib/l10n/cs_CZ/app_cs_CZ.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Přidělit zásoby", "@allocateStock": {}, - "allocatedStock": "Přidělené zásoby", - "@allocatedStock": {}, "appReleaseNotes": "Zobrazit poznámky k verzi aplikace", "@appReleaseNotes": {}, "appSettings": "Nastavení aplikace", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Skenování čárových kódů pozastaveno", "@barodeScanPaused": {}, - "barcodeScanPause": "Kliknutím pozastavíte skenování", + "barcodeScanPause": "Klepnutím nebo podržením pozastavíte skenování", "@barcodeScanPause": {}, "barcodeScanAssign": "Skenovat pro přiřazení čárového kódu", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Společnosti", "@companies": {}, - "complete": "Dokončit", - "@complete": {}, - "completeOrder": "Dokončit objednávku", - "@completeOrder": {}, "completionDate": "Datum dokončení", "@completionDate": {}, "configureServer": "Konfigurace nastavení serveru", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Odstranění se nezdařilo", "@deleteFailed": {}, - "deleteImageConfirmation": "Opravdu chcete odstranit tento obrázek?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Smazat obrázek", - "@deleteImageTooltip": {}, - "deleteImage": "Smazat obrázek", - "@deleteImage": {}, "deletePart": "Odstranit díl", "@deletePart": {}, "deletePartDetail": "Odstranit tento díl z databáze", "@deletePartDetail": {}, "deleteSuccess": "Odstránění bylo úspěšné", "@deleteSuccess": {}, - "deliveryDate": "Datum dodání", - "@deliveryDate": {}, "description": "Popis", "@description": {}, "destination": "Místo určení", @@ -282,7 +268,7 @@ "@editItem": {}, "editLineItem": "Upravit položku", "@editLineItem": {}, - "email": "E-mail", + "email": "Mail", "@email": {}, "enterPassword": "Zadejte heslo", "@enterPassword": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Zobrazit tlačítko pro objednávku na domovské obrazovce", "@homeShowPoDescription": {}, - "homeShowShipments": "Zobrazit zásilky", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Zobrazit čekající zásilky na domovské stránce", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Zobrazit prodejní objednávky", "@homeShowSo": {}, "homeShowSoDescription": "Zobrazit tlačítko pro objednávku na domovské obrazovce", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Neplatné uživatelské jméno nebo heslo.", "@invalidUsernamePassword": {}, - "invoice": "Faktura", - "@invoice": {}, - "invoiceNumber": "Číslo faktury", - "@invoiceNumber": {}, "issue": "Vystavit", "@issue": {}, "issueDate": "Datum nahlášení", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Klíčová slova", "@keywords": {}, - "labelDriver": "Ovladač pro popisky", - "@labelDriver": {}, - "labelSelectDriver": "Vyberte ovladač pro tiskárnu štítků", - "@labelSelectDriver": {}, "labelPrinting": "Tisk štítku", "@labelPrinting": {}, "labelPrintingDetail": "Povolit tisk štítku", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Vytvořit nové skladové místo", "@locationCreateDetail": {}, - "locationDefault": "Výchozí umístění", - "@locationDefault": {}, "locationNotSet": "Není zadáno žádné umístění", "@locationNotSet": {}, "locationUpdated": "Skladové místo bylo aktualizováno", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Jméno", "@name": {}, - "no": "Ne", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Nepřipojeno", "@notConnected": {}, "notes": "Poznámky", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "Obrázek není k dispozici", "@noImageAvailable": {}, - "noPricingAvailable": "Žádné ceny nejsou k dispozici", - "@noPricingAvailable": {}, - "noPricingDataFound": "Pro tuto komponentu nebyly nalezeny žádné cenové údaje", - "@noPricingDataFound": {}, "noSubcategories": "Žádná podkategorie", "@noSubcategories": {}, "noSubcategoriesAvailable": "Žádné podkategorie nejsou k dispozici", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Heslo nemůže být prázdné", "@passwordEmpty": {}, - "pending": "Čekající", - "@pending": {}, "permissionAccountDenied": "Váš účet nemá potřebná oprávnění k provedení této akce", "@permissionAccountDenied": {}, "permissionRequired": "Vyžadováno oprávnění", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Hledat umístění", "@searchLocation": {}, - "searchOrderingField": "Pole pro řazení", - "@searchOrderingField": {}, - "searchOrderingDirection": "Směr řazení", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Vzestupně", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Sestupně", - "@searchOrderingDescending": {}, "searchParts": "Hledat díly", "@searchParts": {}, "searchStock": "Hledat zásoby", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server není vybrán", "@serverNotSelected": {}, - "shipment": "Zásilka", - "@shipment": {}, "shipments": "Dodávky", "@shipments": {}, - "shipmentsPending": "Čekající zásilky", - "@shipmentsPending": {}, "shipmentAdd": "Přidat dodávku", "@shipmentAdd": {}, - "shipmentCheck": "Zkontrolovat zásilku", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Označit tuto zásilku jako zkontrolovanou", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Zásilka zkontrolována", - "@shipmentChecked": {}, - "shipmentDate": "Datum odeslání", - "@shipmentDate": {}, - "shipmentEdit": "Upravit zásilku", - "@shipmentEdit": {}, - "shipmentReference": "Referenční číslo zásilky", - "@shipmentReference": {}, - "shipmentSend": "Odeslat zásilku", - "@shipmentSend": {}, - "shipmentUncheck": "Odznačit zásilku", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Označit tuto zásilku jako odznačenou", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Zásilka aktualizována", - "@shipmentUpdated": {}, "shipped": "Odesláno", "@shipped": {}, "sku": "Číslo zboží (SKU)", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Celková cena", "@totalPrice": {}, - "trackingNumber": "Sledovací číslo", - "@trackingNumber": {}, "transfer": "Převod", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Webová stránka", "@website": {}, - "yes": "Ano", - "@yes": {}, "price": "Cena", "@price": {}, "priceRange": "Cenový rozsah", @@ -1211,5 +1137,15 @@ "currency": "Měna", "@currency": {}, "priceBreaks": "Cena sleva", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "Žádné ceny nejsou k dispozici", + "@noPricingAvailable": {}, + "noPricingDataFound": "Pro tuto komponentu nebyly nalezeny žádné cenové údaje", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Opravdu chcete odstranit tento obrázek?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Smazat obrázek", + "@deleteImageTooltip": {}, + "deleteImage": "Smazat obrázek", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/da_DK/app_da_DK.arb b/lib/l10n/da_DK/app_da_DK.arb index c78e5e0..ee25a22 100644 --- a/lib/l10n/da_DK/app_da_DK.arb +++ b/lib/l10n/da_DK/app_da_DK.arb @@ -42,21 +42,19 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Firkantet (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Tildel lager", "@allocateStock": {}, - "allocatedStock": "Allokeret Lager", - "@allocatedStock": {}, "appReleaseNotes": "Vis app-udgivelsesnoter", "@appReleaseNotes": {}, "appSettings": "Appindstillinger", "@appSettings": {}, "appSettingsDetails": "Konfigurer InvenTree app-indstillinger", "@appSettingsDetails": {}, - "assignedToMe": "Tildelt til Mig", + "assignedToMe": "Assigned to Me", "@assignedToMe": {}, - "assignedToMeDetail": "Vis ordrer som er tildelt mig", + "assignedToMeDetail": "Show orders which are assigned to me", "@assignedToMeDetail": {}, "attachments": "Vedhæftede filer", "@attachments": {}, @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Stregkode skanning på pause", "@barodeScanPaused": {}, - "barcodeScanPause": "Tryk for at pause scanning", + "barcodeScanPause": "Tryk eller hold nede for at pause i skanningen", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan for at tildele stregkode", "@barcodeScanAssign": {}, @@ -112,136 +110,124 @@ "@barcodeScanControllerDetail": {}, "barcodeScanDelay": "Forsinkelse Af Stregkode", "@barcodeScanDelay": {}, - "barcodeScanDelayDetail": "Forsinkelse mellem stregkode scanninger", + "barcodeScanDelayDetail": "Delay between barcode scans", "@barcodeScanDelayDetail": {}, - "barcodeScanGeneral": "Scan en InvenTree stregkode", + "barcodeScanGeneral": "Scan an InvenTree barcode", "@barcodeScanGeneral": {}, - "barcodeScanInItems": "Scan lagervare ind på denne lokation", + "barcodeScanInItems": "Scan stock items into this location", "@barcodeScanInItems": {}, - "barcodeScanLocation": "Scan lager lokation", + "barcodeScanLocation": "Scan stock location", "@barcodeScanLocation": {}, - "barcodeScanSingle": "Enkelt Scan Tilstand", + "barcodeScanSingle": "Single Scan Mode", "@barcodeScanSingle": {}, - "barcodeScanSingleDetail": "Sæt stregkodeskanneren på pause efter hver scanning", + "barcodeScanSingleDetail": "Pause barcode scanner after each scan", "@barcodeScanSingleDetail": {}, - "barcodeScanIntoLocationSuccess": "Scannet ind i lokation", + "barcodeScanIntoLocationSuccess": "Scanned into location", "@barcodeScanIntoLocationSuccess": {}, - "barcodeScanIntoLocationFailure": "Element er ikke scannet ind", + "barcodeScanIntoLocationFailure": "Item not scanned in", "@barcodeScanIntoLocationFailure": {}, - "barcodeScanItem": "Scan lagervare", + "barcodeScanItem": "Scan stock item", "@barcodeScanItem": {}, - "barcodeTones": "Stregkodetoner", + "barcodeTones": "Barcode Tones", "@barcodeTones": {}, - "barcodeUnassign": "Frigiv Stregkode", + "barcodeUnassign": "Unassign Barcode", "@barcodeUnassign": {}, - "barcodeUnknown": "Stregkode ikke genkendt", + "barcodeUnknown": "Barcode is not recognized", "@barcodeUnknown": {}, - "batchCode": "Batch kode", + "batchCode": "Batch Code", "@batchCode": {}, - "billOfMaterials": "Stykliste", + "billOfMaterials": "Bill of Materials", "@billOfMaterials": {}, - "bom": "Stykliste", + "bom": "BOM", "@bom": {}, - "bomEnable": "Vis Stykliste", + "bomEnable": "Display Bill of Materials", "@bomEnable": {}, - "build": "Byg", + "build": "Build", "@build": {}, - "building": "Bygger", + "building": "Building", "@building": {}, - "cameraCreationError": "Kunne ikke åbne kameracontrolleren", + "cameraCreationError": "Could not open camera controller", "@cameraCreationError": {}, - "cameraInternal": "Internt Kamera", + "cameraInternal": "Internal Camera", "@cameraInternal": {}, - "cameraInternalDetail": "Brug internt kamera til at læse stregkoder", + "cameraInternalDetail": "Use internal camera to read barcodes", "@cameraInternalDetail": {}, - "cancel": "Annuller", + "cancel": "Cancel", "@cancel": { "description": "Cancel" }, - "cancelOrder": "Annuller ordre", + "cancelOrder": "Cancel Order", "@cancelOrder": {}, - "category": "Kategori", + "category": "Category", "@category": {}, - "categoryCreate": "Ny kategori", + "categoryCreate": "New Category", "@categoryCreate": {}, - "categoryCreateDetail": "Opret ny del kategori", + "categoryCreateDetail": "Create new part category", "@categoryCreateDetail": {}, - "categoryUpdated": "Del kategori opdateret", + "categoryUpdated": "Part category updated", "@categoryUpdated": {}, - "company": "Firma", + "company": "Company", "@company": {}, - "companyAdd": "Tilføj firma", + "companyAdd": "Add Company", "@companyAdd": {}, - "companyEdit": "Rediger virksomhed", + "companyEdit": "Edit Company", "@companyEdit": {}, - "companyNoResults": "Ingen virksomheder, der matcher forespørgsel", + "companyNoResults": "No companies matching query", "@companyNoResults": {}, - "companyUpdated": "Virksomhedsoplysninger opdateret", + "companyUpdated": "Company details updated", "@companyUpdated": {}, - "companies": "Firmaer", + "companies": "Companies", "@companies": {}, - "complete": "Færdiggjort", - "@complete": {}, - "completeOrder": "Fuldfør ordre", - "@completeOrder": {}, - "completionDate": "Færdiggørelsesdato", + "completionDate": "Completion Date", "@completionDate": {}, - "configureServer": "Konfigurer serverindstillinger", + "configureServer": "Configure server settings", "@configureServer": {}, - "confirmScan": "Bekræft overførsel", + "confirmScan": "Confirm Transfer", "@confirmScan": {}, - "confirmScanDetail": "Bekræft lageroverførsel detaljer ved scanning stregkoder", + "confirmScanDetail": "Confirm stock transfer details when scanning barcodes", "@confirmScanDetail": {}, - "connectionRefused": "Forbindelse Afvist", + "connectionRefused": "Connection Refused", "@connectionRefused": {}, - "count": "Antal", + "count": "Count", "@count": { "description": "Count" }, - "countStock": "Tæl Lager", + "countStock": "Count Stock", "@countStock": { "description": "Count Stock" }, - "credits": "Anerkendelser", + "credits": "Credits", "@credits": {}, - "crop": "Beskær", + "crop": "Crop", "@crop": {}, - "cropImage": "Beskær billede", + "cropImage": "Crop Image", "@cropImage": {}, - "customer": "Kunde", + "customer": "Customer", "@customer": {}, - "customers": "Kunder", + "customers": "Customers", "@customers": {}, - "customerReference": "Kundens Reference", + "customerReference": "Customer Reference", "@customerReference": {}, - "damaged": "Beskadiget", + "damaged": "Damaged", "@damaged": {}, - "colorScheme": "Farveskema", + "colorScheme": "Color Scheme", "@colorScheme": {}, - "colorSchemeDetail": "Vælg farveskema", + "colorSchemeDetail": "Select color scheme", "@colorSchemeDetail": {}, - "darkMode": "Mørk tilstand", + "darkMode": "Dark Mode", "@darkMode": {}, - "darkModeEnable": "Aktiver mørk tilstand", + "darkModeEnable": "Enable dark mode", "@darkModeEnable": {}, - "delete": "Slet", + "delete": "Delete", "@delete": {}, - "deleteFailed": "Sletning fejlede", + "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Er du sikker på at du vil slette dette billede?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Slet billede", - "@deleteImageTooltip": {}, - "deleteImage": "Slet billede", - "@deleteImage": {}, - "deletePart": "Slet Del", + "deletePart": "Delete Part", "@deletePart": {}, - "deletePartDetail": "Fjern denne del fra databasen", + "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Sletning lykkedes", "@deleteSuccess": {}, - "deliveryDate": "Leveringsdato", - "@deliveryDate": {}, "description": "Beskrivelse", "@description": {}, "destination": "Destination", @@ -254,9 +240,9 @@ }, "documentation": "Dokumentation", "@documentation": {}, - "downloadComplete": "Download fuldført", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "Fejl ved download af billede", + "downloadError": "Error downloading image", "@downloadError": {}, "downloading": "Overfører fil", "@downloading": {}, @@ -264,7 +250,7 @@ "@edit": { "description": "edit" }, - "editAttachment": "Rediger Vedhæftning", + "editAttachment": "Edit Attachment", "@editAttachment": {}, "editCategory": "Rediger kategori", "@editCategory": {}, @@ -282,91 +268,91 @@ "@editItem": {}, "editLineItem": "Rediger Linjeelement", "@editLineItem": {}, - "email": "E-mail", + "email": "Email", "@email": {}, "enterPassword": "Indtast adgangskode", "@enterPassword": {}, "enterUsername": "Indtast brugernavn", "@enterUsername": {}, - "error": "Fejl", + "error": "Error", "@error": { "description": "Error" }, - "errorCreate": "Fejl under oprettelse af database post", + "errorCreate": "Error creating database entry", "@errorCreate": {}, - "errorDelete": "Fejl ved sletning af databasepost", + "errorDelete": "Error deleting database entry", "@errorDelete": {}, - "errorDetails": "Fejldetaljer", + "errorDetails": "Error Details", "@errorDetails": {}, - "errorFetch": "Fejl ved hentning af data fra server", + "errorFetch": "Error fetching data from server", "@errorFetch": {}, - "errorUserRoles": "Fejl ved forespørgsel af brugerroller fra server", + "errorUserRoles": "Error requesting user roles from server", "@errorUserRoles": {}, - "errorPluginInfo": "Fejl ved forespørgsel af plugin data fra server", + "errorPluginInfo": "Error requesting plugin data from server", "@errorPluginInfo": {}, - "errorReporting": "Fejlrapportering", + "errorReporting": "Error Reporting", "@errorReporting": {}, - "errorReportUpload": "Upload Fejlrapporter", + "errorReportUpload": "Upload Error Reports", "@errorReportUpload": {}, - "errorReportUploadDetails": "Upload anonyme fejlrapporter og nedbrudslogs", + "errorReportUploadDetails": "Upload anonymous error reports and crash logs", "@errorReportUploadDetails": {}, - "expiryDate": "Udløbsdato", + "expiryDate": "Expiry Date", "@expiryDate": {}, - "expiryExpired": "Udløbet", + "expiryExpired": "Expired", "@expiryExpired": {}, - "expiryStale": "Forældet", + "expiryStale": "Stale", "@expiryStale": {}, - "extraLineItem": "Ekstra linjepost", + "extraLineItem": "Extra Line Item", "@extraLineItem": {}, - "extraLineItems": "Ekstra linjeposter", + "extraLineItems": "Extra Line Items", "@extraLineItems": {}, "feedback": "Feedback", "@feedback": {}, - "feedbackError": "Indsendelse af feedback mislykkedes", + "feedbackError": "Error submitting feedback", "@feedbackError": {}, - "feedbackSuccess": "Feedback indsendt", + "feedbackSuccess": "Feedback submitted", "@feedbackSuccess": {}, "filterActive": "Aktiv", "@filterActive": {}, - "filterActiveDetail": "Vis aktive dele", + "filterActiveDetail": "Show active parts", "@filterActiveDetail": {}, - "filterAssembly": "Samlede", + "filterAssembly": "Assembled", "@filterAssembly": {}, - "filterAssemblyDetail": "Vis samledele", + "filterAssemblyDetail": "Show assembled parts", "@filterAssemblyDetail": {}, - "filterComponent": "Komponent", + "filterComponent": "Component", "@filterComponent": {}, - "filterComponentDetail": "Vis komponentdele", + "filterComponentDetail": "Show component parts", "@filterComponentDetail": {}, - "filterExternal": "Ekstern", + "filterExternal": "External", "@filterExternal": {}, - "filterExternalDetail": "Vis lager på eksterne lokationer", + "filterExternalDetail": "Show stock in external locations", "@filterExternalDetail": {}, "filterInStock": "På Lager", "@filterInStock": {}, - "filterInStockDetail": "Vis dele som har lagerbeholdning", + "filterInStockDetail": "Show parts which have stock", "@filterInStockDetail": {}, - "filterSerialized": "Serialiseret", + "filterSerialized": "Serialized", "@filterSerialized": {}, - "filterSerializedDetail": "Vis serialiserede lagervarer", + "filterSerializedDetail": "Show serialized stock items", "@filterSerializedDetail": {}, - "filterTemplate": "Skabelon", + "filterTemplate": "Template", "@filterTemplate": {}, - "filterTemplateDetail": "Vis skabelon dele", + "filterTemplateDetail": "Show template parts", "@filterTemplateDetail": {}, - "filterTrackable": "Sporbar", + "filterTrackable": "Trackable", "@filterTrackable": {}, - "filterTrackableDetail": "Vis sporbare dele", + "filterTrackableDetail": "Show trackable parts", "@filterTrackableDetail": {}, "filterVirtual": "Virtuel", "@filterVirtual": {}, - "filterVirtualDetail": "Vis virtuelle dele", + "filterVirtualDetail": "Show virtual parts", "@filterVirtualDetail": {}, - "filteringOptions": "Filtreringsindstillinger", + "filteringOptions": "Filtering Options", "@filteringOptions": {}, - "formatException": "Format Undtagelse", + "formatException": "Format Exception", "@formatException": {}, - "formatExceptionJson": "Undtagelse fra JSON-dataformat", + "formatExceptionJson": "JSON data format exception", "@formatExceptionJson": {}, "formError": "Formular Fejl", "@formError": {}, @@ -384,51 +370,47 @@ "@homeShowPo": {}, "homeShowPoDescription": "Vis indkøbsordreknap på startskærmen", "@homeShowPoDescription": {}, - "homeShowShipments": "Vis Forsendelser", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Vis afventende forsendelser på startskærmen", - "@homeShowShipmentsDescription": {}, - "homeShowSo": "Vis Salgs ordrer", + "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, - "homeShowSoDescription": "Vis salgsknap på startskærmen", + "homeShowSoDescription": "Show sales order button on home screen", "@homeShowSoDescription": {}, - "homeShowSubscribed": "Abonnerede Dele", + "homeShowSubscribed": "Subscribed Parts", "@homeShowSubscribed": {}, - "homeShowSubscribedDescription": "Vis abonnerede dele på startskærmen", + "homeShowSubscribedDescription": "Show subscribed parts on home screen", "@homeShowSubscsribedDescription": {}, "homeShowSuppliers": "Vis Leverandører", "@homeShowSuppliers": {}, - "homeShowSuppliersDescription": "Vis leverandørknap på startskærmen", + "homeShowSuppliersDescription": "Show suppliers button on home screen", "@homeShowSupplierDescription": {}, - "homeShowManufacturers": "Vis Producenter", + "homeShowManufacturers": "Show Manufacturers", "@homeShowManufacturers": {}, - "homeShowManufacturersDescription": "Vis producent-knap på startskærmen", + "homeShowManufacturersDescription": "Show manufacturers button on home screen", "@homeShowManufacturersDescription": {}, - "homeShowCustomers": "Vis Kunder", + "homeShowCustomers": "Show Customers", "@homeShowCustomers": {}, - "homeShowCustomersDescription": "Vis kunde-knap på startskærmen", + "homeShowCustomersDescription": "Show customers button on home screen", "@homeShowCustomersDescription": {}, - "imageUploadFailure": "Upload af billede fejlede", + "imageUploadFailure": "Image upload failed", "@imageUploadFailure": {}, - "imageUploadSuccess": "Billede uploadet", + "imageUploadSuccess": "Image uploaded", "@imageUploadSuccess": {}, "inactive": "Inaktiv", "@inactive": {}, - "inactiveCompany": "Virksomheden er markeret som inaktiv", + "inactiveCompany": "This company is marked as inactive", "@inactiveCompany": {}, - "inactiveDetail": "Denne del er markeret som inaktiv", + "inactiveDetail": "This part is marked as inactive", "@inactiveDetail": {}, - "includeSubcategories": "Inkluder underkategorier", + "includeSubcategories": "Include Subcategories", "@includeSubcategories": {}, - "includeSubcategoriesDetail": "Vis resultater fra underkategorier", + "includeSubcategoriesDetail": "Show results from subcategories", "@includeSubcategoriesDetail": {}, - "includeSublocations": "Inkluder underlokationer", + "includeSublocations": "Include Sublocations", "@includeSublocations": {}, - "includeSublocationsDetail": "Vis resultater fra underkategorier", + "includeSublocationsDetail": "Show results from sublocations", "@includeSublocationsDetail": {}, - "incompleteDetails": "Ukomplette profiloplysninger", + "incompleteDetails": "Incomplete profile details", "@incompleteDetails": {}, - "internalPartNumber": "Internt Delnummer", + "internalPartNumber": "Internal Part Number", "@internalPartNumber": {}, "info": "Info", "@info": {}, @@ -438,9 +420,9 @@ "@inProductionDetail": {}, "internalPart": "Intern Del", "@internalPart": {}, - "invalidHost": "Ugyldigt hostnavn", + "invalidHost": "Invalid hostname", "@invalidHost": {}, - "invalidHostDetails": "Det angivne hostnavn er ikke gyldigt", + "invalidHostDetails": "Provided hostname is not valid", "@invalidHostDetails": {}, "invalidPart": "Ugyldig Del", "@invalidPart": {}, @@ -454,762 +436,716 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Ugyldigt brugernavn/adgangskode-kombination", "@invalidUsernamePassword": {}, - "invoice": "Faktura", - "@invoice": {}, - "invoiceNumber": "Fakturanummer", - "@invoiceNumber": {}, - "issue": "Problem", + "issue": "Issue", "@issue": {}, - "issueDate": "Udstedelsesdato", + "issueDate": "Issue Date", "@issueDate": {}, - "issueOrder": "Udstede Ordre", + "issueOrder": "Issue Order", "@issueOrder": {}, - "itemInLocation": "Element allerede på placering", + "itemInLocation": "Item already in location", "@itemInLocation": {}, - "itemDeleted": "Element er blevet fjernet", + "itemDeleted": "Item has been removed", "@itemDeleted": {}, - "itemUpdated": "Element opdateret", + "itemUpdated": "Item updated", "@itemUpdated": {}, - "keywords": "Nøgleord", + "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Vælg Label Printer Driver", - "@labelSelectDriver": {}, - "labelPrinting": "Label Udskriver", + "labelPrinting": "Label Printing", "@labelPrinting": {}, - "labelPrintingDetail": "Aktiver label udskrivning", + "labelPrintingDetail": "Enable label printing", "@labelPrintingDetail": {}, - "labelTemplate": "Label Skabelon", + "labelTemplate": "Label Template", "@labelTemplate": {}, - "labelSelectTemplate": "Vælg Label Skabelon", + "labelSelectTemplate": "Select Label Template", "@labelSelectTemplate": {}, - "labelSelectPrinter": "Vælg Label Printer", + "labelSelectPrinter": "Select Label Printer", "@labelSelectPrinter": {}, - "language": "Sprog", + "language": "Language", "@language": {}, - "languageDefault": "Standard systemsprog", + "languageDefault": "Default system language", "@languageDefault": {}, - "languageSelect": "Vælg sprog", + "languageSelect": "Select Language", "@languageSelect": {}, - "lastStocktake": "Sidste lageroptagelse", + "lastStocktake": "Last Stocktake", "@lastStocktake": {}, - "lastUpdated": "Senest opdateret", + "lastUpdated": "Last Updated", "@lastUpdated": {}, - "level": "Niveau", + "level": "Level", "@level": {}, - "lineItemAdd": "Tilføj Linjeelement", + "lineItemAdd": "Add Line Item", "@lineItemAdd": {}, - "lineItem": "Linje Element", + "lineItem": "Line Item", "@lineItem": {}, - "lineItems": "Linjeelementer", + "lineItems": "Line Items", "@lineItems": {}, - "lineItemUpdated": "Linje element opdateret", + "lineItemUpdated": "Line item updated", "@lineItemUpdated": {}, - "locateItem": "Find lagervare", + "locateItem": "Locate stock item", "@locateItem": {}, - "locateLocation": "Find lager lokation", + "locateLocation": "Locate stock location", "@locateLocation": {}, - "locationCreate": "Ny lokation", + "locationCreate": "New Location", "@locationCreate": {}, - "locationCreateDetail": "Opret ny lagerlokation", + "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Standard lokation", - "@locationDefault": {}, - "locationNotSet": "Ingen lokation specificeret", + "locationNotSet": "No location specified", "@locationNotSet": {}, - "locationUpdated": "Lager lokation opdateret", + "locationUpdated": "Stock location updated", "@locationUpdated": {}, - "login": "Log ind", + "login": "Login", "@login": {}, - "loginEnter": "Indtast login detaljer", + "loginEnter": "Enter login details", "@loginEnter": {}, - "loginEnterDetails": "Brugernavn og adgangskode er ikke gemt lokalt", + "loginEnterDetails": "Username and password are not stored locally", "@loginEnterDetails": {}, "link": "Link", "@link": {}, - "lost": "Mistet", + "lost": "Lost", "@lost": {}, - "manufacturerPart": "Producent Del", + "manufacturerPart": "Manufacturer Part", "@manufacturerPart": {}, - "manufacturerPartEdit": "Rediger Producent Del", + "manufacturerPartEdit": "Edit Manufacturer Part", "@manufacturerPartEdit": {}, - "manufacturerPartNumber": "Producent Delnummer", + "manufacturerPartNumber": "Manufacturer Part Number", "@manufacturerPartNumber": {}, - "manufacturer": "Producent", + "manufacturer": "Manufacturer", "@manufacturer": {}, - "manufacturers": "Producenter", + "manufacturers": "Manufacturers", "@manufacturers": {}, - "missingData": "Mangler data", + "missingData": "Missing Data", "@missingData": {}, - "name": "Navn", + "name": "Name", "@name": {}, - "no": "Nej", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, - "notConnected": "Ikke Forbundet", + "notConnected": "Not Connected", "@notConnected": {}, - "notes": "Noter", + "notes": "Notes", "@notes": { "description": "Notes" }, - "notifications": "Notifikationer", + "notifications": "Notifications", "@notifications": {}, - "notificationsEmpty": "Ingen ulæste notifikationer", + "notificationsEmpty": "No unread notifications", "@notificationsEmpty": {}, - "noResponse": "Intet svar fra server", + "noResponse": "No Response from Server", "@noResponse": {}, - "noResults": "Ingen Resultater", + "noResults": "No Results", "@noResults": {}, - "noImageAvailable": "Intet billede tilgængeligt", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "Ingen priser tilgængelig", - "@noPricingAvailable": {}, - "noPricingDataFound": "Ingen prisdata fundet for denne del", - "@noPricingDataFound": {}, - "noSubcategories": "Ingen Underkategorier", + "noSubcategories": "No Subcategories", "@noSubcategories": {}, - "noSubcategoriesAvailable": "Ingen underkategorier tilgængelige", + "noSubcategoriesAvailable": "No subcategories available", "@noSubcategoriesAvailable": {}, - "numberInvalid": "Ugyldigt nummer", + "numberInvalid": "Invalid number", "@numberInvalid": {}, - "onOrder": "På bestilling", + "onOrder": "On Order", "@onOrder": {}, - "onOrderDetails": "Elementer i øjeblikket på ordre", + "onOrderDetails": "Items currently on order", "@onOrderDetails": {}, - "orientation": "Skærm Orientering", + "orientation": "Screen Orientation", "@orientation": {}, - "orientationDetail": "Skærm orientering (kræver genstart)", + "orientationDetail": "Screen orientation (requires restart)", "@orientationDetail": {}, - "orientationLandscape": "Landskab", + "orientationLandscape": "Landscape", "@orientationLandscape": {}, - "orientationPortrait": "Portræt", + "orientationPortrait": "Portrait", "@orientationPortrait": {}, "orientationSystem": "System", "@orientationSystem": {}, - "outstanding": "Udestående", + "outstanding": "Outstanding", "@outstanding": {}, - "outstandingOrderDetail": "Vis udestående ordrer", + "outstandingOrderDetail": "Show outstanding orders", "@outstandingOrderDetail": {}, - "overdue": "Overskredet", + "overdue": "Overdue", "@overdue": {}, - "overdueDetail": "Vis forfaldne ordre", + "overdueDetail": "Show overdue orders", "@overdueDetail": {}, - "packaging": "Emballage", + "packaging": "Packaging", "@packaging": {}, - "packageName": "Pakkenavn", + "packageName": "Package Name", "@packageName": {}, - "parameters": "Parametre", + "parameters": "Parameters", "@parameters": {}, - "parametersSettingDetail": "Vis delparametre", + "parametersSettingDetail": "Display part parameters", "@parametersSettingDetail": {}, - "parent": "Overordnet", + "parent": "Parent", "@parent": {}, - "parentCategory": "Overordnet kategori", + "parentCategory": "Parent Category", "@parentCategory": {}, - "parentLocation": "Overordnet Placering", + "parentLocation": "Parent Location", "@parentLocation": {}, - "part": "Del", + "part": "Part", "@part": { "description": "Part (single)" }, - "partCreate": "Ny Del", + "partCreate": "New Part", "@partCreate": {}, - "partCreateDetail": "Opret ny del i denne kategori", + "partCreateDetail": "Create new part in this category", "@partCreateDetail": {}, - "partEdited": "Del opdateret", + "partEdited": "Part updated", "@partEdited": {}, - "parts": "Dele", + "parts": "Parts", "@parts": { "description": "Part (multiple)" }, - "partNotSalable": "Del ikke markeret som salgbart", + "partNotSalable": "Part not marked as salable", "@partNotSalable": {}, - "partsNone": "Ingen Dele", + "partsNone": "No Parts", "@partsNone": {}, - "partNoResults": "Ingen dele matcher forespørgsel", + "partNoResults": "No parts matching query", "@partNoResults": {}, - "partPricing": "Del Prisfastsættelse", + "partPricing": "Part Pricing", "@partPricing": {}, - "partPricingSettingDetail": "Vis delprisinformation", + "partPricingSettingDetail": "Display part pricing information", "@pricingSettingDetail": {}, - "partSettings": "Del Indstillinger", + "partSettings": "Part Settings", "@partSettings": {}, - "partsStarred": "Abonnerede Dele", + "partsStarred": "Subscribed Parts", "@partsStarred": {}, - "partsStarredNone": "Ingen markerede dele til rådighed", + "partsStarredNone": "No starred parts available", "@partsStarredNone": {}, - "partSuppliers": "Del Leverandører", + "partSuppliers": "Part Suppliers", "@partSuppliers": {}, - "partCategory": "Del Kategori", + "partCategory": "Part Category", "@partCategory": {}, - "partCategoryTopLevel": "Top niveau del kategori", + "partCategoryTopLevel": "Top level part category", "@partCategoryTopLevel": {}, - "partCategories": "Del Kategorier", + "partCategories": "Part Categories", "@partCategories": {}, - "partDetails": "Del Detaljer", + "partDetails": "Part Details", "@partDetails": {}, - "partNotes": "Del Noter", + "partNotes": "Part Notes", "@partNotes": {}, - "partStock": "Del Lagerbeholdning", + "partStock": "Part Stock", "@partStock": { "description": "part stock" }, - "password": "Adgangskode", + "password": "Password", "@password": {}, - "passwordEmpty": "Adgangskode kan ikke være tom", + "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Afventende", - "@pending": {}, - "permissionAccountDenied": "Din konto har ikke de nødvendige tilladelser til at udføre denne handling", + "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, - "permissionRequired": "Tilladelse påkrævet", + "permissionRequired": "Permission Required", "@permissionRequired": {}, - "phone": "Telefon", + "phone": "Phone", "@phone": {}, - "printLabel": "Udskriv label", + "printLabel": "Print Label", "@printLabel": {}, "plugin": "Plugin", "@plugin": {}, "pluginPrinter": "Printer", "@pluginPrinter": {}, - "pluginSupport": "Plugin Support Aktiveret", + "pluginSupport": "Plugin Support Enabled", "@pluginSupport": {}, - "pluginSupportDetail": "Serveren understøtter brugerdefinerede plugins", + "pluginSupportDetail": "The server supports custom plugins", "@pluginSupportDetail": {}, - "printLabelFailure": "Label udskrivning mislykkedes", + "printLabelFailure": "Label printing failed", "@printLabelFailure": {}, - "printLabelSuccess": "Label sendt til printer", + "printLabelSuccess": "Label sent to printer", "@printLabelSuccess": {}, - "profile": "Profil", + "profile": "Profile", "@profile": {}, - "profileAdd": "Tilføj Serverprofil", + "profileAdd": "Add Server Profile", "@profileAdd": {}, - "profileConnect": "Opretter forbindelse til server", + "profileConnect": "Connect to Server", "@profileConnect": {}, - "profileEdit": "Rediger serverprofil", + "profileEdit": "Edit Server Profile", "@profileEdit": {}, - "profileDelete": "Slet Server Profil", + "profileDelete": "Delete Server Profile", "@profileDelete": {}, - "profileLogout": "Log Af Profil", + "profileLogout": "Logout Profile", "@profileLogout": {}, - "profileName": "Profilnavn", + "profileName": "Profile Name", "@profileName": {}, - "profileNone": "Ingen profiler til rådighed", + "profileNone": "No profiles available", "@profileNone": {}, - "profileNotSelected": "Ingen Profil Valgt", + "profileNotSelected": "No Profile Selected", "@profileNotSelected": {}, - "profileSelect": "Vælg InvenTree Server", + "profileSelect": "Select InvenTree Server", "@profileSelect": {}, - "profileSelectOrCreate": "Vælg server eller opret ny profil", + "profileSelectOrCreate": "Select server or create a new profile", "@profileSelectOrCreate": {}, - "profileTapToCreate": "Tryk for at oprette eller vælge en profil", + "profileTapToCreate": "Tap to create or select a profile", "@profileTapToCreate": {}, - "projectCode": "Projektkode", + "projectCode": "Project Code", "@projectCode": {}, - "purchaseOrderConfirmScan": "Bekræft Scanningsdata", + "purchaseOrderConfirmScan": "Confirm Scan Data", "@purchaseOrderConfirmScan": {}, - "purchaseOrderConfirmScanDetail": "Bekræft detaljer ved ind scanning af elementer", + "purchaseOrderConfirmScanDetail": "Confirm details when scanning in items", "@purchaseOrderConfirmScanDetail": {}, - "purchaseOrderEnable": "Aktive Indkøbsordrer", + "purchaseOrderEnable": "Enable Purchase Orders", "@purchaseOrderEnable": {}, - "purchaseOrderEnableDetail": "Aktiver salgsordre funktionalitet", + "purchaseOrderEnableDetail": "Enable purchase order functionality", "@purchaseOrderEnableDetail": {}, - "purchaseOrderShowCamera": "Genvej Til Kamera", + "purchaseOrderShowCamera": "Camera Shortcut", "@purchaseOrderShowCamera": {}, - "purchaseOrderShowCameraDetail": "Aktiver genvej til billedupload på købsordre skærmen", + "purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen", "@purchaseOrderShowCameraDetail": {}, - "purchaseOrder": "Købsordre", + "purchaseOrder": "Purchase Order", "@purchaseOrder": {}, - "purchaseOrderCreate": "Ny købsordre", + "purchaseOrderCreate": "New Purchase Order", "@purchaseOrderCreate": {}, - "purchaseOrderEdit": "Rediger Købsordre", + "purchaseOrderEdit": "Edit Purchase Order", "@purchaseOrderEdit": {}, - "purchaseOrderSettings": "Indstillinger for indkøbsordre", + "purchaseOrderSettings": "Purchase order settings", "@purchaseOrderSettings": {}, - "purchaseOrders": "Indkøbsordrer", + "purchaseOrders": "Purchase Orders", "@purchaseOrders": {}, - "purchaseOrderUpdated": "Købsordre opdateret", + "purchaseOrderUpdated": "Purchase order updated", "@purchaseOrderUpdated": {}, - "purchasePrice": "Købspris", + "purchasePrice": "Purchase Price", "@purchasePrice": {}, - "quantity": "Antal", + "quantity": "Quantity", "@quantity": { "description": "Quantity" }, - "quantityAvailable": "Antal Tilgængelig", + "quantityAvailable": "Quantity Available", "@quantityAvailable": {}, - "quantityEmpty": "Antal er tomt", + "quantityEmpty": "Quantity is empty", "@quantityEmpty": {}, - "quantityInvalid": "Antal er ugyldigt", + "quantityInvalid": "Quantity is invalid", "@quantityInvalid": {}, - "quantityPositive": "Antallet skal være positivt", + "quantityPositive": "Quantity must be positive", "@quantityPositive": {}, - "queryEmpty": "Indtast søgestreng", + "queryEmpty": "Enter search query", "@queryEmpty": {}, - "queryNoResults": "Ingen resultater fundet", + "queryNoResults": "No results for query", "@queryNoResults": {}, - "received": "Modtaget", + "received": "Received", "@received": {}, - "receivedFilterDetail": "Vis modtagne elementer", + "receivedFilterDetail": "Show received items", "@receivedFilterDetail": {}, - "receiveItem": "Modtage Element", + "receiveItem": "Receive Item", "@receiveItem": {}, - "receivedItem": "Modtaget Lagervare", + "receivedItem": "Received Stock Item", "@receivedItem": {}, "reference": "Reference", "@reference": {}, - "refresh": "Genindlæs", + "refresh": "Refresh", "@refresh": {}, - "rotateClockwise": "Roter 90° med uret", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, - "refreshing": "Genindlæser", + "refreshing": "Refreshing", "@refreshing": {}, - "rejected": "Afvist", + "rejected": "Rejected", "@rejected": {}, "releaseNotes": "Release Notes", "@releaseNotes": {}, - "remove": "Fjern", + "remove": "Remove", "@remove": { "description": "remove" }, - "removeStock": "Fjern Lagervarer", + "removeStock": "Remove Stock", "@removeStock": { "description": "remove stock" }, - "reportBug": "Rapporter fejl", + "reportBug": "Report Bug", "@reportBug": {}, - "reportBugDescription": "Indsend fejlrapport (kræver GitHub konto)", + "reportBugDescription": "Submit bug report (requires GitHub account)", "@reportBugDescription": {}, - "responsible": "Ansvarlig", + "responsible": "Responsible", "@responsible": {}, - "results": "Resultater", + "results": "Results", "@results": {}, - "request": "Anmodning", + "request": "Request", "@request": {}, - "requestFailed": "Anmodning fejlede", + "requestFailed": "Request Failed", "@requestFailed": {}, - "requestSuccessful": "Anmodning succesfuld", + "requestSuccessful": "Request successful", "@requestSuccessful": {}, - "requestingData": "Anmoder Data", + "requestingData": "Requesting Data", "@requestingData": {}, - "required": "Påkrævet", + "required": "Required", "@required": { "description": "This field is required" }, - "response400": "Dårlig anmodning", + "response400": "Bad Request", "@response400": {}, - "response401": "Uautoriseret", + "response401": "Unauthorized", "@response401": {}, - "response403": "Adgang nægtet", + "response403": "Permission Denied", "@response403": {}, - "response404": "Ressource Ikke Fundet", + "response404": "Resource Not Found", "@response404": {}, - "response405": "Metode ikke tilladt", + "response405": "Method Not Allowed", "@response405": {}, - "response429": "For Mange Anmodninger", + "response429": "Too Many Requests", "@response429": {}, - "response500": "Intern serverfejl", + "response500": "Internal Server Error", "@response500": {}, - "response501": "Ikke implementeret", + "response501": "Not Implemented", "@response501": {}, - "response502": "Dårlig Gateway", + "response502": "Bad Gateway", "@response502": {}, - "response503": "Service er utilgængelig", + "response503": "Service Unavailable", "@response503": {}, "response504": "Gateway Timeout", "@response504": {}, - "response505": "HTTP-version understøttes ikke", + "response505": "HTTP Version Not Supported", "@response505": {}, - "responseData": "Svardata", + "responseData": "Response data", "@responseData": {}, - "responseInvalid": "Ugyldig Svar Kode", + "responseInvalid": "Invalid Response Code", "@responseInvalid": {}, - "responseUnknown": "Ukendt Svar", + "responseUnknown": "Unknown Response", "@responseUnknown": {}, - "result": "Resultat", + "result": "Result", "@result": { "description": "" }, - "returned": "Returneret", + "returned": "Returned", "@returned": {}, - "salesOrder": "Salgsordrer", + "salesOrder": "Sales Order", "@salesOrder": {}, - "salesOrders": "Salgsordrer", + "salesOrders": "Sales Orders", "@salesOrders": {}, - "salesOrderEnable": "Aktiver Salgsordrer", + "salesOrderEnable": "Enable Sales Orders", "@salesOrderEnable": {}, - "salesOrderEnableDetail": "Aktiver salgsordre funktionalitet", + "salesOrderEnableDetail": "Enable sales order functionality", "@salesOrderEnableDetail": {}, - "salesOrderShowCamera": "Genvej Til Kamera", + "salesOrderShowCamera": "Camera Shortcut", "@salesOrderShowCamera": {}, - "salesOrderShowCameraDetail": "Aktiver genvej til billedupload til salgsordre på skærmen", + "salesOrderShowCameraDetail": "Enable image upload shortcut on sales order screen", "@salesOrderShowCameraDetail": {}, - "salesOrderSettings": "Indstillinger for salgsordre", + "salesOrderSettings": "Sales order settings", "@salesOrderSettings": {}, - "salesOrderCreate": "Ny salgsordre", + "salesOrderCreate": "New Sales Order", "@saleOrderCreate": {}, - "salesOrderEdit": "Rediger Salgsordre", + "salesOrderEdit": "Edit Sales Order", "@salesOrderEdit": {}, - "salesOrderUpdated": "Salgs ordre opdateret", + "salesOrderUpdated": "Sales order updated", "@salesOrderUpdated": {}, - "save": "Gem", + "save": "Save", "@save": { "description": "Save" }, - "scanBarcode": "Scan stregkode", + "scanBarcode": "Scan Barcode", "@scanBarcode": {}, - "scanSupplierPart": "Scan leverandørdel stregkode", + "scanSupplierPart": "Scan supplier part barcode", "@scanSupplierPart": {}, - "scanIntoLocation": "Scan Til Placering", + "scanIntoLocation": "Scan Into Location", "@scanIntoLocation": {}, - "scanIntoLocationDetail": "Skan dette element til placering", + "scanIntoLocationDetail": "Scan this item into location", "@scanIntoLocationDetail": {}, - "scannerExternal": "Ekstern Scanner", + "scannerExternal": "External Scanner", "@scannerExternal": {}, - "scannerExternalDetail": "Brug ekstern scanner til at læse stregkoder (kiletilstand)", + "scannerExternalDetail": "Use external scanner to read barcodes (wedge mode)", "@scannerExternalDetail": {}, - "scanReceivedParts": "Scan Modtagne Dele", + "scanReceivedParts": "Scan Received Parts", "@scanReceivedParts": {}, - "search": "Søg", + "search": "Search", "@search": { "description": "search" }, - "searching": "Søger", + "searching": "Searching", "@searching": {}, - "searchLocation": "Søg efter lokation", + "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, - "searchParts": "Søg efter dele", + "searchParts": "Search Parts", "@searchParts": {}, - "searchStock": "Søg Lager", + "searchStock": "Search Stock", "@searchStock": {}, - "select": "Vælg", + "select": "Select", "@select": {}, - "selectFile": "Vælg fil", + "selectFile": "Select File", "@selectFile": {}, - "selectImage": "Vælg billede", + "selectImage": "Select Image", "@selectImage": {}, - "selectLocation": "Vælg en placering", + "selectLocation": "Select a location", "@selectLocation": {}, "send": "Send", "@send": {}, - "serialNumber": "Serienummer", + "serialNumber": "Serial Number", "@serialNumber": {}, - "serialNumbers": "Serienummer", + "serialNumbers": "Serial Numbers", "@serialNumbers": {}, "server": "Server", "@server": {}, - "serverAddress": "Serveradresse", + "serverAddress": "Server Address", "@serverAddress": {}, - "serverApiRequired": "Kræver API-version", + "serverApiRequired": "Required API Version", "@serverApiRequired": {}, "serverApiVersion": "Server API Version", "@serverApiVersion": {}, - "serverAuthenticationError": "Autentificeringsfejl", + "serverAuthenticationError": "Authentication Error", "@serverAuthenticationError": {}, - "serverCertificateError": "Certifikatfejl", + "serverCertificateError": "Cerficate Error", "@serverCertificateError": {}, - "serverCertificateInvalid": "Server HTTPS certifikat er ugyldigt", + "serverCertificateInvalid": "Server HTTPS certificate is invalid", "@serverCertificateInvalid": {}, - "serverConnected": "Forbundet til server", + "serverConnected": "Connected to Server", "@serverConnected": {}, - "serverConnecting": "Opretter forbindelse til server", + "serverConnecting": "Connecting to server", "@serverConnecting": {}, - "serverCouldNotConnect": "Kunne ikke forbinde til server", + "serverCouldNotConnect": "Could not connect to server", "@serverCouldNotConnect": {}, - "serverEmpty": "Serveren kan ikke være tom", + "serverEmpty": "Server cannot be empty", "@serverEmpty": {}, - "serverError": "Serverfejl", + "serverError": "Server Error", "@serverError": {}, - "serverDetails": "Server detaljer", + "serverDetails": "Server Details", "@serverDetails": {}, - "serverMissingData": "Server svar mangler obligatoriske felter", + "serverMissingData": "Server response missing required fields", "@serverMissingData": {}, - "serverOld": "Gammel Server Version", + "serverOld": "Old Server Version", "@serverOld": {}, - "serverSettings": "Server indstillinger", + "serverSettings": "Server Settings", "@serverSettings": {}, - "serverStart": "Server skal starte med http[s]", + "serverStart": "Server must start with http[s]", "@serverStart": {}, - "settings": "Indstillinger", + "settings": "Settings", "@settings": {}, - "serverInstance": "Server Instans", + "serverInstance": "Server Instance", "@serverInstance": {}, - "serverNotConnected": "Server ikke forbundet", + "serverNotConnected": "Server not connected", "@serverNotConnected": {}, - "serverNotSelected": "Server ikke valgt", + "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Forsendelse", - "@shipment": {}, - "shipments": "Forsendelser", + "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Afventer Forsendelser", - "@shipmentsPending": {}, - "shipmentAdd": "Tilføj Forsendelse", + "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Tjek Forsendelse", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Marker denne forsendelse som kontrolleret", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Forsendelse Kontrolleret", - "@shipmentChecked": {}, - "shipmentDate": "Afsendelsesdato", - "@shipmentDate": {}, - "shipmentEdit": "Rediger Forsendelse", - "@shipmentEdit": {}, - "shipmentReference": "Forsendelse Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Forsendelse", - "@shipmentSend": {}, - "shipmentUncheck": "Afmarkér Forsendelse", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Marker denne forsendelse som afmarkeret", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Forsendelse Opdateret", - "@shipmentUpdated": {}, - "shipped": "Afsendt", + "shipped": "Shipped", "@shipped": {}, - "sku": "Lagerbeholdning", + "sku": "SKU", "@sku": {}, - "sounds": "Lyde", + "sounds": "Sounds", "@sounds": {}, - "soundOnBarcodeAction": "Afspil hørbar tone ved stregkodehandling", + "soundOnBarcodeAction": "Play audible tone on barcode action", "@soundOnBarcodeAction": {}, - "soundOnServerError": "Afspil akustisk tone ved serverfejl", + "soundOnServerError": "Play audible tone on server error", "@soundOnServerError": {}, - "startDate": "Startdato", + "startDate": "Start Date", "@startDate": {}, "status": "Status", "@status": {}, - "statusCode": "Status Kode", + "statusCode": "Status Code", "@statusCode": {}, - "stock": "Lager", + "stock": "Stock", "@stock": { "description": "stock" }, - "stockDetails": "Aktuel disponibel lagermængde", + "stockDetails": "Current available stock quantity", "@stockDetails": {}, - "stockItem": "Lagervarer", + "stockItem": "Stock Item", "@stockItem": { "description": "stock item title" }, - "stockItems": "Lagervarer", + "stockItems": "Stock Items", "@stockItems": {}, - "stockItemCreate": "Ny Lagervare", + "stockItemCreate": "New Stock Item", "@stockItemCreate": {}, - "stockItemCreateDetail": "Opret ny lagervare på denne lokation", + "stockItemCreateDetail": "Create new stock item in this location", "@stockItemCreateDetail": {}, - "stockItemDelete": "Slet Lagervare", + "stockItemDelete": "Delete Stock Item", "@stockItemDelete": {}, - "stockItemDeleteConfirm": "Er du sikker på, at du vil slette denne lagervare?", + "stockItemDeleteConfirm": "Are you sure you want to delete this stock item?", "@stockItemDeleteConfirm": {}, - "stockItemDeleteFailure": "Kunne ikke slette lagervare", + "stockItemDeleteFailure": "Could not delete stock item", "@stockItemDeleteFailure": {}, - "stockItemDeleteSuccess": "Lagervare slettet", + "stockItemDeleteSuccess": "Stock item deleted", "@stockItemDeleteSuccess": {}, - "stockItemHistory": "Lager Historik", + "stockItemHistory": "Stock History", "@stockItemHistory": {}, - "stockItemHistoryDetail": "Vis historisk lagersporings information", + "stockItemHistoryDetail": "Display historical stock tracking information", "@stockItemHistoryDetail": {}, - "stockItemTransferred": "Lagervare overført", + "stockItemTransferred": "Stock item transferred", "@stockItemTransferred": {}, - "stockItemUpdated": "Lagervare opdateret", + "stockItemUpdated": "Stock item updated", "@stockItemUpdated": {}, - "stockItemsNotAvailable": "Ingen lagervarer tilgængelige", + "stockItemsNotAvailable": "No stock items available", "@stockItemsNotAvailable": {}, - "stockItemNotes": "Lager Vare Noter", + "stockItemNotes": "Stock Item Notes", "@stockItemNotes": {}, - "stockItemUpdateSuccess": "Lagervare opdateret", + "stockItemUpdateSuccess": "Stock item updated", "@stockItemUpdateSuccess": {}, - "stockItemUpdateFailure": "Lagervare opdatering mislykkedes", + "stockItemUpdateFailure": "Stock item update failed", "@stockItemUpdateFailure": {}, - "stockLocation": "Lagerlokationer", + "stockLocation": "Stock Location", "@stockLocation": { "description": "stock location" }, - "stockLocations": "Lagerlokationer", + "stockLocations": "Stock Locations", "@stockLocations": {}, - "stockTopLevel": "Top niveau lager lokation", + "stockTopLevel": "Top level stock location", "@stockTopLevel": {}, - "strictHttps": "Brug Streng HTTPS", + "strictHttps": "Use Strict HTTPS", "@strictHttps": {}, - "strictHttpsDetails": "Håndhæve streng kontrol af HTTPS-certifikater", + "strictHttpsDetails": "Enforce strict checking of HTTPs certificates", "@strictHttpsDetails": {}, - "subcategory": "Underkategori", + "subcategory": "Subcategory", "@subcategory": {}, - "subcategories": "Underkategorier", + "subcategories": "Subcategories", "@subcategories": {}, - "sublocation": "Under lokation", + "sublocation": "Sublocation", "@sublocation": {}, - "sublocations": "Under lokationer", + "sublocations": "Sublocations", "@sublocations": {}, - "sublocationNone": "Ingen under lokationer", + "sublocationNone": "No Sublocations", "@sublocationNone": {}, - "sublocationNoneDetail": "Ingen under lokationer tilgængelige", + "sublocationNoneDetail": "No sublocations available", "@sublocationNoneDetail": {}, - "submitFeedback": "Indsend feedback", + "submitFeedback": "Submit Feedback", "@submitFeedback": {}, - "suppliedParts": "Leveret Dele", + "suppliedParts": "Supplied Parts", "@suppliedParts": {}, - "supplier": "Leverandør", + "supplier": "Supplier", "@supplier": {}, - "supplierPart": "Leverandør Del", + "supplierPart": "Supplier Part", "@supplierPart": {}, - "supplierPartEdit": "Rediger Leverandør Del", + "supplierPartEdit": "Edit Supplier Part", "@supplierPartEdit": {}, - "supplierPartNumber": "Leverandør Delnummer", + "supplierPartNumber": "Supplier Part Number", "@supplierPartNumber": {}, - "supplierPartUpdated": "Leverandør Del Opdateret", + "supplierPartUpdated": "Supplier Part Updated", "@supplierPartUpdated": {}, - "supplierParts": "Leverandør Dele", + "supplierParts": "Supplier Parts", "@supplierParts": {}, - "suppliers": "Leverandør", + "suppliers": "Suppliers", "@suppliers": {}, - "supplierReference": "Leverandør Reference", + "supplierReference": "Supplier Reference", "@supplierReference": {}, - "switchCamera": "Skift Kamera", + "switchCamera": "Switch Camera", "@switchCamera": {}, - "takePicture": "Tag billede", + "takePicture": "Take Picture", "@takePicture": {}, - "targetDate": "Måldato", + "targetDate": "Target Date", "@targetDate": {}, - "templatePart": "Overordnet Skabelon Del", + "templatePart": "Parent Template Part", "@templatePart": {}, - "testName": "Test navn", + "testName": "Test Name", "@testName": {}, - "testPassedOrFailed": "Test bestået eller fejlet", + "testPassedOrFailed": "Test passed or failed", "@testPassedOrFailed": {}, - "testsRequired": "Påkrævede Test", + "testsRequired": "Required Tests", "@testsRequired": {}, - "testResults": "Testresultater", + "testResults": "Test Results", "@testResults": { "description": "" }, - "testResultsDetail": "Vis testresultater for lagervarer", + "testResultsDetail": "Display stock item test results", "@testResultsDetail": {}, - "testResultAdd": "Tilføj Testresultat", + "testResultAdd": "Add Test Result", "@testResultAdd": {}, - "testResultNone": "Ingen Testresultater", + "testResultNone": "No Test Results", "@testResultNone": {}, - "testResultNoneDetail": "Ingen testresultater tilgængelige", + "testResultNoneDetail": "No test results available", "@testResultNoneDetail": {}, - "testResultUploadFail": "Fejl under upload af testresultat", + "testResultUploadFail": "Error uploading test result", "@testResultUploadFail": {}, - "testResultUploadPass": "Test resultat uploadet", + "testResultUploadPass": "Test result uploaded", "@testResultUploadPass": {}, "timeout": "Timeout", "@timeout": { "description": "" }, - "toggleTorch": "Tænd/sluk lys", + "toggleTorch": "Toggle Torch", "@toggleTorch": {}, - "tokenError": "Token Fejl", + "tokenError": "Token Error", "@tokenError": {}, - "tokenMissing": "Mangler Token", + "tokenMissing": "Missing Token", "@tokenMissing": {}, - "tokenMissingFromResponse": "Adgangstoken mangler fra svar", + "tokenMissingFromResponse": "Access token missing from response", "@tokenMissingFromResponse": {}, - "totalPrice": "Total Pris", + "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Sporingsnummer", - "@trackingNumber": {}, - "transfer": "Overfør", + "transfer": "Transfer", "@transfer": { "description": "transfer" }, - "transferStock": "Overfør Lager", + "transferStock": "Transfer Stock", "@transferStock": { "description": "transfer stock" }, - "transferStockDetail": "Overfør element til en anden lokation", + "transferStockDetail": "Transfer item to a different location", "@transferStockDetail": {}, - "transferStockLocation": "Overføre lager lokation", + "transferStockLocation": "Transfer Stock Location", "@transferStockLocation": {}, - "transferStockLocationDetail": "Overfør denne lager lokation til en anden", + "transferStockLocationDetail": "Transfer this stock location into another", "@transferStockLocationDetail": {}, - "translate": "Oversæt", + "translate": "Translate", "@translate": {}, - "translateHelp": "Hjælp med at oversætte InvenTree appen", + "translateHelp": "Help translate the InvenTree app", "@translateHelp": {}, - "unavailable": "Utilgængelig", + "unavailable": "Unavailable", "@unavailable": {}, - "unavailableDetail": "Elementet er ikke tilgængeligt", + "unavailableDetail": "Item is not available", "@unavailableDetail": {}, - "unitPrice": "Enhedspris", + "unitPrice": "Unit Price", "@unitPrice": {}, - "units": "Enheder", + "units": "Units", "@units": {}, - "unknownResponse": "Ukendt Svar", + "unknownResponse": "Unknown Response", "@unknownResponse": {}, "upload": "Upload", "@upload": {}, - "uploadFailed": "File upload mislykkedes", + "uploadFailed": "File upload failed", "@uploadFailed": {}, - "uploadSuccess": "Fil uploadet", + "uploadSuccess": "File uploaded", "@uploadSuccess": {}, - "uploadImage": "Upload billede", + "uploadImage": "Upload Image", "@uploadImage": {}, - "usedIn": "Brugt I", + "usedIn": "Used In", "@usedIn": {}, - "usedInDetails": "Samlinger som kræver denne del", + "usedInDetails": "Assemblies which require this part", "@usedInDetails": {}, - "username": "Brugernavn", + "username": "Username", "@username": {}, - "usernameEmpty": "Brugernavn kan ikke være tomt", + "usernameEmpty": "Username cannot be empty", "@usernameEmpty": {}, - "value": "Værdi", + "value": "Value", "@value": { "description": "value" }, - "valueCannotBeEmpty": "Værdien kan ikke være tom", + "valueCannotBeEmpty": "Value cannot be empty", "@valueCannotBeEmpty": {}, - "valueRequired": "Værdi er påkrævet", + "valueRequired": "Value is required", "@valueRequired": {}, - "variants": "Varianter", + "variants": "Variants", "@variants": {}, "version": "Version", "@version": {}, - "viewSupplierPart": "Vis Leverandør Del", + "viewSupplierPart": "View Supplier Part", "@viewSupplierPart": {}, - "website": "Hjemmeside", + "website": "Website", "@website": {}, - "yes": "Ja", - "@yes": {}, - "price": "Pris", + "price": "Price", "@price": {}, - "priceRange": "Prisklasse", + "priceRange": "Price Range", "@priceRange": {}, - "priceOverrideMin": "Tilsidesættelse af minimumspris", + "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, - "priceOverrideMax": "Tilsidesættelse af maksimalpris", + "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, - "salePrice": "Salgspris", + "salePrice": "Sale Price", "@salePrice": {}, - "saleHistory": "Salgs Historik", + "saleHistory": "Sale History", "@saleHistory": {}, - "supplierPricing": "Leverandør Pris", + "supplierPricing": "Supplier Pricing", "@supplierPricing": {}, - "bomCost": "Stykliste Pris", + "bomCost": "BOM Cost", "@bomCost": {}, - "internalCost": "Intern Omkostning", + "internalCost": "Internal Cost", "@internalCost": {}, - "variantCost": "Variant Pris", + "variantCost": "Variant Cost", "@variantCost": {}, - "overallPricing": "Samlet prisfastsættelse", + "overallPricing": "Overall Pricing", "@overallPricing": {}, - "pricingOverrides": "Tilsidesætter Prisfastsættelse", + "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, - "currency": "Valuta", + "currency": "Currency", "@currency": {}, - "priceBreaks": "Prispauser", - "@priceBreaks": {} + "priceBreaks": "Price Breaks", + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/de_DE/app_de_DE.arb b/lib/l10n/de_DE/app_de_DE.arb index 66e5dc8..0a885a0 100644 --- a/lib/l10n/de_DE/app_de_DE.arb +++ b/lib/l10n/de_DE/app_de_DE.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Bestand zuweisen", "@allocateStock": {}, - "allocatedStock": "Zugewiesener Bestand", - "@allocatedStock": {}, "appReleaseNotes": "App-Versionshinweise anzeigen", "@appReleaseNotes": {}, "appSettings": "App-Einstellungen", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode-Scannen angehalten", "@barodeScanPaused": {}, - "barcodeScanPause": "Tippen um das Scannen zu pausieren", + "barcodeScanPause": "Tippen oder halten um das Scannen anzuhalten", "@barcodeScanPause": {}, "barcodeScanAssign": "Scannen um Barcode zuzuweisen", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Firmen", "@companies": {}, - "complete": "", - "@complete": {}, - "completeOrder": "Bestellung abschließen", - "@completeOrder": {}, "completionDate": "Abgeschlossen am", "@completionDate": {}, "configureServer": "Server-Einstellungen konfigurieren", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Löschvorgang fehlgeschlagen", "@deleteFailed": {}, - "deleteImageConfirmation": "Möchten Sie dieses Bild wirklich löschen?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Bild löschen", - "@deleteImageTooltip": {}, - "deleteImage": "Bild löschen", - "@deleteImage": {}, "deletePart": "Teil löschen", "@deletePart": {}, "deletePartDetail": "Dieses Teil aus der Datenbank löschen", "@deletePartDetail": {}, "deleteSuccess": "Löschvorgang erfolgreich", "@deleteSuccess": {}, - "deliveryDate": "Lieferdatum", - "@deliveryDate": {}, "description": "Beschreibung", "@description": {}, "destination": "Zielort", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Bestellungen auf Startseite anzeigen", "@homeShowPoDescription": {}, - "homeShowShipments": "Lieferungen anzeigen", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Ausstehende Lieferaufträge auf der Startseite anzeigen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Aufträge anzeigen", "@homeShowSo": {}, "homeShowSoDescription": "Verkaufsknopf auf dem Startbildschirm anzeigen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Ungültige Kombination aus Benutzername und Passwort", "@invalidUsernamePassword": {}, - "invoice": "Rechnung", - "@invoice": {}, - "invoiceNumber": "Rechnungsnummer", - "@invoiceNumber": {}, "issue": "Aufgeben", "@issue": {}, "issueDate": "Ausstellungsdatum", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Schlüsselwörter", "@keywords": {}, - "labelDriver": "Etikettendrucker Treiber", - "@labelDriver": {}, - "labelSelectDriver": "Etikettendrucker Treiber auswählen", - "@labelSelectDriver": {}, "labelPrinting": "Etikettendruck", "@labelPrinting": {}, "labelPrintingDetail": "Etikettendruck aktivieren", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Neuen Lagerort erstellen", "@locationCreateDetail": {}, - "locationDefault": "Standard Lagerort", - "@locationDefault": {}, "locationNotSet": "Lagerort nicht angegeben", "@locationNotSet": {}, "locationUpdated": "Lagerort aktualisiert", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "Nein", - "@no": {}, - "notApplicable": "Nicht Anwendbar", - "@notApplicable": {}, "notConnected": "Nicht verbunden", "@notConnected": {}, "notes": "Notizen", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "Kein Bild verfügbar", "@noImageAvailable": {}, - "noPricingAvailable": "Keine Preisinformation verfügbar", - "@noPricingAvailable": {}, - "noPricingDataFound": "Keine Preisdaten für diesen Teil gefunden", - "@noPricingDataFound": {}, "noSubcategories": "Keine Unter-Kategorien", "@noSubcategories": {}, "noSubcategoriesAvailable": "Keine Unter-Kategorien verfügbar", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Passwort darf nicht leer sein", "@passwordEmpty": {}, - "pending": "Ausstehend", - "@pending": {}, "permissionAccountDenied": "Das Konto hat die erforderlichen Berechtigungen zum Ausführen dieses Vorgangs nicht", "@permissionAccountDenied": {}, "permissionRequired": "Berechtigung erforderlich", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Lagerort suchen", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Teile suchen", "@searchParts": {}, "searchStock": "Bestand durchsuchen", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server nicht ausgewählt", "@serverNotSelected": {}, - "shipment": "Lieferung", - "@shipment": {}, "shipments": "Lieferungen", "@shipments": {}, - "shipmentsPending": "Ausstehende Lieferungen", - "@shipmentsPending": {}, "shipmentAdd": "Lieferung hinzufügen", "@shipmentAdd": {}, - "shipmentCheck": "Lieferung überprüfen", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Diese Lieferung als geprüft markieren", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Lieferung überprüft", - "@shipmentChecked": {}, - "shipmentDate": "Versanddatum", - "@shipmentDate": {}, - "shipmentEdit": "Lieferung bearbeiten", - "@shipmentEdit": {}, - "shipmentReference": "Sendungsreferenz", - "@shipmentReference": {}, - "shipmentSend": "Lieferung versenden", - "@shipmentSend": {}, - "shipmentUncheck": "Lieferung ungeprüft markieren", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Diese Lieferung als ungeprüft markieren", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Lieferung Aktualisiert", - "@shipmentUpdated": {}, "shipped": "Versandt", "@shipped": {}, "sku": "Bestellnummer", @@ -1110,7 +1040,7 @@ "@timeout": { "description": "" }, - "toggleTorch": "Taschenlampe umschalten", + "toggleTorch": "Toggle Torch", "@toggleTorch": {}, "tokenError": "Token-Fehler", "@tokenError": {}, @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Gesamtbetrag", "@totalPrice": {}, - "trackingNumber": "Sendungsverfolgungsnummer", - "@trackingNumber": {}, "transfer": "Verschieben", "@transfer": { "description": "transfer" @@ -1182,15 +1110,13 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Ja", - "@yes": {}, "price": "Preis", "@price": {}, "priceRange": "Preisspanne", "@priceRange": {}, - "priceOverrideMin": "Mindestpreis ignorieren", + "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, - "priceOverrideMax": "Maximalpreis ignorieren", + "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, "salePrice": "Verkaufspreis", "@salePrice": {}, @@ -1206,10 +1132,20 @@ "@variantCost": {}, "overallPricing": "Gesamt Preise", "@overallPricing": {}, - "pricingOverrides": "Preisgestaltung ignorieren", + "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, "currency": "Währung", "@currency": {}, - "priceBreaks": "Preisstaffel", - "@priceBreaks": {} + "priceBreaks": "Price Breaks", + "@priceBreaks": {}, + "noPricingAvailable": "Keine Preisinformation verfügbar", + "@noPricingAvailable": {}, + "noPricingDataFound": "Keine Preisdaten für diesen Teil gefunden", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Möchten Sie dieses Bild wirklich löschen?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Bild löschen", + "@deleteImageTooltip": {}, + "deleteImage": "Bild löschen", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/el_GR/app_el_GR.arb b/lib/l10n/el_GR/app_el_GR.arb index 7e697ae..f06a960 100644 --- a/lib/l10n/el_GR/app_el_GR.arb +++ b/lib/l10n/el_GR/app_el_GR.arb @@ -30,9 +30,9 @@ "@address": {}, "appAbout": "Σχετικά με το InvenTree", "@appAbout": {}, - "appCredits": "Πιστώσεις Εφαρμογής", + "appCredits": "Πρόσθετες μονάδες εφαρμογής", "@appCredits": {}, - "appDetails": "Λεπτομέρειες Εφαρμογής", + "appDetails": "Λεπτομέρειες εφαρμογής", "@appDetails": {}, "allocated": "Κατανεμημένο", "@allocated": {}, @@ -42,21 +42,19 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Τετράγωνο (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Κατανομή Αποθέματος", "@allocateStock": {}, - "allocatedStock": "Κατανεμημένο Απόθεμα", - "@allocatedStock": {}, "appReleaseNotes": "Προβολή πληροφοριών έκδοσης εφαρμογής", "@appReleaseNotes": {}, "appSettings": "Ρυθμίσεις Εφαρμογής", "@appSettings": {}, "appSettingsDetails": "Διαμόρφωση ρυθμίσεων της εφαρμογής InvenTree", "@appSettingsDetails": {}, - "assignedToMe": "Ανατεθειμένα σε εμένα", + "assignedToMe": "Assigned to Me", "@assignedToMe": {}, - "assignedToMeDetail": "Προβολή παραγγελιών που έχουν ανατεθεί σε εμένα", + "assignedToMeDetail": "Show orders which are assigned to me", "@assignedToMeDetail": {}, "attachments": "Συνημμένα", "@attachments": {}, @@ -64,7 +62,7 @@ "@attachImage": { "description": "Attach an image" }, - "attachmentNone": "Δεν βρέθηκαν συνημμένα", + "attachmentNone": "Δε βρέθηκαν συνημμένα", "@attachmentNone": {}, "attachmentNoneDetail": "Δεν βρέθηκαν συνημμένα", "@attachmentNoneDetail": {}, @@ -84,17 +82,17 @@ "@barcodeAssign": {}, "barcodeAssignDetail": "Σαρώστε προσαρμοσμένο barcode για ανάθεση", "@barcodeAssignDetail": {}, - "barcodeAssigned": "Το barcode καταχωρήθηκε", + "barcodeAssigned": "Το Βarcode καταχωρήθηκε", "@barcodeAssigned": {}, "barcodeError": "Σφάλμα σάρωσης Barcode", "@barcodeError": {}, "barcodeInUse": "Το Barcode έχει ήδη ανατεθεί", "@barcodeInUse": {}, - "barcodeMissingHash": "Λείπουν δεδομένα κατακερματισμού barcode από την απόκριση", + "barcodeMissingHash": "Λείπουν δεδομένα κατακερματισμού Barcode από την απόκριση", "@barcodeMissingHash": {}, "barcodeNoMatch": "Δεν υπάρχει αντιστοιχία με το barcode", "@barcodeNoMatch": {}, - "barcodeNotAssigned": "Το barcode δεν καταχωρήθηκε", + "barcodeNotAssigned": "Το Βarcode δεν καταχωρήθηκε", "@barcodeNotAssigned": {}, "barcodeScanPart": "Σάρωση barcode εξαρτήματος", "@barcodeScanPart": {}, @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Παύση σάρωσης barcode", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Πατήστε ή κρατήστε πατημένο για να κάνετε παύση σάρωσης", "@barcodeScanPause": {}, "barcodeScanAssign": "Σάρωση για εκχώρηση barcode", "@barcodeScanAssign": {}, @@ -110,1106 +108,1044 @@ "@barcodeScanController": {}, "barcodeScanControllerDetail": "Επιλέξτε πηγή εισόδου για σαρωτή barcode", "@barcodeScanControllerDetail": {}, - "barcodeScanDelay": "Καθυστέρηση Σάρωσης Barcode", + "barcodeScanDelay": "Barcode Scan Delay", "@barcodeScanDelay": {}, - "barcodeScanDelayDetail": "Καθυστέρηση μεταξύ σαρώσεων barcode", + "barcodeScanDelayDetail": "Delay between barcode scans", "@barcodeScanDelayDetail": {}, - "barcodeScanGeneral": "Σάρωση InvenTree barcode", + "barcodeScanGeneral": "Scan an InvenTree barcode", "@barcodeScanGeneral": {}, - "barcodeScanInItems": "Σάρωση αντικειμένων σε αυτήν την τοποθεσία", + "barcodeScanInItems": "Scan stock items into this location", "@barcodeScanInItems": {}, - "barcodeScanLocation": "Σάρωση τοποθεσίας αποθέματος", + "barcodeScanLocation": "Scan stock location", "@barcodeScanLocation": {}, - "barcodeScanSingle": "Λειτουργία Μονής Σάρωσης", + "barcodeScanSingle": "Single Scan Mode", "@barcodeScanSingle": {}, - "barcodeScanSingleDetail": "Παύση του σαρωτή μετά από κάθε σάρωση", + "barcodeScanSingleDetail": "Pause barcode scanner after each scan", "@barcodeScanSingleDetail": {}, - "barcodeScanIntoLocationSuccess": "Σαρώθηκε στην τοποθεσία", + "barcodeScanIntoLocationSuccess": "Scanned into location", "@barcodeScanIntoLocationSuccess": {}, - "barcodeScanIntoLocationFailure": "Το αντικείμενο δεν σαρώθηκε", + "barcodeScanIntoLocationFailure": "Item not scanned in", "@barcodeScanIntoLocationFailure": {}, - "barcodeScanItem": "Σάρωση αντικειμένου αποθέματος", + "barcodeScanItem": "Scan stock item", "@barcodeScanItem": {}, - "barcodeTones": "Ήχοι Barcode", + "barcodeTones": "Barcode Tones", "@barcodeTones": {}, - "barcodeUnassign": "Αφαίρεση Ανάθεσης Barcode", + "barcodeUnassign": "Unassign Barcode", "@barcodeUnassign": {}, - "barcodeUnknown": "Το barcode δεν αναγνωρίζεται", + "barcodeUnknown": "Barcode is not recognized", "@barcodeUnknown": {}, - "batchCode": "Κωδικός Παρτίδας", + "batchCode": "Batch Code", "@batchCode": {}, - "billOfMaterials": "Κατάσταση Υλικών", + "billOfMaterials": "Bill of Materials", "@billOfMaterials": {}, "bom": "BOM", "@bom": {}, - "bomEnable": "Εμφάνιση Κατάστασης Υλικών", + "bomEnable": "Display Bill of Materials", "@bomEnable": {}, - "build": "Κατασκευή", + "build": "Build", "@build": {}, - "building": "Κατασκευάζεται", + "building": "Building", "@building": {}, - "cameraCreationError": "Αδυναμία ανοίγματος κάμερας", + "cameraCreationError": "Could not open camera controller", "@cameraCreationError": {}, - "cameraInternal": "Εσωτερική Κάμερα", + "cameraInternal": "Internal Camera", "@cameraInternal": {}, - "cameraInternalDetail": "Χρήση εσωτερικής κάμερας για ανάγνωση barcodes", + "cameraInternalDetail": "Use internal camera to read barcodes", "@cameraInternalDetail": {}, - "cancel": "Ακύρωση", + "cancel": "Cancel", "@cancel": { "description": "Cancel" }, - "cancelOrder": "Ακύρωση Παραγγελίας", + "cancelOrder": "Cancel Order", "@cancelOrder": {}, - "category": "Κατηγορία", + "category": "Category", "@category": {}, "categoryCreate": "Νέα Κατηγορία", "@categoryCreate": {}, - "categoryCreateDetail": "Δημιουργία νέας κατηγορίας εξαρτημάτων", + "categoryCreateDetail": "Create new part category", "@categoryCreateDetail": {}, - "categoryUpdated": "Η κατηγορία ενημερώθηκε", + "categoryUpdated": "Part category updated", "@categoryUpdated": {}, - "company": "Εταιρεία", + "company": "Company", "@company": {}, - "companyAdd": "Προσθήκη Εταιρείας", + "companyAdd": "Add Company", "@companyAdd": {}, - "companyEdit": "Επεξεργασία Εταιρείας", + "companyEdit": "Edit Company", "@companyEdit": {}, - "companyNoResults": "Καμία εταιρεία δεν ταιριάζει με την αναζήτηση", + "companyNoResults": "No companies matching query", "@companyNoResults": {}, - "companyUpdated": "Τα στοιχεία της εταιρείας ενημερώθηκαν", + "companyUpdated": "Company details updated", "@companyUpdated": {}, - "companies": "Εταιρείες", + "companies": "Companies", "@companies": {}, - "complete": "Ολοκλήρωση", - "@complete": {}, - "completeOrder": "Ολοκλήρωση Παραγγελίας", - "@completeOrder": {}, - "completionDate": "Ημερομηνία Ολοκλήρωσης", + "completionDate": "Completion Date", "@completionDate": {}, - "configureServer": "Ρύθμιση παραμέτρων διακομιστή", + "configureServer": "Configure server settings", "@configureServer": {}, - "confirmScan": "Επιβεβαίωση Μεταφοράς", + "confirmScan": "Confirm Transfer", "@confirmScan": {}, - "confirmScanDetail": "Επιβεβαίωση λεπτομερειών μεταφοράς κατά τη σάρωση barcodes", + "confirmScanDetail": "Confirm stock transfer details when scanning barcodes", "@confirmScanDetail": {}, - "connectionRefused": "Η σύνδεση απορρίφθηκε", + "connectionRefused": "Connection Refused", "@connectionRefused": {}, - "count": "Μέτρηση", + "count": "Count", "@count": { "description": "Count" }, - "countStock": "Καταμέτρηση Αποθέματος", + "countStock": "Count Stock", "@countStock": { "description": "Count Stock" }, - "credits": "Πιστώσεις", + "credits": "Credits", "@credits": {}, - "crop": "Περικοπή", + "crop": "Crop", "@crop": {}, - "cropImage": "Περικοπή Εικόνας", + "cropImage": "Crop Image", "@cropImage": {}, - "customer": "Πελάτης", + "customer": "Customer", "@customer": {}, - "customers": "Πελάτες", + "customers": "Customers", "@customers": {}, - "customerReference": "Αναφορά Πελάτη", + "customerReference": "Customer Reference", "@customerReference": {}, - "damaged": "Κατεστραμμένο", + "damaged": "Damaged", "@damaged": {}, - "colorScheme": "Συνδυασμός Χρωμάτων", + "colorScheme": "Color Scheme", "@colorScheme": {}, - "colorSchemeDetail": "Επιλογή συνδυασμού χρωμάτων", + "colorSchemeDetail": "Select color scheme", "@colorSchemeDetail": {}, - "darkMode": "Σκουρόχρωμη Λειτουργία", + "darkMode": "Dark Mode", "@darkMode": {}, - "darkModeEnable": "Ενεργοποίηση σκοτεινής λειτουργίας", + "darkModeEnable": "Enable dark mode", "@darkModeEnable": {}, - "delete": "Διαγραφή", + "delete": "Delete", "@delete": {}, - "deleteFailed": "Η διαγραφή απέτυχε", + "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτή την εικόνα;", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Διαγραφή Εικόνας", - "@deleteImageTooltip": {}, - "deleteImage": "Διαγραφή Εικόνας", - "@deleteImage": {}, - "deletePart": "Διαγραφή Εξαρτήματος", + "deletePart": "Delete Part", "@deletePart": {}, - "deletePartDetail": "Αφαίρεση αυτού του εξαρτήματος από τη βάση δεδομένων", + "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, - "deleteSuccess": "Η διαγραφή ολοκληρώθηκε με επιτυχία", + "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Ημερομηνία Παράδοσης", - "@deliveryDate": {}, - "description": "Περιγραφή", + "description": "Description", "@description": {}, - "destination": "Προορισμός", + "destination": "Destination", "@destination": {}, - "destroyed": "Καταστράφηκε", + "destroyed": "Destroyed", "@destroyed": {}, - "details": "Λεπτομέρειες", + "details": "Details", "@details": { "description": "details" }, - "documentation": "Τεκμηρίωση", + "documentation": "Documentation", "@documentation": {}, - "downloadComplete": "Η λήψη ολοκληρώθηκε", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "Σφάλμα κατά τη λήψη της εικόνας", + "downloadError": "Error downloading image", "@downloadError": {}, - "downloading": "Λήψη Αρχείου", + "downloading": "Downloading File", "@downloading": {}, - "edit": "Επεξεργασία", + "edit": "Edit", "@edit": { "description": "edit" }, - "editAttachment": "Επεξεργασία Συνημμένου", + "editAttachment": "Edit Attachment", "@editAttachment": {}, - "editCategory": "Επεξεργασία Κατηγορίας", + "editCategory": "Edit Category", "@editCategory": {}, - "editLocation": "Επεξεργασία Τοποθεσίας", + "editLocation": "Edit Location", "@editLocation": {}, - "editNotes": "Επεξεργασία Σημειώσεων", + "editNotes": "Edit Notes", "@editNotes": {}, - "editParameter": "Επεξεργασία Παραμέτρου", + "editParameter": "Edit Parameter", "@editParameter": {}, - "editPart": "Επεξεργασία Εξαρτήματος", + "editPart": "Edit Part", "@editPart": { "description": "edit part" }, - "editItem": "Επεξεργασία Αντικειμένου Αποθέματος", + "editItem": "Edit Stock Item", "@editItem": {}, - "editLineItem": "Επεξεργασία Γραμμής", + "editLineItem": "Edit Line Item", "@editLineItem": {}, "email": "Email", "@email": {}, - "enterPassword": "Εισαγάγετε τον κωδικό", + "enterPassword": "Enter password", "@enterPassword": {}, - "enterUsername": "Εισαγάγετε το όνομα χρήστη", + "enterUsername": "Enter username", "@enterUsername": {}, - "error": "Σφάλμα", + "error": "Error", "@error": { "description": "Error" }, - "errorCreate": "Σφάλμα κατά τη δημιουργία εγγραφής", + "errorCreate": "Error creating database entry", "@errorCreate": {}, - "errorDelete": "Σφάλμα κατά τη διαγραφή εγγραφής", + "errorDelete": "Error deleting database entry", "@errorDelete": {}, - "errorDetails": "Λεπτομέρειες Σφάλματος", + "errorDetails": "Error Details", "@errorDetails": {}, - "errorFetch": "Σφάλμα κατά την ανάκτηση δεδομένων από τον διακομιστή", + "errorFetch": "Error fetching data from server", "@errorFetch": {}, - "errorUserRoles": "Σφάλμα κατά το αίτημα ρόλων χρήστη", + "errorUserRoles": "Error requesting user roles from server", "@errorUserRoles": {}, - "errorPluginInfo": "Σφάλμα κατά το αίτημα πληροφοριών plugin", + "errorPluginInfo": "Error requesting plugin data from server", "@errorPluginInfo": {}, - "errorReporting": "Αναφορά Σφαλμάτων", + "errorReporting": "Error Reporting", "@errorReporting": {}, - "errorReportUpload": "Ανέβασμα Αναφορών Σφαλμάτων", + "errorReportUpload": "Upload Error Reports", "@errorReportUpload": {}, - "errorReportUploadDetails": "Ανώνυμη αποστολή αναφορών σφαλμάτων και καταγραφών κρασαρισμάτων", + "errorReportUploadDetails": "Upload anonymous error reports and crash logs", "@errorReportUploadDetails": {}, - "expiryDate": "Ημερομηνία Λήξης", + "expiryDate": "Expiry Date", "@expiryDate": {}, - "expiryExpired": "Έχει λήξει", + "expiryExpired": "Expired", "@expiryExpired": {}, - "expiryStale": "Παλαιό", + "expiryStale": "Stale", "@expiryStale": {}, - "extraLineItem": "Επιπλέον Γραμμή", + "extraLineItem": "Extra Line Item", "@extraLineItem": {}, - "extraLineItems": "Επιπλέον Γραμμές", + "extraLineItems": "Extra Line Items", "@extraLineItems": {}, - "feedback": "Ανατροφοδότηση", + "feedback": "Feedback", "@feedback": {}, - "feedbackError": "Σφάλμα κατά την αποστολή ανατροφοδότησης", + "feedbackError": "Error submitting feedback", "@feedbackError": {}, - "feedbackSuccess": "Η ανατροφοδότηση στάλθηκε", + "feedbackSuccess": "Feedback submitted", "@feedbackSuccess": {}, - "filterActive": "Ενεργά", + "filterActive": "Active", "@filterActive": {}, - "filterActiveDetail": "Εμφάνιση ενεργών εξαρτημάτων", + "filterActiveDetail": "Show active parts", "@filterActiveDetail": {}, - "filterAssembly": "Συναρμολογημένα", + "filterAssembly": "Assembled", "@filterAssembly": {}, - "filterAssemblyDetail": "Εμφάνιση συναρμολογημένων εξαρτημάτων", + "filterAssemblyDetail": "Show assembled parts", "@filterAssemblyDetail": {}, - "filterComponent": "Εξάρτημα", + "filterComponent": "Component", "@filterComponent": {}, - "filterComponentDetail": "Εμφάνιση εξαρτημάτων", + "filterComponentDetail": "Show component parts", "@filterComponentDetail": {}, - "filterExternal": "Εξωτερικά", + "filterExternal": "External", "@filterExternal": {}, - "filterExternalDetail": "Εμφάνιση αποθέματος σε εξωτερικές τοποθεσίες", + "filterExternalDetail": "Show stock in external locations", "@filterExternalDetail": {}, - "filterInStock": "Σε Απόθεμα", + "filterInStock": "In Stock", "@filterInStock": {}, - "filterInStockDetail": "Εμφάνιση εξαρτημάτων που έχουν απόθεμα", + "filterInStockDetail": "Show parts which have stock", "@filterInStockDetail": {}, - "filterSerialized": "Με Σειριακό Αριθμό", + "filterSerialized": "Serialized", "@filterSerialized": {}, - "filterSerializedDetail": "Εμφάνιση αντικειμένων αποθέματος με σειριακό αριθμό", + "filterSerializedDetail": "Show serialized stock items", "@filterSerializedDetail": {}, - "filterTemplate": "Πρότυπο", + "filterTemplate": "Template", "@filterTemplate": {}, - "filterTemplateDetail": "Εμφάνιση πρότυπων εξαρτημάτων", + "filterTemplateDetail": "Show template parts", "@filterTemplateDetail": {}, - "filterTrackable": "Ιχνηλάσιμο", + "filterTrackable": "Trackable", "@filterTrackable": {}, - "filterTrackableDetail": "Εμφάνιση ιχνηλάσιμων εξαρτημάτων", + "filterTrackableDetail": "Show trackable parts", "@filterTrackableDetail": {}, - "filterVirtual": "Εικονικά", + "filterVirtual": "Virtual", "@filterVirtual": {}, - "filterVirtualDetail": "Εμφάνιση εικονικών εξαρτημάτων", + "filterVirtualDetail": "Show virtual parts", "@filterVirtualDetail": {}, - "filteringOptions": "Επιλογές Φιλτραρίσματος", + "filteringOptions": "Filtering Options", "@filteringOptions": {}, - "formatException": "Εξαίρεση Μορφοποίησης", + "formatException": "Format Exception", "@formatException": {}, - "formatExceptionJson": "Εξαίρεση μορφής JSON", + "formatExceptionJson": "JSON data format exception", "@formatExceptionJson": {}, - "formError": "Σφάλμα Φόρμας", + "formError": "Form Error", "@formError": {}, - "history": "Ιστορικό", + "history": "History", "@history": { "description": "history" }, - "home": "Αρχική", + "home": "Home", "@home": {}, - "homeScreen": "Αρχική Οθόνη", + "homeScreen": "Home Screen", "@homeScreen": {}, - "homeScreenSettings": "Ρύθμιση αρχικής οθόνης", + "homeScreenSettings": "Configure home screen settings", "@homeScreenSettings": {}, - "homeShowPo": "Εμφάνιση Παραγγελιών Αγοράς", + "homeShowPo": "Show Purchase Orders", "@homeShowPo": {}, - "homeShowPoDescription": "Εμφάνιση κουμπιού παραγγελιών αγοράς στην αρχική οθόνη", + "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Εμφάνιση Αποστολών", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Εμφάνιση εκκρεμών αποστολών στην αρχική οθόνη", - "@homeShowShipmentsDescription": {}, - "homeShowSo": "Εμφάνιση Παραγγελιών Πώλησης", + "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, - "homeShowSoDescription": "Εμφάνιση κουμπιού παραγγελιών πώλησης στην αρχική οθόνη", + "homeShowSoDescription": "Show sales order button on home screen", "@homeShowSoDescription": {}, - "homeShowSubscribed": "Εγγεγραμμένα Εξαρτήματα", + "homeShowSubscribed": "Subscribed Parts", "@homeShowSubscribed": {}, - "homeShowSubscribedDescription": "Εμφάνιση εγγεγραμμένων εξαρτημάτων στην αρχική οθόνη", + "homeShowSubscribedDescription": "Show subscribed parts on home screen", "@homeShowSubscsribedDescription": {}, - "homeShowSuppliers": "Εμφάνιση Προμηθευτών", + "homeShowSuppliers": "Show Suppliers", "@homeShowSuppliers": {}, - "homeShowSuppliersDescription": "Εμφάνιση κουμπιού προμηθευτών στην αρχική οθόνη", + "homeShowSuppliersDescription": "Show suppliers button on home screen", "@homeShowSupplierDescription": {}, - "homeShowManufacturers": "Εμφάνιση Κατασκευαστών", + "homeShowManufacturers": "Show Manufacturers", "@homeShowManufacturers": {}, - "homeShowManufacturersDescription": "Εμφάνιση κουμπιού κατασκευαστών στην αρχική οθόνη", + "homeShowManufacturersDescription": "Show manufacturers button on home screen", "@homeShowManufacturersDescription": {}, - "homeShowCustomers": "Εμφάνιση Πελατών", + "homeShowCustomers": "Show Customers", "@homeShowCustomers": {}, - "homeShowCustomersDescription": "Εμφάνιση κουμπιού πελατών στην αρχική οθόνη", + "homeShowCustomersDescription": "Show customers button on home screen", "@homeShowCustomersDescription": {}, - "imageUploadFailure": "Αποτυχία μεταφόρτωσης εικόνας", + "imageUploadFailure": "Image upload failed", "@imageUploadFailure": {}, - "imageUploadSuccess": "Η εικόνα μεταφορτώθηκε", + "imageUploadSuccess": "Image uploaded", "@imageUploadSuccess": {}, - "inactive": "Ανενεργό", + "inactive": "Inactive", "@inactive": {}, - "inactiveCompany": "Αυτή η εταιρεία έχει επισημανθεί ως ανενεργή", + "inactiveCompany": "This company is marked as inactive", "@inactiveCompany": {}, - "inactiveDetail": "Αυτό το εξάρτημα έχει επισημανθεί ως ανενεργό", + "inactiveDetail": "This part is marked as inactive", "@inactiveDetail": {}, - "includeSubcategories": "Συμπερίληψη Υποκατηγοριών", + "includeSubcategories": "Include Subcategories", "@includeSubcategories": {}, - "includeSubcategoriesDetail": "Εμφάνιση αποτελεσμάτων από υποκατηγορίες", + "includeSubcategoriesDetail": "Show results from subcategories", "@includeSubcategoriesDetail": {}, - "includeSublocations": "Συμπερίληψη Υποτοποθεσιών", + "includeSublocations": "Include Sublocations", "@includeSublocations": {}, - "includeSublocationsDetail": "Εμφάνιση αποτελεσμάτων από υποτοποθεσίες", + "includeSublocationsDetail": "Show results from sublocations", "@includeSublocationsDetail": {}, - "incompleteDetails": "Ελλιπείς λεπτομέρειες προφίλ", + "incompleteDetails": "Incomplete profile details", "@incompleteDetails": {}, - "internalPartNumber": "Εσωτερικός Κωδικός Εξαρτήματος", + "internalPartNumber": "Internal Part Number", "@internalPartNumber": {}, - "info": "Πληροφορίες", + "info": "Info", "@info": {}, - "inProduction": "Σε Παραγωγή", + "inProduction": "In Production", "@inProduction": {}, - "inProductionDetail": "Αυτό το αντικείμενο αποθέματος βρίσκεται σε παραγωγή", + "inProductionDetail": "This stock item is in production", "@inProductionDetail": {}, - "internalPart": "Εσωτερικό Εξάρτημα", + "internalPart": "Internal Part", "@internalPart": {}, - "invalidHost": "Μη έγκυρο hostname", + "invalidHost": "Invalid hostname", "@invalidHost": {}, - "invalidHostDetails": "Το παρεχόμενο hostname δεν είναι έγκυρο", + "invalidHostDetails": "Provided hostname is not valid", "@invalidHostDetails": {}, - "invalidPart": "Μη έγκυρο Εξάρτημα", + "invalidPart": "Invalid Part", "@invalidPart": {}, - "invalidPartCategory": "Μη έγκυρη Κατηγορία Εξαρτήματος", + "invalidPartCategory": "Invalid Part Category", "@invalidPartCategory": {}, - "invalidStockLocation": "Μη έγκυρη Τοποθεσία Αποθέματος", + "invalidStockLocation": "Invalid Stock Location", "@invalidStockLocation": {}, - "invalidStockItem": "Μη έγκυρο Αντικείμενο Αποθέματος", + "invalidStockItem": "Invalid Stock Item", "@invalidStockItem": {}, - "invalidSupplierPart": "Μη έγκυρο Εξάρτημα Προμηθευτή", + "invalidSupplierPart": "Invalid Supplier Part", "@invalidSupplierPart": {}, - "invalidUsernamePassword": "Μη έγκυρος συνδυασμός ονόματος χρήστη / κωδικού", + "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Τιμολόγιο", - "@invoice": {}, - "invoiceNumber": "Αριθμός Τιμολογίου", - "@invoiceNumber": {}, - "issue": "Έκδοση", + "issue": "Issue", "@issue": {}, - "issueDate": "Ημερομηνία Έκδοσης", + "issueDate": "Issue Date", "@issueDate": {}, - "issueOrder": "Έκδοση Παραγγελίας", + "issueOrder": "Issue Order", "@issueOrder": {}, - "itemInLocation": "Το αντικείμενο βρίσκεται ήδη στην τοποθεσία", + "itemInLocation": "Item already in location", "@itemInLocation": {}, - "itemDeleted": "Το αντικείμενο αφαιρέθηκε", + "itemDeleted": "Item has been removed", "@itemDeleted": {}, - "itemUpdated": "Το αντικείμενο ενημερώθηκε", + "itemUpdated": "Item updated", "@itemUpdated": {}, - "keywords": "Λέξεις-Κλειδιά", + "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, - "labelPrinting": "Εκτύπωση Ετικετών", + "labelPrinting": "Label Printing", "@labelPrinting": {}, - "labelPrintingDetail": "Ενεργοποίηση εκτύπωσης ετικετών", + "labelPrintingDetail": "Enable label printing", "@labelPrintingDetail": {}, - "labelTemplate": "Πρότυπο Ετικέτας", + "labelTemplate": "Label Template", "@labelTemplate": {}, - "labelSelectTemplate": "Επιλογή Προτύπου Ετικέτας", + "labelSelectTemplate": "Select Label Template", "@labelSelectTemplate": {}, - "labelSelectPrinter": "Επιλογή Εκτυπωτή Ετικετών", + "labelSelectPrinter": "Select Label Printer", "@labelSelectPrinter": {}, - "language": "Γλώσσα", + "language": "Language", "@language": {}, - "languageDefault": "Προεπιλεγμένη γλώσσα συστήματος", + "languageDefault": "Default system language", "@languageDefault": {}, - "languageSelect": "Επιλογή Γλώσσας", + "languageSelect": "Select Language", "@languageSelect": {}, - "lastStocktake": "Τελευταία Απογραφή", + "lastStocktake": "Last Stocktake", "@lastStocktake": {}, - "lastUpdated": "Τελευταία Ενημέρωση", + "lastUpdated": "Last Updated", "@lastUpdated": {}, - "level": "Επίπεδο", + "level": "Level", "@level": {}, - "lineItemAdd": "Προσθήκη Γραμμής", + "lineItemAdd": "Add Line Item", "@lineItemAdd": {}, - "lineItem": "Γραμμή", + "lineItem": "Line Item", "@lineItem": {}, - "lineItems": "Γραμμές", + "lineItems": "Line Items", "@lineItems": {}, - "lineItemUpdated": "Η γραμμή ενημερώθηκε", + "lineItemUpdated": "Line item updated", "@lineItemUpdated": {}, - "locateItem": "Εντοπισμός αντικειμένου αποθέματος", + "locateItem": "Locate stock item", "@locateItem": {}, - "locateLocation": "Εντοπισμός τοποθεσίας αποθέματος", + "locateLocation": "Locate stock location", "@locateLocation": {}, - "locationCreate": "Νέα Τοποθεσία", + "locationCreate": "New Location", "@locationCreate": {}, - "locationCreateDetail": "Δημιουργία νέας τοποθεσίας αποθέματος", + "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Προεπιλεγμένη Τοποθεσία", - "@locationDefault": {}, - "locationNotSet": "Δεν έχει οριστεί τοποθεσία", + "locationNotSet": "No location specified", "@locationNotSet": {}, - "locationUpdated": "Η τοποθεσία ενημερώθηκε", + "locationUpdated": "Stock location updated", "@locationUpdated": {}, - "login": "Σύνδεση", + "login": "Login", "@login": {}, - "loginEnter": "Εισαγάγετε τα στοιχεία σύνδεσης", + "loginEnter": "Enter login details", "@loginEnter": {}, - "loginEnterDetails": "Το όνομα χρήστη και ο κωδικός δεν αποθηκεύονται τοπικά", + "loginEnterDetails": "Username and password are not stored locally", "@loginEnterDetails": {}, - "link": "Σύνδεσμος", + "link": "Link", "@link": {}, - "lost": "Χαμένο", + "lost": "Lost", "@lost": {}, - "manufacturerPart": "Κωδικός Κατασκευαστή", + "manufacturerPart": "Manufacturer Part", "@manufacturerPart": {}, - "manufacturerPartEdit": "Επεξεργασία Κωδικού Κατασκευαστή", + "manufacturerPartEdit": "Edit Manufacturer Part", "@manufacturerPartEdit": {}, - "manufacturerPartNumber": "Αριθμός Κωδικού Κατασκευαστή", + "manufacturerPartNumber": "Manufacturer Part Number", "@manufacturerPartNumber": {}, - "manufacturer": "Κατασκευαστής", + "manufacturer": "Manufacturer", "@manufacturer": {}, - "manufacturers": "Κατασκευαστές", + "manufacturers": "Manufacturers", "@manufacturers": {}, - "missingData": "Ελλιπή Δεδομένα", + "missingData": "Missing Data", "@missingData": {}, - "name": "Όνομα", + "name": "Name", "@name": {}, - "no": "Όχι", - "@no": {}, - "notApplicable": "Μ/Δ", - "@notApplicable": {}, - "notConnected": "Δεν υπάρχει σύνδεση", + "notConnected": "Not Connected", "@notConnected": {}, - "notes": "Σημειώσεις", + "notes": "Notes", "@notes": { "description": "Notes" }, - "notifications": "Ειδοποιήσεις", + "notifications": "Notifications", "@notifications": {}, - "notificationsEmpty": "Καμία μη αναγνωσμένη ειδοποίηση", + "notificationsEmpty": "No unread notifications", "@notificationsEmpty": {}, - "noResponse": "Χωρίς απόκριση από τον διακομιστή", + "noResponse": "No Response from Server", "@noResponse": {}, - "noResults": "Κανένα αποτέλεσμα", + "noResults": "No Results", "@noResults": {}, - "noImageAvailable": "Δεν υπάρχει διαθέσιμη εικόνα", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "Δεν υπάρχουν διαθέσιμες τιμές", - "@noPricingAvailable": {}, - "noPricingDataFound": "Δεν βρέθηκαν δεδομένα τιμολόγησης για αυτό το εξάρτημα", - "@noPricingDataFound": {}, - "noSubcategories": "Δεν υπάρχουν υποκατηγορίες", + "noSubcategories": "No Subcategories", "@noSubcategories": {}, - "noSubcategoriesAvailable": "Δεν υπάρχουν διαθέσιμες υποκατηγορίες", + "noSubcategoriesAvailable": "No subcategories available", "@noSubcategoriesAvailable": {}, - "numberInvalid": "Μη έγκυρος αριθμός", + "numberInvalid": "Invalid number", "@numberInvalid": {}, - "onOrder": "Σε Παραγγελία", + "onOrder": "On Order", "@onOrder": {}, - "onOrderDetails": "Αντικείμενα που βρίσκονται σε παραγγελία", + "onOrderDetails": "Items currently on order", "@onOrderDetails": {}, - "orientation": "Προσανατολισμός Οθόνης", + "orientation": "Screen Orientation", "@orientation": {}, - "orientationDetail": "Προσανατολισμός οθόνης (απαιτεί επανεκκίνηση)", + "orientationDetail": "Screen orientation (requires restart)", "@orientationDetail": {}, - "orientationLandscape": "Οριζόντια", + "orientationLandscape": "Landscape", "@orientationLandscape": {}, - "orientationPortrait": "Κάθετη", + "orientationPortrait": "Portrait", "@orientationPortrait": {}, - "orientationSystem": "Σύστημα", + "orientationSystem": "System", "@orientationSystem": {}, - "outstanding": "Εκκρεμείς", + "outstanding": "Outstanding", "@outstanding": {}, - "outstandingOrderDetail": "Εμφάνιση εκκρεμών παραγγελιών", + "outstandingOrderDetail": "Show outstanding orders", "@outstandingOrderDetail": {}, - "overdue": "Καθυστερημένες", + "overdue": "Overdue", "@overdue": {}, - "overdueDetail": "Εμφάνιση καθυστερημένων παραγγελιών", + "overdueDetail": "Show overdue orders", "@overdueDetail": {}, - "packaging": "Συσκευασία", + "packaging": "Packaging", "@packaging": {}, - "packageName": "Όνομα Πακέτου", + "packageName": "Package Name", "@packageName": {}, - "parameters": "Παράμετροι", + "parameters": "Parameters", "@parameters": {}, - "parametersSettingDetail": "Εμφάνιση παραμέτρων εξαρτήματος", + "parametersSettingDetail": "Display part parameters", "@parametersSettingDetail": {}, - "parent": "Γονικό", + "parent": "Parent", "@parent": {}, - "parentCategory": "Γονική Κατηγορία", + "parentCategory": "Parent Category", "@parentCategory": {}, - "parentLocation": "Γονική Τοποθεσία", + "parentLocation": "Parent Location", "@parentLocation": {}, - "part": "Εξάρτημα", + "part": "Part", "@part": { "description": "Part (single)" }, - "partCreate": "Νέο Εξάρτημα", + "partCreate": "New Part", "@partCreate": {}, - "partCreateDetail": "Δημιουργία νέου εξαρτήματος σε αυτή την κατηγορία", + "partCreateDetail": "Create new part in this category", "@partCreateDetail": {}, - "partEdited": "Το εξάρτημα ενημερώθηκε", + "partEdited": "Part updated", "@partEdited": {}, - "parts": "Εξαρτήματα", + "parts": "Parts", "@parts": { "description": "Part (multiple)" }, - "partNotSalable": "Το εξάρτημα δεν έχει χαρακτηριστεί ως διαθέσιμο προς πώληση", + "partNotSalable": "Part not marked as salable", "@partNotSalable": {}, - "partsNone": "Δεν υπάρχουν εξαρτήματα", + "partsNone": "No Parts", "@partsNone": {}, - "partNoResults": "Κανένα εξάρτημα δεν ταιριάζει με την αναζήτηση", + "partNoResults": "No parts matching query", "@partNoResults": {}, - "partPricing": "Τιμολόγηση Εξαρτήματος", + "partPricing": "Part Pricing", "@partPricing": {}, - "partPricingSettingDetail": "Εμφάνιση πληροφοριών τιμολόγησης εξαρτήματος", + "partPricingSettingDetail": "Display part pricing information", "@pricingSettingDetail": {}, - "partSettings": "Ρυθμίσεις Εξαρτημάτων", + "partSettings": "Part Settings", "@partSettings": {}, - "partsStarred": "Εγγεγραμμένα Εξαρτήματα", + "partsStarred": "Subscribed Parts", "@partsStarred": {}, - "partsStarredNone": "Δεν υπάρχουν εγγεγραμμένα εξαρτήματα", + "partsStarredNone": "No starred parts available", "@partsStarredNone": {}, - "partSuppliers": "Προμηθευτές Εξαρτήματος", + "partSuppliers": "Part Suppliers", "@partSuppliers": {}, - "partCategory": "Κατηγορία Εξαρτήματος", + "partCategory": "Part Category", "@partCategory": {}, - "partCategoryTopLevel": "Κατηγορία εξαρτήματος ανώτερου επιπέδου", + "partCategoryTopLevel": "Top level part category", "@partCategoryTopLevel": {}, - "partCategories": "Κατηγορίες Εξαρτημάτων", + "partCategories": "Part Categories", "@partCategories": {}, - "partDetails": "Λεπτομέρειες Εξαρτήματος", + "partDetails": "Part Details", "@partDetails": {}, - "partNotes": "Σημειώσεις Εξαρτήματος", + "partNotes": "Part Notes", "@partNotes": {}, - "partStock": "Απόθεμα Εξαρτήματος", + "partStock": "Part Stock", "@partStock": { "description": "part stock" }, - "password": "Κωδικός", + "password": "Password", "@password": {}, - "passwordEmpty": "Ο κωδικός δεν μπορεί να είναι κενός", + "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Σε αναμονή", - "@pending": {}, - "permissionAccountDenied": "Ο λογαριασμός σας δεν έχει τα απαραίτητα δικαιώματα για αυτή την ενέργεια", + "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, - "permissionRequired": "Απαιτούνται Δικαιώματα", + "permissionRequired": "Permission Required", "@permissionRequired": {}, - "phone": "Τηλέφωνο", + "phone": "Phone", "@phone": {}, - "printLabel": "Εκτύπωση Ετικέτας", + "printLabel": "Print Label", "@printLabel": {}, - "plugin": "Πρόσθετο", + "plugin": "Plugin", "@plugin": {}, - "pluginPrinter": "Εκτυπωτής", + "pluginPrinter": "Printer", "@pluginPrinter": {}, - "pluginSupport": "Υποστήριξη Plugin ενεργοποιημένη", + "pluginSupport": "Plugin Support Enabled", "@pluginSupport": {}, - "pluginSupportDetail": "Ο διακομιστής υποστηρίζει προσαρμοσμένα plugins", + "pluginSupportDetail": "The server supports custom plugins", "@pluginSupportDetail": {}, - "printLabelFailure": "Η εκτύπωση ετικέτας απέτυχε", + "printLabelFailure": "Label printing failed", "@printLabelFailure": {}, - "printLabelSuccess": "Η ετικέτα στάλθηκε στον εκτυπωτή", + "printLabelSuccess": "Label sent to printer", "@printLabelSuccess": {}, - "profile": "Προφίλ", + "profile": "Profile", "@profile": {}, - "profileAdd": "Προσθήκη Προφίλ Διακομιστή", + "profileAdd": "Add Server Profile", "@profileAdd": {}, - "profileConnect": "Σύνδεση με Διακομιστή", + "profileConnect": "Connect to Server", "@profileConnect": {}, - "profileEdit": "Επεξεργασία Προφίλ Διακομιστή", + "profileEdit": "Edit Server Profile", "@profileEdit": {}, - "profileDelete": "Διαγραφή Προφίλ Διακομιστή", + "profileDelete": "Delete Server Profile", "@profileDelete": {}, - "profileLogout": "Αποσύνδεση Προφίλ", + "profileLogout": "Logout Profile", "@profileLogout": {}, - "profileName": "Όνομα Προφίλ", + "profileName": "Profile Name", "@profileName": {}, - "profileNone": "Δεν υπάρχουν διαθέσιμα προφίλ", + "profileNone": "No profiles available", "@profileNone": {}, - "profileNotSelected": "Δεν επιλέχθηκε προφίλ", + "profileNotSelected": "No Profile Selected", "@profileNotSelected": {}, - "profileSelect": "Επιλογή Διακομιστή InvenTree", + "profileSelect": "Select InvenTree Server", "@profileSelect": {}, - "profileSelectOrCreate": "Επιλέξτε διακομιστή ή δημιουργήστε νέο προφίλ", + "profileSelectOrCreate": "Select server or create a new profile", "@profileSelectOrCreate": {}, - "profileTapToCreate": "Πατήστε για δημιουργία ή επιλογή προφίλ", + "profileTapToCreate": "Tap to create or select a profile", "@profileTapToCreate": {}, - "projectCode": "Κωδικός Έργου", + "projectCode": "Project Code", "@projectCode": {}, - "purchaseOrderConfirmScan": "Επιβεβαίωση Δεδομένων Σάρωσης", + "purchaseOrderConfirmScan": "Confirm Scan Data", "@purchaseOrderConfirmScan": {}, - "purchaseOrderConfirmScanDetail": "Επιβεβαίωση λεπτομερειών κατά τη σάρωση αντικειμένων", + "purchaseOrderConfirmScanDetail": "Confirm details when scanning in items", "@purchaseOrderConfirmScanDetail": {}, - "purchaseOrderEnable": "Ενεργοποίηση Παραγγελιών Αγοράς", + "purchaseOrderEnable": "Enable Purchase Orders", "@purchaseOrderEnable": {}, - "purchaseOrderEnableDetail": "Ενεργοποίηση λειτουργιών παραγγελίας αγοράς", + "purchaseOrderEnableDetail": "Enable purchase order functionality", "@purchaseOrderEnableDetail": {}, - "purchaseOrderShowCamera": "Συντόμευση Κάμερας", + "purchaseOrderShowCamera": "Camera Shortcut", "@purchaseOrderShowCamera": {}, - "purchaseOrderShowCameraDetail": "Ενεργοποίηση συντόμευσης μεταφόρτωσης εικόνων στην οθόνη παραγγελίας", + "purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen", "@purchaseOrderShowCameraDetail": {}, - "purchaseOrder": "Παραγγελία Αγοράς", + "purchaseOrder": "Purchase Order", "@purchaseOrder": {}, - "purchaseOrderCreate": "Νέα Παραγγελία Αγοράς", + "purchaseOrderCreate": "New Purchase Order", "@purchaseOrderCreate": {}, - "purchaseOrderEdit": "Επεξεργασία Παραγγελίας Αγοράς", + "purchaseOrderEdit": "Edit Purchase Order", "@purchaseOrderEdit": {}, - "purchaseOrderSettings": "Ρυθμίσεις Παραγγελιών Αγοράς", + "purchaseOrderSettings": "Purchase order settings", "@purchaseOrderSettings": {}, - "purchaseOrders": "Παραγγελίες Αγοράς", + "purchaseOrders": "Purchase Orders", "@purchaseOrders": {}, - "purchaseOrderUpdated": "Η παραγγελία αγοράς ενημερώθηκε", + "purchaseOrderUpdated": "Purchase order updated", "@purchaseOrderUpdated": {}, - "purchasePrice": "Τιμή Αγοράς", + "purchasePrice": "Purchase Price", "@purchasePrice": {}, - "quantity": "Ποσότητα", + "quantity": "Quantity", "@quantity": { "description": "Quantity" }, - "quantityAvailable": "Διαθέσιμη Ποσότητα", + "quantityAvailable": "Quantity Available", "@quantityAvailable": {}, - "quantityEmpty": "Η ποσότητα είναι κενή", + "quantityEmpty": "Quantity is empty", "@quantityEmpty": {}, - "quantityInvalid": "Η ποσότητα δεν είναι έγκυρη", + "quantityInvalid": "Quantity is invalid", "@quantityInvalid": {}, - "quantityPositive": "Η ποσότητα πρέπει να είναι θετική", + "quantityPositive": "Quantity must be positive", "@quantityPositive": {}, - "queryEmpty": "Εισαγάγετε αναζήτηση", + "queryEmpty": "Enter search query", "@queryEmpty": {}, - "queryNoResults": "Δεν υπάρχουν αποτελέσματα για την αναζήτηση", + "queryNoResults": "No results for query", "@queryNoResults": {}, - "received": "Παραλήφθηκε", + "received": "Received", "@received": {}, - "receivedFilterDetail": "Εμφάνιση παραληφθέντων αντικειμένων", + "receivedFilterDetail": "Show received items", "@receivedFilterDetail": {}, - "receiveItem": "Παραλαβή Αντικειμένου", + "receiveItem": "Receive Item", "@receiveItem": {}, - "receivedItem": "Παραληφθέν Αντικείμενο Αποθέματος", + "receivedItem": "Received Stock Item", "@receivedItem": {}, - "reference": "Αναφορά", + "reference": "Reference", "@reference": {}, - "refresh": "Ανανέωση", + "refresh": "Refresh", "@refresh": {}, - "rotateClockwise": "Περιστροφή 90° δεξιόστροφα", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, - "refreshing": "Γίνεται ανανέωση", + "refreshing": "Refreshing", "@refreshing": {}, - "rejected": "Απορρίφθηκε", + "rejected": "Rejected", "@rejected": {}, - "releaseNotes": "Σημειώσεις Έκδοσης", + "releaseNotes": "Release Notes", "@releaseNotes": {}, - "remove": "Αφαίρεση", + "remove": "Remove", "@remove": { "description": "remove" }, - "removeStock": "Αφαίρεση Αποθέματος", + "removeStock": "Remove Stock", "@removeStock": { "description": "remove stock" }, - "reportBug": "Αναφορά Σφάλματος", + "reportBug": "Report Bug", "@reportBug": {}, - "reportBugDescription": "Υποβολή αναφοράς σφάλματος (απαιτεί λογαριασμό GitHub)", + "reportBugDescription": "Submit bug report (requires GitHub account)", "@reportBugDescription": {}, - "responsible": "Υπεύθυνος", + "responsible": "Responsible", "@responsible": {}, - "results": "Αποτελέσματα", + "results": "Results", "@results": {}, - "request": "Αίτημα", + "request": "Request", "@request": {}, - "requestFailed": "Η αίτηση απέτυχε", + "requestFailed": "Request Failed", "@requestFailed": {}, - "requestSuccessful": "Η αίτηση ολοκληρώθηκε με επιτυχία", + "requestSuccessful": "Request successful", "@requestSuccessful": {}, - "requestingData": "Ανάκτηση Δεδομένων", + "requestingData": "Requesting Data", "@requestingData": {}, - "required": "Απαιτείται", + "required": "Required", "@required": { "description": "This field is required" }, - "response400": "Μη Έγκυρο Αίτημα", + "response400": "Bad Request", "@response400": {}, - "response401": "Μη Εξουσιοδοτημένο", + "response401": "Unauthorized", "@response401": {}, - "response403": "Δεν Επιτρέπεται", + "response403": "Permission Denied", "@response403": {}, - "response404": "Ο Πόρος Δεν Βρέθηκε", + "response404": "Resource Not Found", "@response404": {}, - "response405": "Μη Επιτρεπτή Μέθοδος", + "response405": "Method Not Allowed", "@response405": {}, - "response429": "Πάρα Πολλά Αιτήματα", + "response429": "Too Many Requests", "@response429": {}, - "response500": "Εσωτερικό Σφάλμα Διακομιστή", + "response500": "Internal Server Error", "@response500": {}, - "response501": "Μη Υλοποιημένο", + "response501": "Not Implemented", "@response501": {}, - "response502": "Εσφαλμένη Πύλη (Bad Gateway)", + "response502": "Bad Gateway", "@response502": {}, - "response503": "Υπηρεσία Μη Διαθέσιμη", + "response503": "Service Unavailable", "@response503": {}, - "response504": "Λήξη Χρόνου Πύλης (Gateway Timeout)", + "response504": "Gateway Timeout", "@response504": {}, - "response505": "Η Έκδοση HTTP Δεν Υποστηρίζεται", + "response505": "HTTP Version Not Supported", "@response505": {}, - "responseData": "Δεδομένα Απόκρισης", + "responseData": "Response data", "@responseData": {}, - "responseInvalid": "Μη έγκυρος κωδικός απόκρισης", + "responseInvalid": "Invalid Response Code", "@responseInvalid": {}, - "responseUnknown": "Άγνωστη Απόκριση", + "responseUnknown": "Unknown Response", "@responseUnknown": {}, - "result": "Αποτέλεσμα", + "result": "Result", "@result": { "description": "" }, - "returned": "Επιστράφηκε", + "returned": "Returned", "@returned": {}, - "salesOrder": "Παραγγελία Πώλησης", + "salesOrder": "Sales Order", "@salesOrder": {}, - "salesOrders": "Παραγγελίες Πώλησης", + "salesOrders": "Sales Orders", "@salesOrders": {}, - "salesOrderEnable": "Ενεργοποίηση Παραγγελιών Πώλησης", + "salesOrderEnable": "Enable Sales Orders", "@salesOrderEnable": {}, - "salesOrderEnableDetail": "Ενεργοποίηση λειτουργιών παραγγελιών πώλησης", + "salesOrderEnableDetail": "Enable sales order functionality", "@salesOrderEnableDetail": {}, - "salesOrderShowCamera": "Συντόμευση Κάμερας", + "salesOrderShowCamera": "Camera Shortcut", "@salesOrderShowCamera": {}, - "salesOrderShowCameraDetail": "Ενεργοποίηση συντόμευσης μεταφόρτωσης εικόνας στην οθόνη παραγγελίας πώλησης", + "salesOrderShowCameraDetail": "Enable image upload shortcut on sales order screen", "@salesOrderShowCameraDetail": {}, - "salesOrderSettings": "Ρυθμίσεις Παραγγελιών Πώλησης", + "salesOrderSettings": "Sales order settings", "@salesOrderSettings": {}, - "salesOrderCreate": "Νέα Παραγγελία Πώλησης", + "salesOrderCreate": "New Sales Order", "@saleOrderCreate": {}, - "salesOrderEdit": "Επεξεργασία Παραγγελίας Πώλησης", + "salesOrderEdit": "Edit Sales Order", "@salesOrderEdit": {}, - "salesOrderUpdated": "Η παραγγελία πώλησης ενημερώθηκε", + "salesOrderUpdated": "Sales order updated", "@salesOrderUpdated": {}, - "save": "Αποθήκευση", + "save": "Save", "@save": { "description": "Save" }, - "scanBarcode": "Σάρωση Barcode", + "scanBarcode": "Scan Barcode", "@scanBarcode": {}, - "scanSupplierPart": "Σάρωση barcode εξαρτήματος προμηθευτή", + "scanSupplierPart": "Scan supplier part barcode", "@scanSupplierPart": {}, - "scanIntoLocation": "Σάρωση σε Τοποθεσία", + "scanIntoLocation": "Scan Into Location", "@scanIntoLocation": {}, - "scanIntoLocationDetail": "Σαρώστε αυτό το αντικείμενο στην τοποθεσία", + "scanIntoLocationDetail": "Scan this item into location", "@scanIntoLocationDetail": {}, - "scannerExternal": "Εξωτερικός Σαρωτής", + "scannerExternal": "External Scanner", "@scannerExternal": {}, - "scannerExternalDetail": "Χρήση εξωτερικού σαρωτή για ανάγνωση barcodes (wedge mode)", + "scannerExternalDetail": "Use external scanner to read barcodes (wedge mode)", "@scannerExternalDetail": {}, - "scanReceivedParts": "Σάρωση Παραληφθέντων Εξαρτημάτων", + "scanReceivedParts": "Scan Received Parts", "@scanReceivedParts": {}, - "search": "Αναζήτηση", + "search": "Search", "@search": { "description": "search" }, - "searching": "Γίνεται αναζήτηση", + "searching": "Searching", "@searching": {}, - "searchLocation": "Αναζήτηση τοποθεσίας", + "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, - "searchParts": "Αναζήτηση εξαρτημάτων", + "searchParts": "Search Parts", "@searchParts": {}, - "searchStock": "Αναζήτηση αποθέματος", + "searchStock": "Search Stock", "@searchStock": {}, - "select": "Επιλογή", + "select": "Select", "@select": {}, - "selectFile": "Επιλογή Αρχείου", + "selectFile": "Select File", "@selectFile": {}, - "selectImage": "Επιλογή Εικόνας", + "selectImage": "Select Image", "@selectImage": {}, - "selectLocation": "Επιλογή τοποθεσίας", + "selectLocation": "Select a location", "@selectLocation": {}, - "send": "Αποστολή", + "send": "Send", "@send": {}, - "serialNumber": "Σειριακός Αριθμός", + "serialNumber": "Serial Number", "@serialNumber": {}, - "serialNumbers": "Σειριακοί Αριθμοί", + "serialNumbers": "Serial Numbers", "@serialNumbers": {}, - "server": "Διακομιστής", + "server": "Server", "@server": {}, - "serverAddress": "Διεύθυνση Διακομιστή", + "serverAddress": "Server Address", "@serverAddress": {}, - "serverApiRequired": "Απαιτούμενη Έκδοση API", + "serverApiRequired": "Required API Version", "@serverApiRequired": {}, - "serverApiVersion": "Έκδοση API Διακομιστή", + "serverApiVersion": "Server API Version", "@serverApiVersion": {}, - "serverAuthenticationError": "Σφάλμα Πιστοποίησης", + "serverAuthenticationError": "Authentication Error", "@serverAuthenticationError": {}, - "serverCertificateError": "Σφάλμα Πιστοποιητικού", + "serverCertificateError": "Cerficate Error", "@serverCertificateError": {}, - "serverCertificateInvalid": "Το πιστοποιητικό HTTPS του διακομιστή δεν είναι έγκυρο", + "serverCertificateInvalid": "Server HTTPS certificate is invalid", "@serverCertificateInvalid": {}, - "serverConnected": "Συνδεδεμένο με τον Διακομιστή", + "serverConnected": "Connected to Server", "@serverConnected": {}, - "serverConnecting": "Σύνδεση με τον διακομιστή", + "serverConnecting": "Connecting to server", "@serverConnecting": {}, - "serverCouldNotConnect": "Αδυναμία σύνδεσης με τον διακομιστή", + "serverCouldNotConnect": "Could not connect to server", "@serverCouldNotConnect": {}, - "serverEmpty": "Το πεδίο διακομιστή δεν μπορεί να είναι κενό", + "serverEmpty": "Server cannot be empty", "@serverEmpty": {}, - "serverError": "Σφάλμα Διακομιστή", + "serverError": "Server Error", "@serverError": {}, - "serverDetails": "Λεπτομέρειες Διακομιστή", + "serverDetails": "Server Details", "@serverDetails": {}, - "serverMissingData": "Η απόκριση του διακομιστή δεν περιέχει τα απαιτούμενα δεδομένα", + "serverMissingData": "Server response missing required fields", "@serverMissingData": {}, - "serverOld": "Παλιά Έκδοση Διακομιστή", + "serverOld": "Old Server Version", "@serverOld": {}, - "serverSettings": "Ρυθμίσεις Διακομιστή", + "serverSettings": "Server Settings", "@serverSettings": {}, - "serverStart": "Ο διακομιστής πρέπει να ξεκινά με http[s]", + "serverStart": "Server must start with http[s]", "@serverStart": {}, - "settings": "Ρυθμίσεις", + "settings": "Settings", "@settings": {}, - "serverInstance": "Περίπτωση Διακομιστή", + "serverInstance": "Server Instance", "@serverInstance": {}, - "serverNotConnected": "Δεν υπάρχει σύνδεση με τον διακομιστή", + "serverNotConnected": "Server not connected", "@serverNotConnected": {}, - "serverNotSelected": "Δεν έχει επιλεγεί διακομιστής", + "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Αποστολή", - "@shipment": {}, - "shipments": "Αποστολές", + "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Εκκρεμείς Αποστολές", - "@shipmentsPending": {}, - "shipmentAdd": "Προσθήκη Αποστολής", + "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Έλεγχος Αποστολής", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Σημειώστε την αποστολή ως ελεγμένη", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Η Αποστολή Ελέγχθηκε", - "@shipmentChecked": {}, - "shipmentDate": "Ημερομηνία Αποστολής", - "@shipmentDate": {}, - "shipmentEdit": "Επεξεργασία Αποστολής", - "@shipmentEdit": {}, - "shipmentReference": "Αναφορά Αποστολής", - "@shipmentReference": {}, - "shipmentSend": "Αποστολή", - "@shipmentSend": {}, - "shipmentUncheck": "Αναίρεση Ελέγχου Αποστολής", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Σημειώστε την αποστολή ως μη ελεγμένη", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Η Αποστολή Ενημερώθηκε", - "@shipmentUpdated": {}, - "shipped": "Απεστάλη", + "shipped": "Shipped", "@shipped": {}, "sku": "SKU", "@sku": {}, - "sounds": "Ήχοι", + "sounds": "Sounds", "@sounds": {}, - "soundOnBarcodeAction": "Αναπαραγωγή ήχου κατά τη δράση barcode", + "soundOnBarcodeAction": "Play audible tone on barcode action", "@soundOnBarcodeAction": {}, - "soundOnServerError": "Αναπαραγωγή ήχου σε σφάλμα διακομιστή", + "soundOnServerError": "Play audible tone on server error", "@soundOnServerError": {}, - "startDate": "Ημερομηνία Έναρξης", + "startDate": "Start Date", "@startDate": {}, - "status": "Κατάσταση", + "status": "Status", "@status": {}, - "statusCode": "Κωδικός Κατάστασης", + "statusCode": "Status Code", "@statusCode": {}, - "stock": "Απόθεμα", + "stock": "Stock", "@stock": { "description": "stock" }, - "stockDetails": "Τρέχουσα διαθέσιμη ποσότητα αποθέματος", + "stockDetails": "Current available stock quantity", "@stockDetails": {}, - "stockItem": "Αντικείμενο Αποθέματος", + "stockItem": "Stock Item", "@stockItem": { "description": "stock item title" }, - "stockItems": "Αντικείμενα Αποθέματος", + "stockItems": "Stock Items", "@stockItems": {}, - "stockItemCreate": "Νέο Αντικείμενο Αποθέματος", + "stockItemCreate": "New Stock Item", "@stockItemCreate": {}, - "stockItemCreateDetail": "Δημιουργία νέου αντικειμένου αποθέματος σε αυτή την τοποθεσία", + "stockItemCreateDetail": "Create new stock item in this location", "@stockItemCreateDetail": {}, - "stockItemDelete": "Διαγραφή Αντικειμένου Αποθέματος", + "stockItemDelete": "Delete Stock Item", "@stockItemDelete": {}, - "stockItemDeleteConfirm": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το αντικείμενο αποθέματος;", + "stockItemDeleteConfirm": "Are you sure you want to delete this stock item?", "@stockItemDeleteConfirm": {}, - "stockItemDeleteFailure": "Δεν ήταν δυνατή η διαγραφή του αντικειμένου αποθέματος", + "stockItemDeleteFailure": "Could not delete stock item", "@stockItemDeleteFailure": {}, - "stockItemDeleteSuccess": "Το αντικείμενο αποθέματος διαγράφηκε", + "stockItemDeleteSuccess": "Stock item deleted", "@stockItemDeleteSuccess": {}, - "stockItemHistory": "Ιστορικό Αποθέματος", + "stockItemHistory": "Stock History", "@stockItemHistory": {}, - "stockItemHistoryDetail": "Εμφάνιση ιστορικών πληροφοριών παρακολούθησης αποθέματος", + "stockItemHistoryDetail": "Display historical stock tracking information", "@stockItemHistoryDetail": {}, - "stockItemTransferred": "Το αντικείμενο αποθέματος μεταφέρθηκε", + "stockItemTransferred": "Stock item transferred", "@stockItemTransferred": {}, - "stockItemUpdated": "Το αντικείμενο αποθέματος ενημερώθηκε", + "stockItemUpdated": "Stock item updated", "@stockItemUpdated": {}, - "stockItemsNotAvailable": "Δεν υπάρχουν διαθέσιμα αντικείμενα αποθέματος", + "stockItemsNotAvailable": "No stock items available", "@stockItemsNotAvailable": {}, - "stockItemNotes": "Σημειώσεις Αντικειμένου Αποθέματος", + "stockItemNotes": "Stock Item Notes", "@stockItemNotes": {}, - "stockItemUpdateSuccess": "Το αντικείμενο αποθέματος ενημερώθηκε", + "stockItemUpdateSuccess": "Stock item updated", "@stockItemUpdateSuccess": {}, - "stockItemUpdateFailure": "Η ενημέρωση του αντικειμένου απέτυχε", + "stockItemUpdateFailure": "Stock item update failed", "@stockItemUpdateFailure": {}, - "stockLocation": "Τοποθεσία Αποθέματος", + "stockLocation": "Stock Location", "@stockLocation": { "description": "stock location" }, - "stockLocations": "Τοποθεσίες Αποθέματος", + "stockLocations": "Stock Locations", "@stockLocations": {}, - "stockTopLevel": "Τοποθεσία αποθέματος ανώτερου επιπέδου", + "stockTopLevel": "Top level stock location", "@stockTopLevel": {}, - "strictHttps": "Χρήση Αποκλειστικού HTTPS", + "strictHttps": "Use Strict HTTPS", "@strictHttps": {}, - "strictHttpsDetails": "Επιβολή αυστηρού ελέγχου πιστοποιητικών HTTPS", + "strictHttpsDetails": "Enforce strict checking of HTTPs certificates", "@strictHttpsDetails": {}, - "subcategory": "Υποκατηγορία", + "subcategory": "Subcategory", "@subcategory": {}, - "subcategories": "Υποκατηγορίες", + "subcategories": "Subcategories", "@subcategories": {}, - "sublocation": "Υποτοποθεσία", + "sublocation": "Sublocation", "@sublocation": {}, - "sublocations": "Υποτοποθεσίες", + "sublocations": "Sublocations", "@sublocations": {}, - "sublocationNone": "Δεν υπάρχουν υποτοποθεσίες", + "sublocationNone": "No Sublocations", "@sublocationNone": {}, - "sublocationNoneDetail": "Δεν υπάρχουν διαθέσιμες υποτοποθεσίες", + "sublocationNoneDetail": "No sublocations available", "@sublocationNoneDetail": {}, - "submitFeedback": "Υποβολή Ανατροφοδότησης", + "submitFeedback": "Submit Feedback", "@submitFeedback": {}, - "suppliedParts": "Προμηθευμένα Εξαρτήματα", + "suppliedParts": "Supplied Parts", "@suppliedParts": {}, - "supplier": "Προμηθευτής", + "supplier": "Supplier", "@supplier": {}, - "supplierPart": "Κωδικός Προμηθευτή", + "supplierPart": "Supplier Part", "@supplierPart": {}, - "supplierPartEdit": "Επεξεργασία Κωδικού Προμηθευτή", + "supplierPartEdit": "Edit Supplier Part", "@supplierPartEdit": {}, - "supplierPartNumber": "Αριθμός Κωδικού Προμηθευτή", + "supplierPartNumber": "Supplier Part Number", "@supplierPartNumber": {}, - "supplierPartUpdated": "Ο κωδικός προμηθευτή ενημερώθηκε", + "supplierPartUpdated": "Supplier Part Updated", "@supplierPartUpdated": {}, - "supplierParts": "Κωδικοί Προμηθευτή", + "supplierParts": "Supplier Parts", "@supplierParts": {}, - "suppliers": "Προμηθευτές", + "suppliers": "Suppliers", "@suppliers": {}, - "supplierReference": "Αναφορά Προμηθευτή", + "supplierReference": "Supplier Reference", "@supplierReference": {}, - "switchCamera": "Αλλαγή Κάμερας", + "switchCamera": "Switch Camera", "@switchCamera": {}, - "takePicture": "Λήψη Φωτογραφίας", + "takePicture": "Take Picture", "@takePicture": {}, - "targetDate": "Ημερομηνία Στόχος", + "targetDate": "Target Date", "@targetDate": {}, - "templatePart": "Γονικό Πρότυπο Εξάρτημα", + "templatePart": "Parent Template Part", "@templatePart": {}, - "testName": "Όνομα Δοκιμής", + "testName": "Test Name", "@testName": {}, - "testPassedOrFailed": "Επιτυχία ή αποτυχία δοκιμής", + "testPassedOrFailed": "Test passed or failed", "@testPassedOrFailed": {}, - "testsRequired": "Απαιτούμενες Δοκιμές", + "testsRequired": "Required Tests", "@testsRequired": {}, - "testResults": "Αποτελέσματα Δοκιμών", + "testResults": "Test Results", "@testResults": { "description": "" }, - "testResultsDetail": "Εμφάνιση αποτελεσμάτων δοκιμών αντικειμένου αποθέματος", + "testResultsDetail": "Display stock item test results", "@testResultsDetail": {}, - "testResultAdd": "Προσθήκη Αποτελέσματος Δοκιμής", + "testResultAdd": "Add Test Result", "@testResultAdd": {}, - "testResultNone": "Δεν υπάρχουν αποτελέσματα δοκιμών", + "testResultNone": "No Test Results", "@testResultNone": {}, - "testResultNoneDetail": "Δεν υπάρχουν διαθέσιμα αποτελέσματα δοκιμών", + "testResultNoneDetail": "No test results available", "@testResultNoneDetail": {}, - "testResultUploadFail": "Σφάλμα κατά την αποστολή αποτελέσματος δοκιμής", + "testResultUploadFail": "Error uploading test result", "@testResultUploadFail": {}, - "testResultUploadPass": "Το αποτέλεσμα δοκιμής μεταφορτώθηκε", + "testResultUploadPass": "Test result uploaded", "@testResultUploadPass": {}, - "timeout": "Λήξη Χρόνου", + "timeout": "Timeout", "@timeout": { "description": "" }, - "toggleTorch": "Εναλλαγή Φακού", + "toggleTorch": "Toggle Torch", "@toggleTorch": {}, - "tokenError": "Σφάλμα Διακριτικού", + "tokenError": "Token Error", "@tokenError": {}, - "tokenMissing": "Λείπει Διακριτικό", + "tokenMissing": "Missing Token", "@tokenMissing": {}, - "tokenMissingFromResponse": "Το διακριτικό πρόσβασης λείπει από την απόκριση", + "tokenMissingFromResponse": "Access token missing from response", "@tokenMissingFromResponse": {}, - "totalPrice": "Συνολική Τιμή", + "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Αριθμός Παρακολούθησης", - "@trackingNumber": {}, - "transfer": "Μεταφορά", + "transfer": "Transfer", "@transfer": { "description": "transfer" }, - "transferStock": "Μεταφορά Αποθέματος", + "transferStock": "Transfer Stock", "@transferStock": { "description": "transfer stock" }, - "transferStockDetail": "Μεταφορά του αντικειμένου σε διαφορετική τοποθεσία", + "transferStockDetail": "Transfer item to a different location", "@transferStockDetail": {}, - "transferStockLocation": "Μεταφορά Τοποθεσίας Αποθέματος", + "transferStockLocation": "Transfer Stock Location", "@transferStockLocation": {}, - "transferStockLocationDetail": "Μεταφορά αυτής της τοποθεσίας αποθέματος σε άλλη", + "transferStockLocationDetail": "Transfer this stock location into another", "@transferStockLocationDetail": {}, - "translate": "Μετάφραση", + "translate": "Translate", "@translate": {}, - "translateHelp": "Βοηθήστε στη μετάφραση της εφαρμογής InvenTree", + "translateHelp": "Help translate the InvenTree app", "@translateHelp": {}, - "unavailable": "Μη Διαθέσιμο", + "unavailable": "Unavailable", "@unavailable": {}, - "unavailableDetail": "Το αντικείμενο δεν είναι διαθέσιμο", + "unavailableDetail": "Item is not available", "@unavailableDetail": {}, - "unitPrice": "Τιμή Μονάδας", + "unitPrice": "Unit Price", "@unitPrice": {}, - "units": "Μονάδες", + "units": "Units", "@units": {}, - "unknownResponse": "Άγνωστη Απόκριση", + "unknownResponse": "Unknown Response", "@unknownResponse": {}, - "upload": "Μεταφόρτωση", + "upload": "Upload", "@upload": {}, - "uploadFailed": "Η μεταφόρτωση του αρχείου απέτυχε", + "uploadFailed": "File upload failed", "@uploadFailed": {}, - "uploadSuccess": "Το αρχείο μεταφορτώθηκε", + "uploadSuccess": "File uploaded", "@uploadSuccess": {}, - "uploadImage": "Μεταφόρτωση Εικόνας", + "uploadImage": "Upload Image", "@uploadImage": {}, - "usedIn": "Χρησιμοποιείται Σε", + "usedIn": "Used In", "@usedIn": {}, - "usedInDetails": "Συναρμολογήσεις που απαιτούν αυτό το εξάρτημα", + "usedInDetails": "Assemblies which require this part", "@usedInDetails": {}, - "username": "Όνομα Χρήστη", + "username": "Username", "@username": {}, - "usernameEmpty": "Το όνομα χρήστη δεν μπορεί να είναι κενό", + "usernameEmpty": "Username cannot be empty", "@usernameEmpty": {}, - "value": "Τιμή", + "value": "Value", "@value": { "description": "value" }, - "valueCannotBeEmpty": "Η τιμή δεν μπορεί να είναι κενή", + "valueCannotBeEmpty": "Value cannot be empty", "@valueCannotBeEmpty": {}, - "valueRequired": "Η τιμή απαιτείται", + "valueRequired": "Value is required", "@valueRequired": {}, - "variants": "Παραλλαγές", + "variants": "Variants", "@variants": {}, - "version": "Έκδοση", + "version": "Version", "@version": {}, - "viewSupplierPart": "Προβολή Κωδικού Προμηθευτή", + "viewSupplierPart": "View Supplier Part", "@viewSupplierPart": {}, - "website": "Ιστοσελίδα", + "website": "Website", "@website": {}, - "yes": "Ναι", - "@yes": {}, - "price": "Τιμή", + "price": "Price", "@price": {}, - "priceRange": "Εύρος Τιμών", + "priceRange": "Price Range", "@priceRange": {}, - "priceOverrideMin": "Ελάχιστη Τιμή Override", + "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, - "priceOverrideMax": "Μέγιστη Τιμή Override", + "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, - "salePrice": "Τιμή Πώλησης", + "salePrice": "Sale Price", "@salePrice": {}, - "saleHistory": "Ιστορικό Πωλήσεων", + "saleHistory": "Sale History", "@saleHistory": {}, - "supplierPricing": "Τιμολόγηση Προμηθευτή", + "supplierPricing": "Supplier Pricing", "@supplierPricing": {}, - "bomCost": "Κόστος BOM", + "bomCost": "BOM Cost", "@bomCost": {}, - "internalCost": "Εσωτερικό Κόστος", + "internalCost": "Internal Cost", "@internalCost": {}, - "variantCost": "Κόστος Παραλλαγής", + "variantCost": "Variant Cost", "@variantCost": {}, - "overallPricing": "Συνολική Τιμολόγηση", + "overallPricing": "Overall Pricing", "@overallPricing": {}, - "pricingOverrides": "Price Overrides", + "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, - "currency": "Νόμισμα", + "currency": "Currency", "@currency": {}, - "priceBreaks": "Τμήματα Τιμής", - "@priceBreaks": {} + "priceBreaks": "Price Breaks", + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/es_ES/app_es_ES.arb b/lib/l10n/es_ES/app_es_ES.arb index 0fcb849..102ee6f 100644 --- a/lib/l10n/es_ES/app_es_ES.arb +++ b/lib/l10n/es_ES/app_es_ES.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Asignar stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Mostrar notas de versión de la aplicación", "@appReleaseNotes": {}, "appSettings": "Ajustes de aplicación", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Escaneo de código de barras en pausa", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Toque o mantenga pulsado para pausar el escaneo", "@barcodeScanPause": {}, "barcodeScanAssign": "Escanear para asignar código de barras", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Empresas", "@companies": {}, - "complete": "Completado", - "@complete": {}, - "completeOrder": "Completar Pedido", - "@completeOrder": {}, "completionDate": "Fecha de Finalización", "@completionDate": {}, "configureServer": "Configure las opciones de su servidor", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Operación de borrado fallida", "@deleteFailed": {}, - "deleteImageConfirmation": "¿Estas seguro de eliminar esta imagen?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Eliminar imagen", - "@deleteImageTooltip": {}, - "deleteImage": "Eliminar imagen", - "@deleteImage": {}, "deletePart": "Eliminar pieza", "@deletePart": {}, "deletePartDetail": "Eliminar esta pieza de la base de datos", "@deletePartDetail": {}, "deleteSuccess": "Operación de borrado exitosa", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Descripción", "@description": {}, "destination": "Destinación", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Mostrar botón de orden de compra en la pantalla de inicio", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Mostrar Órdenes de Venta", "@homeShowSo": {}, "homeShowSoDescription": "Mostrar botón de órdenes de ventas en la pantalla de inicio", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Combinación de nombre de usuario / contraseña no válida", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "", "@issue": {}, "issueDate": "Fecha de problema", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Palabras claves", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Impresión de etiquetas", "@labelPrinting": {}, "labelPrintingDetail": "Habilitar impresión de etiquetas", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Crear nueva ubicación de stock", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No se especificó ninguna ubicación", "@locationNotSet": {}, "locationUpdated": "Ubicación de stock actualizada", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nombre", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "No conectado", "@notConnected": {}, "notes": "Notas", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No hay imagen disponible", "@noImageAvailable": {}, - "noPricingAvailable": "No hay precios disponibles", - "@noPricingAvailable": {}, - "noPricingDataFound": "No se encontraron datos de precios para esta parte", - "@noPricingDataFound": {}, "noSubcategories": "No hay subcategorías", "@noSubcategories": {}, "noSubcategoriesAvailable": "No hay subcategorías disponibles", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "El campo de Contraseña no puede estar vacío", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Tu usuario no cuenta con los permisos necesarios para realizar esta acción", "@permissionAccountDenied": {}, "permissionRequired": "Se requiere autorización", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Buscar ubicación", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Buscar piezas", "@searchParts": {}, "searchStock": "Buscar Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Servidor no seleccionado", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Envíos", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Añadir envío", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Enviado", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Precio total", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transferir", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Sitio Web", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Precio", "@price": {}, "priceRange": "Rango de precios", @@ -1211,5 +1137,15 @@ "currency": "Divisa", "@currency": {}, "priceBreaks": "Diferenciales de precios", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No hay precios disponibles", + "@noPricingAvailable": {}, + "noPricingDataFound": "No se encontraron datos de precios para esta parte", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "¿Estas seguro de eliminar esta imagen?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Eliminar imagen", + "@deleteImageTooltip": {}, + "deleteImage": "Eliminar imagen", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/es_MX/app_es_MX.arb b/lib/l10n/es_MX/app_es_MX.arb index 1ea7ace..8efb8a7 100644 --- a/lib/l10n/es_MX/app_es_MX.arb +++ b/lib/l10n/es_MX/app_es_MX.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Asignar existencias", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Mostrar notas de versión de la aplicación", "@appReleaseNotes": {}, "appSettings": "Ajustes de aplicación", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Escaneo de código de barras en pausa", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Toque o mantenga pulsado para pausar el escaneo", "@barcodeScanPause": {}, "barcodeScanAssign": "Escanear para asignar código de barras", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Empresas", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Fecha de finalización", "@completionDate": {}, "configureServer": "Configurar ajustes del servidor", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Operación de eliminación fallida", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Eliminar parte", "@deletePart": {}, "deletePartDetail": "Eliminar esta parte de la base de datos", "@deletePartDetail": {}, "deleteSuccess": "Operación de eliminación exitosa", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Descripción", "@description": {}, "destination": "Destino", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Mostrar botón de orden de compra en la pantalla de inicio", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Mostrar Órdenes de Venta", "@homeShowSo": {}, "homeShowSoDescription": "Mostrar botón de órdenes de ventas en la pantalla de inicio", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Combinación inválida de usuario/contraseña", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Emitir", "@issue": {}, "issueDate": "Fecha de emisión", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Palabras claves", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Impresión de etiquetas", "@labelPrinting": {}, "labelPrintingDetail": "Habilitar impresión de etiquetas", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Crear nueva ubicación de inventario", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No se especificó ninguna ubicación", "@locationNotSet": {}, "locationUpdated": "Ubicación de inventario actualizada", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nombre", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "No conectado", "@notConnected": {}, "notes": "Notas", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No hay subcategorías", "@noSubcategories": {}, "noSubcategoriesAvailable": "No hay subcategorías disponibles", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "La contraseña no puede estar vacía", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Tu cuenta no cuenta con los permisos necesarios para realizar esta acción", "@permissionAccountDenied": {}, "permissionRequired": "Se requiere autorización", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Buscar ubicación", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Buscar partes", "@searchParts": {}, "searchStock": "Buscar inventario", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Servidor no seleccionado", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Envíos", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Añadir Envío", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Deseleccionar Envío", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Enviado", "@shipped": {}, "sku": "SKU", @@ -1076,7 +1006,7 @@ "@suppliers": {}, "supplierReference": "Referencia del proveedor", "@supplierReference": {}, - "switchCamera": "Cambiar Cámara", + "switchCamera": "Switch Camera", "@switchCamera": {}, "takePicture": "Tomar una foto", "@takePicture": {}, @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Precio total", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transferir", "@transfer": { "description": "transfer" @@ -1156,7 +1084,7 @@ "@uploadFailed": {}, "uploadSuccess": "Archivo subido", "@uploadSuccess": {}, - "uploadImage": "Subir Imagen", + "uploadImage": "Upload Image", "@uploadImage": {}, "usedIn": "Usado en", "@usedIn": {}, @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Sitio web", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/et_EE/app_et_EE.arb b/lib/l10n/et_EE/app_et_EE.arb index 3616a21..0449a7f 100644 --- a/lib/l10n/et_EE/app_et_EE.arb +++ b/lib/l10n/et_EE/app_et_EE.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Jaota laoseis", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, "appSettings": "Rakenduse sätted", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Ettevõtted", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Seadista serveri seadeid", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Kustuta osa", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Kirjeldus", "@description": {}, "destination": "Sihtkoht", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Märksõnad", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nimi", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Pole ühendatud", "@notConnected": {}, "notes": "Märkmed", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "Alamkategooriaid pole", "@noSubcategories": {}, "noSubcategoriesAvailable": "Ühtegi alamkategooriat pole saadaval", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Teie kontol ei ole vajalikke õigusi selle toimingu sooritamiseks", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Serverite pole valitud", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Saadetised", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Lisa saadetis", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Saadetud", "@shipped": {}, "sku": "Tootekood", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Hind kokku", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Ülekanne", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Koduleht", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/fa_IR/app_fa_IR.arb b/lib/l10n/fa_IR/app_fa_IR.arb index 8cc41e9..d14c414 100644 --- a/lib/l10n/fa_IR/app_fa_IR.arb +++ b/lib/l10n/fa_IR/app_fa_IR.arb @@ -36,18 +36,16 @@ "@appDetails": {}, "allocated": "اختصاص داده شده", "@allocated": {}, - "aspectRatio16x9": "۱۶ به ۹", + "aspectRatio16x9": "16:9", "@aspectRatio16x9": {}, - "aspectRatio3x2": "۳ به ۲", + "aspectRatio3x2": "3:2", "@aspectRatio3x2": {}, - "aspectRatio4x3": "۴ به ۳", + "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "مربعی (۱ به ۱)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "موجودی اختصاص داده شده", "@allocateStock": {}, - "allocatedStock": "موجودی اختصاص داده شده", - "@allocatedStock": {}, "appReleaseNotes": "نمایش یادداشت های انتشار برنامه", "@appReleaseNotes": {}, "appSettings": "تنظیمات برنامه", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "اسکن بارکد متوقف شد", "@barodeScanPaused": {}, - "barcodeScanPause": "برای توقف اسکن لمس کنید", + "barcodeScanPause": "برای توقف اسکن ضربه بزنید یا نگه دارید", "@barcodeScanPause": {}, "barcodeScanAssign": "برای اختصاص بارکد اسکن کنید", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "شرکت‌ها", "@companies": {}, - "complete": "تکمیل", - "@complete": {}, - "completeOrder": "تکمیل سفارش", - "@completeOrder": {}, "completionDate": "تاریخ تکمیل", "@completionDate": {}, "configureServer": "تنظیم شمخصات سرور", @@ -204,9 +198,9 @@ }, "credits": "اعتبارات", "@credits": {}, - "crop": "برش", + "crop": "Crop", "@crop": {}, - "cropImage": "برش تصویر", + "cropImage": "Crop Image", "@cropImage": {}, "customer": "مشتری", "@customer": {}, @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "عملیات حذف ناموفق بوده است", "@deleteFailed": {}, - "deleteImageConfirmation": "آیا مطمئن هستید که میخواهید این تصویر را حذف کنید؟", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "حذف تصویر", - "@deleteImageTooltip": {}, - "deleteImage": "حذف تصویر", - "@deleteImage": {}, "deletePart": "حذف قسمت", "@deletePart": {}, "deletePartDetail": "این قطعه را از پایگاه داده حذف کنید", "@deletePartDetail": {}, "deleteSuccess": "عملیات حذف با موفقیت انجام شد", "@deleteSuccess": {}, - "deliveryDate": "تاریخ تحویل", - "@deliveryDate": {}, "description": "توضیحات", "@description": {}, "destination": "مقصد", @@ -254,9 +240,9 @@ }, "documentation": "مستندات", "@documentation": {}, - "downloadComplete": "دانلود انجام شد", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "خطای دانلود تصویر", + "downloadError": "Error downloading image", "@downloadError": {}, "downloading": "در حال دانلود فایل", "@downloading": {}, @@ -282,7 +268,7 @@ "@editItem": {}, "editLineItem": "ویرایش ایتم خط", "@editLineItem": {}, - "email": "پست الکترونیکی", + "email": "Email", "@email": {}, "enterPassword": "رمز عبور را وارد کنید", "@enterPassword": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "نمایش دکمه سفارش خرید در صفحه خانه", "@homeShowPoDescription": {}, - "homeShowShipments": "نمایش محموله", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "نمایش محموله در انتظار ارسال بر روی صفحه اصلی", - "@homeShowShipmentsDescription": {}, "homeShowSo": "نمایش سفارش های فروش", "@homeShowSo": {}, "homeShowSoDescription": "نمایش دکمه سفارش فروش در صفحه خانه", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "ترکیب نام کاربری / رمز عبور نامعتبر", "@invalidUsernamePassword": {}, - "invoice": "صورت‌حساب", - "@invoice": {}, - "invoiceNumber": "شماره صورت‌حساب", - "@invoiceNumber": {}, "issue": "موضوع", "@issue": {}, "issueDate": "تاریخ صدور", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "کلمات کلیدی", "@keywords": {}, - "labelDriver": "درایور چاپگر برچسب", - "@labelDriver": {}, - "labelSelectDriver": "انتخاب درایور چاپگر برچسب", - "@labelSelectDriver": {}, "labelPrinting": "چاپ لیبل", "@labelPrinting": {}, "labelPrintingDetail": "چاپ لیبل را انتخاب کنید", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "مکان سهام جدید ایجاد کنید", "@locationCreateDetail": {}, - "locationDefault": "مکان پیش‌فرض", - "@locationDefault": {}, "locationNotSet": "هیچ مکانی مشخص نشده است", "@locationNotSet": {}, "locationUpdated": "مکان سهام به روز شد", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "نام", "@name": {}, - "no": "خیر", - "@no": {}, - "notApplicable": "موجود نیست", - "@notApplicable": {}, "notConnected": "متصل نیست", "@notConnected": {}, "notes": "یادداشت ها", @@ -562,12 +530,8 @@ "@noResponse": {}, "noResults": "بدون نتیجه", "@noResults": {}, - "noImageAvailable": "هیچ تصویری موجود نیست", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "هیچ قیمتی موجود نیست", - "@noPricingAvailable": {}, - "noPricingDataFound": "هیچ اطلاعات قیمتی برای این قطعه یافت نشد", - "@noPricingDataFound": {}, "noSubcategories": "بدون زیر دسته بندی", "@noSubcategories": {}, "noSubcategoriesAvailable": "هیچ زیر دسته بندی ای در دسترس نیست", @@ -630,9 +594,9 @@ "@partsNone": {}, "partNoResults": "هیچ قطعه ای مطابق با جست و جو یافت نشد", "@partNoResults": {}, - "partPricing": "قیمت‌گذاری قطعات", + "partPricing": "Part Pricing", "@partPricing": {}, - "partPricingSettingDetail": "نمایش اطلاعات قیمت‌گذاری قطعات", + "partPricingSettingDetail": "Display part pricing information", "@pricingSettingDetail": {}, "partSettings": "تنظیمات قطعه", "@partSettings": {}, @@ -660,13 +624,11 @@ "@password": {}, "passwordEmpty": "رمز عبور نمی تواند خالی باشد", "@passwordEmpty": {}, - "pending": "در حال بررسی", - "@pending": {}, "permissionAccountDenied": "حساب شما مجوزهای لازم برای انجام این عمل را ندارد", "@permissionAccountDenied": {}, "permissionRequired": "نیازمند مجوز", "@permissionRequired": {}, - "phone": "تماس", + "phone": "Phone", "@phone": {}, "printLabel": "پرینت برچسب", "@printLabel": {}, @@ -762,7 +724,7 @@ "@reference": {}, "refresh": "تازه سازی", "@refresh": {}, - "rotateClockwise": "چرخش °90 درجه در جهت عقربه های ساعت", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, "refreshing": "در حال تازه سازی", "@refreshing": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "جست و جو موقعیت", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "جست و جو قطعه ها", "@searchParts": {}, "searchStock": "جست و جو موجودی", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "سرور انتخاب نشده است", "@serverNotSelected": {}, - "shipment": "محموله", - "@shipment": {}, "shipments": "محموله ها", "@shipments": {}, - "shipmentsPending": "محموله در انتظار ارسال", - "@shipmentsPending": {}, "shipmentAdd": "افزودن محموله", "@shipmentAdd": {}, - "shipmentCheck": "بررسی محموله", - "@shipmentCheck": {}, - "shipmentCheckDetail": "این محموله را بررسی شده علامت گذاری کن", - "@shipmentCheckDetail": {}, - "shipmentChecked": "محموله بررسی شده", - "@shipmentChecked": {}, - "shipmentDate": "تاریخ ارسال", - "@shipmentDate": {}, - "shipmentEdit": "تغییر محموله", - "@shipmentEdit": {}, - "shipmentReference": "کد محموله", - "@shipmentReference": {}, - "shipmentSend": "ارسال محموله", - "@shipmentSend": {}, - "shipmentUncheck": "محموله بررسی نشده", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "این محموله را بررسی نشده علامت گذاری کن", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "محموله به روز رسانی شد", - "@shipmentUpdated": {}, "shipped": "ارسال شده", "@shipped": {}, "sku": "واحد نگهداری موجودی", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "قیمت کل", "@totalPrice": {}, - "trackingNumber": "کد رهگیری", - "@trackingNumber": {}, "transfer": "انتقال", "@transfer": { "description": "transfer" @@ -1156,7 +1084,7 @@ "@uploadFailed": {}, "uploadSuccess": "فایل اپلود شد", "@uploadSuccess": {}, - "uploadImage": "بارگذاری تصویر", + "uploadImage": "Upload Image", "@uploadImage": {}, "usedIn": "استفاده شده در", "@usedIn": {}, @@ -1182,34 +1110,42 @@ "@viewSupplierPart": {}, "website": "وب سایت", "@website": {}, - "yes": "بله", - "@yes": {}, - "price": "قیمت", + "price": "Price", "@price": {}, - "priceRange": "بازه‌ قیمت", + "priceRange": "Price Range", "@priceRange": {}, - "priceOverrideMin": "قیمت دستی مینیمم", + "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, - "priceOverrideMax": "قیمت دستی ماکزیمم", + "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, - "salePrice": "قیمت حراج", + "salePrice": "Sale Price", "@salePrice": {}, - "saleHistory": "تاریخچه حراج", + "saleHistory": "Sale History", "@saleHistory": {}, - "supplierPricing": "قیمت تامین کننده", + "supplierPricing": "Supplier Pricing", "@supplierPricing": {}, - "bomCost": "هزینه تمام شده", + "bomCost": "BOM Cost", "@bomCost": {}, - "internalCost": "هزینه داخلی", + "internalCost": "Internal Cost", "@internalCost": {}, - "variantCost": "هزینه متغیر", + "variantCost": "Variant Cost", "@variantCost": {}, - "overallPricing": "قیمت نهایی", + "overallPricing": "Overall Pricing", "@overallPricing": {}, - "pricingOverrides": "قیمت دستی", + "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, - "currency": "واحد پول", + "currency": "Currency", "@currency": {}, - "priceBreaks": "کاهش قیمت", - "@priceBreaks": {} + "priceBreaks": "Price Breaks", + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/fi_FI/app_fi_FI.arb b/lib/l10n/fi_FI/app_fi_FI.arb index ea2c362..2f06b86 100644 --- a/lib/l10n/fi_FI/app_fi_FI.arb +++ b/lib/l10n/fi_FI/app_fi_FI.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Näytä sovelluksen julkaisutiedot", "@appReleaseNotes": {}, "appSettings": "Sovelluksen asetukset", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Yritykset", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Määritä palvelimen asetukset", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Poisto epäonnistui", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Poista osa", "@deletePart": {}, "deletePartDetail": "Poista tämä osa tietokannasta", "@deletePartDetail": {}, "deleteSuccess": "Poistaminen onnistui", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Kuvaus", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Virheellinen käyttäjätunnuksen / salasanan yhdistelmä", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Avainsanat", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "Sijaintia ei ole määritetty", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nimi", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Merkinnät", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Salasana ei voi olla tyhjä", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Tililläsi ei ole tarvittavia oikeuksia tämän toiminnon suorittamiseen", "@permissionAccountDenied": {}, "permissionRequired": "Käyttöoikeus vaaditaan", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Etsi osia", "@searchParts": {}, "searchStock": "Etsi varastosta", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Palvelinta ei ole valittu", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Siirrä", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Sivusto", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/fr_FR/app_fr_FR.arb b/lib/l10n/fr_FR/app_fr_FR.arb index 9831dcb..aa6d9f2 100644 --- a/lib/l10n/fr_FR/app_fr_FR.arb +++ b/lib/l10n/fr_FR/app_fr_FR.arb @@ -42,12 +42,10 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Carré (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Allouer un stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Afficher les notes de version de l'application", "@appReleaseNotes": {}, "appSettings": "Réglages de l'application", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Scan de code-barres en pause", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Appuyez ou maintenez pour mettre en pause le scan", "@barcodeScanPause": {}, "barcodeScanAssign": "Scanner pour attribuer un code-barres", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Sociétés", "@companies": {}, - "complete": "Terminé", - "@complete": {}, - "completeOrder": "Finir l'achat", - "@completeOrder": {}, "completionDate": "Date d'achèvement", "@completionDate": {}, "configureServer": "Configurer les paramètres serveur", @@ -204,9 +198,9 @@ }, "credits": "Crédits", "@credits": {}, - "crop": "Rogner", + "crop": "Crop", "@crop": {}, - "cropImage": "Rogner l'image", + "cropImage": "Crop Image", "@cropImage": {}, "customer": "Client", "@customer": {}, @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "L'opération de suppression a échoué", "@deleteFailed": {}, - "deleteImageConfirmation": "Êtes-vous sûr de vouloir supprimer cette image ?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Supprimer l'image", - "@deleteImageTooltip": {}, - "deleteImage": "Supprimer l'image", - "@deleteImage": {}, "deletePart": "Supprimer la pièce", "@deletePart": {}, "deletePartDetail": "Supprimer cette pièce de la base de données", "@deletePartDetail": {}, "deleteSuccess": "Opération de suppression réussie", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", @@ -254,9 +240,9 @@ }, "documentation": "Documentation", "@documentation": {}, - "downloadComplete": "Téléchargement terminé", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "Impossible de télécharger l'image", + "downloadError": "Error downloading image", "@downloadError": {}, "downloading": "Téléchargement du fichier", "@downloading": {}, @@ -316,9 +302,9 @@ "@expiryExpired": {}, "expiryStale": "Périmé", "@expiryStale": {}, - "extraLineItem": "Ligne supplémentaire", + "extraLineItem": "Extra Line Item", "@extraLineItem": {}, - "extraLineItems": "Lignes supplémentaires", + "extraLineItems": "Extra Line Items", "@extraLineItems": {}, "feedback": "Donner votre avis", "@feedback": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Afficher le bouton de l'ordre d'achat sur l'écran d'accueil", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Afficher les commandes de vente", "@homeShowSo": {}, "homeShowSoDescription": "Afficher le bouton des commandes sur l'écran d'accueil", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Nom d'utilisateur/mot de passe invalide", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Problème", "@issue": {}, "issueDate": "Date d'émission", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Mots clés", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Impression étiquettes", "@labelPrinting": {}, "labelPrintingDetail": "Activer l'impression d'étiquettes", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Créer un nouvel emplacement de stock", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "Aucun emplacement spécifié", "@locationNotSet": {}, "locationUpdated": "Emplacement du stock mis à jour", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nom", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Non connecté", "@notConnected": {}, "notes": "Notes", @@ -562,12 +530,8 @@ "@noResponse": {}, "noResults": "Aucun résultat", "@noResults": {}, - "noImageAvailable": "Pas d'image disponible", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "Aucune tarification disponible", - "@noPricingAvailable": {}, - "noPricingDataFound": "Aucune donnée de tarification disponible pour cette pièce", - "@noPricingDataFound": {}, "noSubcategories": "Pas de sous-catégorie", "@noSubcategories": {}, "noSubcategoriesAvailable": "Aucune sous-catégorie disponible", @@ -660,13 +624,11 @@ "@password": {}, "passwordEmpty": "Le mot de passe peut pas être vide", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Vous n'avez pas les autorisations requises pour exécuter cette action", "@permissionAccountDenied": {}, "permissionRequired": "Autorisation requise", "@permissionRequired": {}, - "phone": "Téléphone", + "phone": "Phone", "@phone": {}, "printLabel": "Imprimer l'étiquette", "@printLabel": {}, @@ -762,7 +724,7 @@ "@reference": {}, "refresh": "Actualiser", "@refresh": {}, - "rotateClockwise": "Rotation à 90° dans le sens horaire", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, "refreshing": "Actualisation en cours", "@refreshing": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Rechercher un emplacement", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Rechercher de pièces", "@searchParts": {}, "searchStock": "Rechercher un stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Serveur non sélectionné", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Modes de livraison", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Ajouter un mode de livraison", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Expédié", "@shipped": {}, "sku": "UGS", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Prix Total", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfert", "@transfer": { "description": "transfer" @@ -1156,7 +1084,7 @@ "@uploadFailed": {}, "uploadSuccess": "Fichier transféré", "@uploadSuccess": {}, - "uploadImage": "Envoyer une image", + "uploadImage": "Upload Image", "@uploadImage": {}, "usedIn": "Utilisé dans", "@usedIn": {}, @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Site web", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Prix", "@price": {}, "priceRange": "Fourchette de prix", @@ -1206,10 +1132,20 @@ "@variantCost": {}, "overallPricing": "Cout Global", "@overallPricing": {}, - "pricingOverrides": "Remplacement des prix", + "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, "currency": "Devise", "@currency": {}, "priceBreaks": "Ruptures de prix", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "Aucune tarification disponible", + "@noPricingAvailable": {}, + "noPricingDataFound": "Aucune donnée de tarification disponible pour cette pièce", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/he_IL/app_he_IL.arb b/lib/l10n/he_IL/app_he_IL.arb index c508c93..26e9ff1 100644 --- a/lib/l10n/he_IL/app_he_IL.arb +++ b/lib/l10n/he_IL/app_he_IL.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "הקצאת מלאי", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": " הצג הערות פרסום של האפליקציה", "@appReleaseNotes": {}, "appSettings": "הגדרות אפליקציה", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "סריקת ברקוד מושהית", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "בקש או החזק כדי להשהות את הסריקה", "@barcodeScanPause": {}, "barcodeScanAssign": "סרוק כדי להקצות ברקוד", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "חברות", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "קבע את הגדרות השרת", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "פעולת המחיקה נכשלה", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "מחק פריט", "@deletePart": {}, "deletePartDetail": "הסר פריט זה ממסד הנתונים", "@deletePartDetail": {}, "deleteSuccess": "פעולת המחיקה הצליחה", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "תיאור", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "הצג את לחצן הזמנת רכש במסך הבית", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "הצג הזמנות מכירה", "@homeShowSo": {}, "homeShowSoDescription": "הצג את לחצן הזמנות מכירה במסך הבית", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "שילוב שם משתמש/סיסמה לא תקין", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "להנפיק", "@issue": {}, "issueDate": "תאריך הנפקה", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "מילות מפתח", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "הדפסת תווית", "@labelPrinting": {}, "labelPrintingDetail": "אפשר הדפסת תווית", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "צור מיקום מלאי חדש", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "לא צוין מיקום", "@locationNotSet": {}, "locationUpdated": "מיקום המלאי עודכן", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "שם", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "לא מחובר", "@notConnected": {}, "notes": "הערות", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "אין קטגורית משנה", "@noSubcategories": {}, "noSubcategoriesAvailable": "אין קטכוריות משנה זמינות", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "הסיסמה לא יכולה להיות ריקה", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "לחשבון זה אין את ההרשאות לבצע פעולה זו", "@permissionAccountDenied": {}, "permissionRequired": "נדרשת הרשאה", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "חפש מיקום", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "חיפוש פריטים", "@searchParts": {}, "searchStock": "חפש מלאי", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "השרת לא נבחר", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "משלוחים", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "מק\"ט [מספר קטלוגי] ", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "מחיר כולל", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "העבר", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "אתר", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/hi_IN/app_hi_IN.arb b/lib/l10n/hi_IN/app_hi_IN.arb index 6c8fde6..b30109d 100644 --- a/lib/l10n/hi_IN/app_hi_IN.arb +++ b/lib/l10n/hi_IN/app_hi_IN.arb @@ -26,7 +26,7 @@ "@addStock": { "description": "add stock" }, - "address": "", + "address": "Address", "@address": {}, "appAbout": "About InvenTree", "@appAbout": {}, @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, "appSettings": "App Settings", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -114,7 +112,7 @@ "@barcodeScanDelay": {}, "barcodeScanDelayDetail": "Delay between barcode scans", "@barcodeScanDelayDetail": {}, - "barcodeScanGeneral": "InvenTree बारकोड स्कैन करें", + "barcodeScanGeneral": "Scan an InvenTree barcode", "@barcodeScanGeneral": {}, "barcodeScanInItems": "Scan stock items into this location", "@barcodeScanInItems": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Companies", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/hu_HU/app_hu_HU.arb b/lib/l10n/hu_HU/app_hu_HU.arb index 0144f68..626d4e3 100644 --- a/lib/l10n/hu_HU/app_hu_HU.arb +++ b/lib/l10n/hu_HU/app_hu_HU.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Készlet foglalása", "@allocateStock": {}, - "allocatedStock": "Lefoglalt Készlet", - "@allocatedStock": {}, "appReleaseNotes": "Kiadási közlemények", "@appReleaseNotes": {}, "appSettings": "Alkalmazásbeállítások", @@ -56,7 +54,7 @@ "@appSettingsDetails": {}, "assignedToMe": "Hozzámrendelt", "@assignedToMe": {}, - "assignedToMeDetail": "Mutasd az én rendeléseim", + "assignedToMeDetail": "Show orders which are assigned to me", "@assignedToMeDetail": {}, "attachments": "Mellékletek", "@attachments": {}, @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Vonalkód olvasás megállítva", "@barodeScanPaused": {}, - "barcodeScanPause": "Érintse meg a szkennelés szüneteltetéséhez", + "barcodeScanPause": "Kattints vagy tartsd lenyomva a beolvasás felfüggesztéséhez", "@barcodeScanPause": {}, "barcodeScanAssign": "Kódolvasás a hozzárendeléshez", "@barcodeScanAssign": {}, @@ -148,7 +146,7 @@ "@build": {}, "building": "Gyártásban", "@building": {}, - "cameraCreationError": "Nem sikerült a kameravezérlőt megnyitni", + "cameraCreationError": "Could not open camera controller", "@cameraCreationError": {}, "cameraInternal": "Belső kamera", "@cameraInternal": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Cégek", "@companies": {}, - "complete": "Kész", - "@complete": {}, - "completeOrder": "Rendelés teljesítése", - "@completeOrder": {}, "completionDate": "Befejezés dátuma", "@completionDate": {}, "configureServer": "Kiszolgáló beállítások konfigurálása", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Törlés sikertelen", "@deleteFailed": {}, - "deleteImageConfirmation": "Biztosan törli a képet?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Kép törlése", - "@deleteImageTooltip": {}, - "deleteImage": "Kép törlése", - "@deleteImage": {}, "deletePart": "Alkatrész törlése", "@deletePart": {}, "deletePartDetail": "Alkatrész eltávolítása az adatbázisból", "@deletePartDetail": {}, "deleteSuccess": "Törlés sikeres", "@deleteSuccess": {}, - "deliveryDate": "Szállítási Dátum", - "@deliveryDate": {}, "description": "Leírás", "@description": {}, "destination": "Cél", @@ -316,9 +302,9 @@ "@expiryExpired": {}, "expiryStale": "Elavult", "@expiryStale": {}, - "extraLineItem": "Egyéb tétel", + "extraLineItem": "Extra Line Item", "@extraLineItem": {}, - "extraLineItems": "Egyéb tételek", + "extraLineItems": "Extra Line Items", "@extraLineItems": {}, "feedback": "Visszajelzés", "@feedback": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Beszerzési rendelések gomb megjelenítése a főoldalon", "@homeShowPoDescription": {}, - "homeShowShipments": "Szállítmányok Mutatása", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Függőben lévő szállítmányok megjelenítése a kezdőképernyőn", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Vevői rendelések megmutatása", "@homeShowSo": {}, "homeShowSoDescription": "Értékesítési rendelések gomb megjelenítése a főoldalon", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Érvénytelen felhasználónév/jelszó kombináció", "@invalidUsernamePassword": {}, - "invoice": "Számla", - "@invoice": {}, - "invoiceNumber": "Számlaszám", - "@invoiceNumber": {}, "issue": "Kiküldés", "@issue": {}, "issueDate": "Kiállítás dátuma", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Kulcsszavak", "@keywords": {}, - "labelDriver": "Címke Meghajtó", - "@labelDriver": {}, - "labelSelectDriver": "Címkenyomtató Meghajtó Kiválasztása", - "@labelSelectDriver": {}, "labelPrinting": "Címke nyomtatás", "@labelPrinting": {}, "labelPrintingDetail": "Címke nyomtatás engedélyezése", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Új készlet hely létrehozása", "@locationCreateDetail": {}, - "locationDefault": "Alapértelmezett Hely", - "@locationDefault": {}, "locationNotSet": "Nincs megadva hely", "@locationNotSet": {}, "locationUpdated": "Készlet hely adatai frissítve", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Név", "@name": {}, - "no": "Nem", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Nincs kapcsolódva", "@notConnected": {}, "notes": "Megjegyzések", @@ -562,12 +530,8 @@ "@noResponse": {}, "noResults": "Nincs találat", "@noResults": {}, - "noImageAvailable": "Nincs elérhető kép", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "Árazás nem elérhető", - "@noPricingAvailable": {}, - "noPricingDataFound": "Nincs árazási információ ehhez az alkatrészhez", - "@noPricingDataFound": {}, "noSubcategories": "Nincsenek alkategóriák", "@noSubcategories": {}, "noSubcategoriesAvailable": "Nincsenek alkategóriák", @@ -632,7 +596,7 @@ "@partNoResults": {}, "partPricing": "Alkatrész árazása", "@partPricing": {}, - "partPricingSettingDetail": "Alkatrész árazási információk megjelenítése", + "partPricingSettingDetail": "Display part pricing information", "@pricingSettingDetail": {}, "partSettings": "Alkatrész beállítások", "@partSettings": {}, @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Jelszó nem lehet üres", "@passwordEmpty": {}, - "pending": "Függőben", - "@pending": {}, "permissionAccountDenied": "Nincs meg a szükséges jogosultságod, hogy végrehajtsd ezt a műveletet", "@permissionAccountDenied": {}, "permissionRequired": "Engedély szükséges", @@ -708,17 +670,17 @@ "@profileTapToCreate": {}, "projectCode": "Projektszám", "@projectCode": {}, - "purchaseOrderConfirmScan": "Beolvasott adatok jóváhagyása", + "purchaseOrderConfirmScan": "Confirm Scan Data", "@purchaseOrderConfirmScan": {}, - "purchaseOrderConfirmScanDetail": "Tételek részleteinek jóváhagyása beolvasás közben", + "purchaseOrderConfirmScanDetail": "Confirm details when scanning in items", "@purchaseOrderConfirmScanDetail": {}, - "purchaseOrderEnable": "Beszerzési rendelések engedélyezése", + "purchaseOrderEnable": "Enable Purchase Orders", "@purchaseOrderEnable": {}, - "purchaseOrderEnableDetail": "Értékesítési rendelés funkció aktiválása", + "purchaseOrderEnableDetail": "Enable purchase order functionality", "@purchaseOrderEnableDetail": {}, "purchaseOrderShowCamera": "Kamera gyorsbillentyű", "@purchaseOrderShowCamera": {}, - "purchaseOrderShowCameraDetail": "Képfeltöltés shortcut engedélyezése az beszerzési rendelés oldalon", + "purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen", "@purchaseOrderShowCameraDetail": {}, "purchaseOrder": "Beszerzési rendelés", "@purchaseOrder": {}, @@ -840,7 +802,7 @@ "@salesOrders": {}, "salesOrderEnable": "Vevői rendelések engedélyezése", "@salesOrderEnable": {}, - "salesOrderEnableDetail": "Értékesítési rendelés funkció aktiválása", + "salesOrderEnableDetail": "Értékesítési rendés funkció aktiválása", "@salesOrderEnableDetail": {}, "salesOrderShowCamera": "Kamera gyorsbillentyű", "@salesOrderShowCamera": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Hely keresése", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Alkatrészek keresése", "@searchParts": {}, "searchStock": "Készlet keresése", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Nincs kiszolgáló választva", "@serverNotSelected": {}, - "shipment": "Szállítmány", - "@shipment": {}, "shipments": "Szállítmányok", "@shipments": {}, - "shipmentsPending": "Függőben Lévő Szállítmányok", - "@shipmentsPending": {}, "shipmentAdd": "Szállítmány hozzáadása", "@shipmentAdd": {}, - "shipmentCheck": "Szállítmány Ellenőrzése", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Jelölje meg ezt a szállítmányt ellenőrzöttként", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Szállítmány Ellenőrizve", - "@shipmentChecked": {}, - "shipmentDate": "Szállítmány Dátuma", - "@shipmentDate": {}, - "shipmentEdit": "Szállítmány Szerkesztése", - "@shipmentEdit": {}, - "shipmentReference": "Szállítmány Hivatkozás", - "@shipmentReference": {}, - "shipmentSend": "Szállítmány Küldése", - "@shipmentSend": {}, - "shipmentUncheck": "Szállítmány Ellenőrzés Visszavonása", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Jelölje meg ezt a szállítmányt nem ellenőrzöttként", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Szállítmány Frissítve", - "@shipmentUpdated": {}, "shipped": "Kiszállítva", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Teljes ár", "@totalPrice": {}, - "trackingNumber": "Nyomkövetési Szám", - "@trackingNumber": {}, "transfer": "Áthelyezés", "@transfer": { "description": "transfer" @@ -1142,7 +1070,7 @@ "@translateHelp": {}, "unavailable": "Nem elérhető", "@unavailable": {}, - "unavailableDetail": "Tétel nem elérhető", + "unavailableDetail": "Item is not available", "@unavailableDetail": {}, "unitPrice": "Egységár", "@unitPrice": {}, @@ -1182,21 +1110,19 @@ "@viewSupplierPart": {}, "website": "Weboldal", "@website": {}, - "yes": "Igen", - "@yes": {}, "price": "Ár", "@price": {}, "priceRange": "Ártartomány", "@priceRange": {}, - "priceOverrideMin": "Minimális Ár Felülbírálás", + "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, - "priceOverrideMax": "Maximumális Ár Felülbírálás", + "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, "salePrice": "Eladási ár", "@salePrice": {}, "saleHistory": "Eladási előzmények", "@saleHistory": {}, - "supplierPricing": "Beszállítói árazás", + "supplierPricing": "Supplier Pricing", "@supplierPricing": {}, "bomCost": "Alkatrészjegyzék költség", "@bomCost": {}, @@ -1204,12 +1130,22 @@ "@internalCost": {}, "variantCost": "Variáns költsége", "@variantCost": {}, - "overallPricing": "Általános árazás", + "overallPricing": "Overall Pricing", "@overallPricing": {}, - "pricingOverrides": "Árazás felülbírálások", + "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, "currency": "Pénznem", "@currency": {}, "priceBreaks": "Ársávok", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Kép törlése", + "@deleteImageTooltip": {}, + "deleteImage": "Kép törlése", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/id_ID/app_id_ID.arb b/lib/l10n/id_ID/app_id_ID.arb index 7cce4a5..84fda02 100644 --- a/lib/l10n/id_ID/app_id_ID.arb +++ b/lib/l10n/id_ID/app_id_ID.arb @@ -42,21 +42,19 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Persegi (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Alokasikan Stok", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Tampilkan catatan rilis aplikasi", "@appReleaseNotes": {}, "appSettings": "Pengaturan Aplikasi", "@appSettings": {}, "appSettingsDetails": "Konfigurasikan pengaturan aplikasi InvenTree", "@appSettingsDetails": {}, - "assignedToMe": "Ditugaskan kepada Saya", + "assignedToMe": "Assigned to Me", "@assignedToMe": {}, - "assignedToMeDetail": "Tampilkan pesanan yang ditugaskan kepada saya", + "assignedToMeDetail": "Show orders which are assigned to me", "@assignedToMeDetail": {}, "attachments": "Lampiran", "@attachments": {}, @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Pemindaian barcode dijeda", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Ketuk atau tahan untuk menjeda pemindaian", "@barcodeScanPause": {}, "barcodeScanAssign": "Pindai untuk menetapkan barcode", "@barcodeScanAssign": {}, @@ -148,7 +146,7 @@ "@build": {}, "building": "Bangunan", "@building": {}, - "cameraCreationError": "Tidak dapat membuka pengontrol kamera", + "cameraCreationError": "Could not open camera controller", "@cameraCreationError": {}, "cameraInternal": "Kamera Internal", "@cameraInternal": {}, @@ -170,7 +168,7 @@ "@categoryUpdated": {}, "company": "Perusahaan", "@company": {}, - "companyAdd": "Tambahkan Perusahaan", + "companyAdd": "Add Company", "@companyAdd": {}, "companyEdit": "Rubah Perusahaan", "@companyEdit": {}, @@ -180,11 +178,7 @@ "@companyUpdated": {}, "companies": "Perusahaan", "@companies": {}, - "complete": "Selesai", - "@complete": {}, - "completeOrder": "Lengkapi Pesanan", - "@completeOrder": {}, - "completionDate": "Tanggal Selesai", + "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Konfigurasikan pengaturan server", "@configureServer": {}, @@ -204,9 +198,9 @@ }, "credits": "Kredit", "@credits": {}, - "crop": "Pangkas", + "crop": "Crop", "@crop": {}, - "cropImage": "Pangkas Gambar", + "cropImage": "Crop Image", "@cropImage": {}, "customer": "Pelanggan", "@customer": {}, @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Operasi penghapusan gagal", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Hapus Part", "@deletePart": {}, "deletePartDetail": "Hapus Part ini dari database", "@deletePartDetail": {}, "deleteSuccess": "Operasi penghapusan berhasil", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Deskripsi", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Tampilkan tombol pesanan pembelian di layar beranda", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Tampilkan Pesanan Penjualan", "@homeShowSo": {}, "homeShowSoDescription": "Tampilkan tombol pesanan penjualan di layar beranda", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Kata Kunci", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nama", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Tidak Tersambung", "@notConnected": {}, "notes": "Catatan", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "Tidak ada subkategori", "@noSubcategories": {}, "noSubcategoriesAvailable": "Tidak ada subkategori tersedia", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Kata sandi tidak boleh kosong", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Akun Anda tidak memiliki izin yang diperlukan untuk melakukan tindakan ini", "@permissionAccountDenied": {}, "permissionRequired": "Izin Diperlukan", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Caro Lokasi", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Cari Part", "@searchParts": {}, "searchStock": "Cari Persediaan", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server tidak dipilih", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Pengiriman", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Tambahkan Pengiriman", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Terkirim", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Harga", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Situs", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/it_IT/app_it_IT.arb b/lib/l10n/it_IT/app_it_IT.arb index 6683476..4e47bfd 100644 --- a/lib/l10n/it_IT/app_it_IT.arb +++ b/lib/l10n/it_IT/app_it_IT.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Alloca stock", "@allocateStock": {}, - "allocatedStock": "Scorte Assegnate", - "@allocatedStock": {}, "appReleaseNotes": "Mostra le note di rilascio dell'app", "@appReleaseNotes": {}, "appSettings": "Impostazioni App", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Scansione codice a barre in pausa", "@barodeScanPaused": {}, - "barcodeScanPause": "Tocca per mettere in pausa la scansione", + "barcodeScanPause": "Premi oppure tieni premuti per mettere in pausa la scansione", "@barcodeScanPause": {}, "barcodeScanAssign": "Scansiona per assegnare codice a barre", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Aziende", "@companies": {}, - "complete": "Completato", - "@complete": {}, - "completeOrder": "Ordine completo", - "@completeOrder": {}, "completionDate": "Data di completamento", "@completionDate": {}, "configureServer": "Configurare le impostazioni del server", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Operazione di eliminazione fallita", "@deleteFailed": {}, - "deleteImageConfirmation": "Sei sicuro di voler eliminare questa immagine?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Elimina immagine", - "@deleteImageTooltip": {}, - "deleteImage": "Elimina immagine", - "@deleteImage": {}, "deletePart": "Elimina Articolo", "@deletePart": {}, "deletePartDetail": "Rimuovi quest'articolo dal database", "@deletePartDetail": {}, "deleteSuccess": "Operazione di eliminazione riuscita", "@deleteSuccess": {}, - "deliveryDate": "Data di consegna", - "@deliveryDate": {}, "description": "Descrizione", "@description": {}, "destination": "Destinazione", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Mostra il pulsante ordine d'acquisto nella schermata home", "@homeShowPoDescription": {}, - "homeShowShipments": "Mostra Spedizioni", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Mostra le spedizioni in sospeso nella schermata home", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Mostra ordini di vendita", "@homeShowSo": {}, "homeShowSoDescription": "Mostra bottone ordine di vendita sulla schermata principale", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Combinazione nome utente e password non valida", "@invalidUsernamePassword": {}, - "invoice": "Fattura", - "@invoice": {}, - "invoiceNumber": "Numero Fattura", - "@invoiceNumber": {}, "issue": "Problema", "@issue": {}, "issueDate": "Data di emissione", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Parole Chiave", "@keywords": {}, - "labelDriver": "Driver Etichetta", - "@labelDriver": {}, - "labelSelectDriver": "Seleziona Il Driver Della Stampante Etichette", - "@labelSelectDriver": {}, "labelPrinting": "Etichetta in stampa", "@labelPrinting": {}, "labelPrintingDetail": "Abilita stampa etichette", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Crea nuova ubicazione di magazzino", "@locationCreateDetail": {}, - "locationDefault": "Posizione Predefinita", - "@locationDefault": {}, "locationNotSet": "Nessuna ubicazione specificata", "@locationNotSet": {}, "locationUpdated": "Ubicazione di magazzino aggiornata", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nome", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Non connesso", "@notConnected": {}, "notes": "Note", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "Nessuna immagine disponibile", "@noImageAvailable": {}, - "noPricingAvailable": "Nessun prezzo disponibile", - "@noPricingAvailable": {}, - "noPricingDataFound": "Nessun dato trovato per questo articolo", - "@noPricingDataFound": {}, "noSubcategories": "Nessuna sotto categoria", "@noSubcategories": {}, "noSubcategoriesAvailable": "Nessuna sottocategoria disponibile", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "La password non può essere vuota", "@passwordEmpty": {}, - "pending": "In sospeso", - "@pending": {}, "permissionAccountDenied": "Non disponi dei permessi per eseguire l'azione", "@permissionAccountDenied": {}, "permissionRequired": "Autorizzazione necessaria", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Cerca Ubicazione", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Cerca Articoli", "@searchParts": {}, "searchStock": "Cerca Scorte", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server non selezionato", "@serverNotSelected": {}, - "shipment": "Spedizione", - "@shipment": {}, "shipments": "Spedizioni", "@shipments": {}, - "shipmentsPending": "Spedizioni in sospeso", - "@shipmentsPending": {}, "shipmentAdd": "Aggiungi Spedizione", "@shipmentAdd": {}, - "shipmentCheck": "Controlla spedizione", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Segna questa spedizione come controllata", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Spedizione Controllata", - "@shipmentChecked": {}, - "shipmentDate": "Data di spedizione", - "@shipmentDate": {}, - "shipmentEdit": "Modifica spedizione", - "@shipmentEdit": {}, - "shipmentReference": "Riferimento della spedizione", - "@shipmentReference": {}, - "shipmentSend": "Invia Spedizione", - "@shipmentSend": {}, - "shipmentUncheck": "Deseleziona Spedizione", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Contrassegna questa spedizione come non controllata", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Spedizione Aggiornata", - "@shipmentUpdated": {}, "shipped": "Spedito", "@shipped": {}, "sku": "Codice articolo", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Prezzo Totale", "@totalPrice": {}, - "trackingNumber": "Numero Di Tracking", - "@trackingNumber": {}, "transfer": "Trasferisci", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Sito Web", "@website": {}, - "yes": "Si", - "@yes": {}, "price": "Prezzo", "@price": {}, "priceRange": "Fascia di Prezzo", @@ -1211,5 +1137,15 @@ "currency": "Valuta", "@currency": {}, "priceBreaks": "Divergenze di prezzo", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "Nessun prezzo disponibile", + "@noPricingAvailable": {}, + "noPricingDataFound": "Nessun dato trovato per questo articolo", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Sei sicuro di voler eliminare questa immagine?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Elimina immagine", + "@deleteImageTooltip": {}, + "deleteImage": "Elimina immagine", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/ja_JP/app_ja_JP.arb b/lib/l10n/ja_JP/app_ja_JP.arb index baffd2c..e2b90f7 100644 --- a/lib/l10n/ja_JP/app_ja_JP.arb +++ b/lib/l10n/ja_JP/app_ja_JP.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "在庫の割り当て", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "アプリのリリースノートを表示", "@appReleaseNotes": {}, "appSettings": "アプリ設定", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "バーコードスキャンを一時停止中", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "スキャンを一時停止するにはタップまたはホールドします", "@barcodeScanPause": {}, "barcodeScanAssign": "スキャンしてバーコードを割り当てます", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "会社", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "完了日", "@completionDate": {}, "configureServer": "サーバー設定", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "削除操作に失敗しました", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "部品を削除", "@deletePart": {}, "deletePartDetail": "データベースからこの部品を削除します", "@deletePartDetail": {}, "deleteSuccess": "操作の削除に成功しました", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "説明", "@description": {}, "destination": "保存先", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "注文ボタンをホーム画面に表示", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "注文を表示", "@homeShowSo": {}, "homeShowSoDescription": "ホーム画面に注文ボタンを表示", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "無効なユーザー名/パスワードの組み合わせです。", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "問題", "@issue": {}, "issueDate": "発行日", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "キーワード", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "ラベル印刷", "@labelPrinting": {}, "labelPrintingDetail": "ラベル印刷を有効化", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "新しい在庫場所を作成", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "在庫場所が指定されていません", "@locationNotSet": {}, "locationUpdated": "在庫場所を更新しました", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "名前", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "接続されていません", "@notConnected": {}, "notes": "メモ", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "サブカテゴリはありません", "@noSubcategories": {}, "noSubcategoriesAvailable": "利用可能なサブ在庫場所がありません", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "パスワードは空欄にできません。", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "操作を行う権限がありません", "@permissionAccountDenied": {}, "permissionRequired": "権限が必要です", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "在庫場所を検索", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "パーツの検索", "@searchParts": {}, "searchStock": "在庫を検索", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "サーバーが選択されていません", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "発送品", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "出荷を追加", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "出荷済み", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "合計金額", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "転送", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Webサイト", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/ko_KR/app_ko_KR.arb b/lib/l10n/ko_KR/app_ko_KR.arb index f1e2e9b..85b8106 100644 --- a/lib/l10n/ko_KR/app_ko_KR.arb +++ b/lib/l10n/ko_KR/app_ko_KR.arb @@ -4,25 +4,25 @@ "@appTitle": { "description": "InvenTree application title string" }, - "ok": "확인", + "ok": "OK", "@ok": { "description": "OK" }, - "about": "정보", + "about": "About", "@about": {}, - "accountDetails": "계정 정보", + "accountDetails": "Account Details", "@accountDetails": {}, - "actions": "작업", + "actions": "Actions", "@actions": { "description": "" }, - "actionsNone": "실행 가능한 작업 없음", + "actionsNone": "No actions available", "@actionsNone": {}, "add": "추가", "@add": { "description": "add" }, - "addStock": "재고 추가", + "addStock": "Add Stock", "@addStock": { "description": "add stock" }, @@ -42,67 +42,65 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "정사각형 (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "앱 릴리즈 노트 표시", "@appReleaseNotes": {}, "appSettings": "앱 설정", "@appSettings": {}, "appSettingsDetails": "Configure InvenTree app settings", "@appSettingsDetails": {}, - "assignedToMe": "나에게 할당됨", + "assignedToMe": "Assigned to Me", "@assignedToMe": {}, "assignedToMeDetail": "Show orders which are assigned to me", "@assignedToMeDetail": {}, - "attachments": "첨부", + "attachments": "Attachments", "@attachments": {}, - "attachImage": "사진 첨부", + "attachImage": "Attach Image", "@attachImage": { "description": "Attach an image" }, - "attachmentNone": "첨부 파일이 없음", + "attachmentNone": "No attachments found", "@attachmentNone": {}, - "attachmentNoneDetail": "첨부 파일이 없음", + "attachmentNoneDetail": "No attachments found", "@attachmentNoneDetail": {}, - "attachmentSelect": "첨부파일 선택", + "attachmentSelect": "Select attachment", "@attachmentSelect": {}, "attention": "Attention", "@attention": {}, - "available": "사용가능", + "available": "Available", "@available": {}, "availableStock": "Available Stock", "@availableStock": {}, - "barcodes": "바코드", + "barcodes": "Barcodes", "@barcodes": {}, - "barcodeSettings": "바코드 설정", + "barcodeSettings": "Barcode Settings", "@barcodeSettings": {}, - "barcodeAssign": "바코드 할당", + "barcodeAssign": "Assign Barcode", "@barcodeAssign": {}, - "barcodeAssignDetail": "커스텀 바코드 할당", + "barcodeAssignDetail": "Scan custom barcode to assign", "@barcodeAssignDetail": {}, - "barcodeAssigned": "바코드 할당됨", + "barcodeAssigned": "Barcode assigned", "@barcodeAssigned": {}, - "barcodeError": "바코드 스캔 오류", + "barcodeError": "Barcode scan error", "@barcodeError": {}, - "barcodeInUse": "이미 바코드가 할당됨", + "barcodeInUse": "Barcode already assigned", "@barcodeInUse": {}, - "barcodeMissingHash": "바코드 해시 데이터 응답 없음", + "barcodeMissingHash": "Barcode hash data missing from response", "@barcodeMissingHash": {}, - "barcodeNoMatch": "바코드가 일치하지 않음", + "barcodeNoMatch": "No match for barcode", "@barcodeNoMatch": {}, - "barcodeNotAssigned": "바코드가 할당되지 않음", + "barcodeNotAssigned": "Barcode not assigned", "@barcodeNotAssigned": {}, - "barcodeScanPart": "스캔 파트 바코드", + "barcodeScanPart": "Scan part barcode", "@barcodeScanPart": {}, "barcodeReceivePart": "Scan barcode to receive part", "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Companies", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -194,7 +188,7 @@ "@confirmScanDetail": {}, "connectionRefused": "Connection Refused", "@connectionRefused": {}, - "count": "수량", + "count": "Count", "@count": { "description": "Count" }, @@ -204,13 +198,13 @@ }, "credits": "Credits", "@credits": {}, - "crop": "자르기", + "crop": "Crop", "@crop": {}, - "cropImage": "이미지 자르기", + "cropImage": "Crop Image", "@cropImage": {}, - "customer": "고객", + "customer": "Customer", "@customer": {}, - "customers": "고객", + "customers": "Customers", "@customers": {}, "customerReference": "Customer Reference", "@customerReference": {}, @@ -220,35 +214,27 @@ "@colorScheme": {}, "colorSchemeDetail": "Select color scheme", "@colorSchemeDetail": {}, - "darkMode": "다크 모드", + "darkMode": "Dark Mode", "@darkMode": {}, - "darkModeEnable": "다크 모드 활성화", + "darkModeEnable": "Enable dark mode", "@darkModeEnable": {}, - "delete": "삭제", + "delete": "Delete", "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", "@destination": {}, "destroyed": "Destroyed", "@destroyed": {}, - "details": "상세내용", + "details": "Details", "@details": { "description": "details" }, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "키워드", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "비밀번호는 비워둘 수 없습니다", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "귀하의 계정은 이 작업에 필요한 권한이 없습니다", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "웹사이트", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/lt_LT/app_lt_LT.arb b/lib/l10n/lt_LT/app_lt_LT.arb index ecdf8de..ceff316 100644 --- a/lib/l10n/lt_LT/app_lt_LT.arb +++ b/lib/l10n/lt_LT/app_lt_LT.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, "appSettings": "App Settings", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Companies", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/lv_LV/app_lv_LV.arb b/lib/l10n/lv_LV/app_lv_LV.arb index 7a792ed..2f2a3c0 100644 --- a/lib/l10n/lv_LV/app_lv_LV.arb +++ b/lib/l10n/lv_LV/app_lv_LV.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, "appSettings": "Lietotnes iestatījumi", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Uzņēmumi", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Apraksts", "@description": {}, "destination": "Mērķis", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/nl_NL/app_nl_NL.arb b/lib/l10n/nl_NL/app_nl_NL.arb index bc9c2c9..0b0a76b 100644 --- a/lib/l10n/nl_NL/app_nl_NL.arb +++ b/lib/l10n/nl_NL/app_nl_NL.arb @@ -42,12 +42,10 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Vierkant (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Voorraad Toewijzen", "@allocateStock": {}, - "allocatedStock": "Toegewezen voorraad", - "@allocatedStock": {}, "appReleaseNotes": "App release notities weergeven", "@appReleaseNotes": {}, "appSettings": "App Instellingen", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scannen gepauzeerd", "@barodeScanPaused": {}, - "barcodeScanPause": "Klik om scannen te pauzeren", + "barcodeScanPause": "Tik of houd om scannen te pauzeren", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan om streepjescode toe te wijzen", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Bedrijven", "@companies": {}, - "complete": "Gereed", - "@complete": {}, - "completeOrder": "Order Voltooien", - "@completeOrder": {}, "completionDate": "Datum van afronding", "@completionDate": {}, "configureServer": "Configureer server instellingen", @@ -204,9 +198,9 @@ }, "credits": "Credits", "@credits": {}, - "crop": "Bijsnijden", + "crop": "Crop", "@crop": {}, - "cropImage": "Afbeelding bijsnijden", + "cropImage": "Crop Image", "@cropImage": {}, "customer": "Klant", "@customer": {}, @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Verwijderen mislukt", "@deleteFailed": {}, - "deleteImageConfirmation": "Weet u zeker dat u deze afbeelding wilt verwijderen?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Afbeelding verwijderen", - "@deleteImageTooltip": {}, - "deleteImage": "Afbeelding verwijderen", - "@deleteImage": {}, "deletePart": "Onderdeel Verwijderen", "@deletePart": {}, "deletePartDetail": "Verwijder dit onderdeel uit de database", "@deletePartDetail": {}, "deleteSuccess": "Succesvol verwijderd", "@deleteSuccess": {}, - "deliveryDate": "Leveringsdatum", - "@deliveryDate": {}, "description": "Omschrijving", "@description": {}, "destination": "Bestemming:", @@ -254,9 +240,9 @@ }, "documentation": "Documentatie", "@documentation": {}, - "downloadComplete": "Download voltooid", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "Fout bij downloaden afbeelding", + "downloadError": "Error downloading image", "@downloadError": {}, "downloading": "Bestand wordt gedownload", "@downloading": {}, @@ -282,7 +268,7 @@ "@editItem": {}, "editLineItem": "Voorraadartikel bewerken", "@editLineItem": {}, - "email": "E-mailadres", + "email": "Email", "@email": {}, "enterPassword": "Wachtwoord invoeren", "@enterPassword": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Inkooporder knop op startscherm weergeven", "@homeShowPoDescription": {}, - "homeShowShipments": "Verzending weergeven", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Toon Leveringen in afwachting op het startscherm", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Toon Verkooporders", "@homeShowSo": {}, "homeShowSoDescription": "Toon verkooporder knop op startscherm", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Ongeldige gebruikersnaam / wachtwoord combinatie", "@invalidUsernamePassword": {}, - "invoice": "Factuur", - "@invoice": {}, - "invoiceNumber": "Factuur nummer", - "@invoiceNumber": {}, "issue": "Probleem", "@issue": {}, "issueDate": "Uitgiftedatum", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Trefwoorden", "@keywords": {}, - "labelDriver": "Label printer", - "@labelDriver": {}, - "labelSelectDriver": "Selecteer Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label afdrukken", "@labelPrinting": {}, "labelPrintingDetail": "Label afdrukken inschakelen", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Creëer nieuwe voorraadlocatie", "@locationCreateDetail": {}, - "locationDefault": "Standaard locatie", - "@locationDefault": {}, "locationNotSet": "Geen locatie opgegeven", "@locationNotSet": {}, "locationUpdated": "Voorraadlocatie bijgewerkt", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Naam", "@name": {}, - "no": "Nee", - "@no": {}, - "notApplicable": "N.v.t. ", - "@notApplicable": {}, "notConnected": "Niet verbonden", "@notConnected": {}, "notes": "Opmerkingen", @@ -562,12 +530,8 @@ "@noResponse": {}, "noResults": "Geen Resultaten", "@noResults": {}, - "noImageAvailable": "Geen afbeelding beschikbaar", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "Geen prijzen beschikbaar", - "@noPricingAvailable": {}, - "noPricingDataFound": "Er zijn geen prijsgegevens gevonden voor dit deel", - "@noPricingDataFound": {}, "noSubcategories": "Geen Subcategorieën", "@noSubcategories": {}, "noSubcategoriesAvailable": "Geen subcategorieën beschikbaar", @@ -660,13 +624,11 @@ "@password": {}, "passwordEmpty": "Wachtwoord mag niet leeg zijn", "@passwordEmpty": {}, - "pending": "In behandeling", - "@pending": {}, "permissionAccountDenied": "U heeft niet de vereiste rechten om deze actie uit te voeren", "@permissionAccountDenied": {}, "permissionRequired": "Toestemming Vereist", "@permissionRequired": {}, - "phone": "Telefoon", + "phone": "Phone", "@phone": {}, "printLabel": "Print Label", "@printLabel": {}, @@ -762,7 +724,7 @@ "@reference": {}, "refresh": "Vernieuwen", "@refresh": {}, - "rotateClockwise": "90° rechtsom draaien", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, "refreshing": "Verversen…", "@refreshing": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Zoeken naar locatie", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Zoek Onderdelen", "@searchParts": {}, "searchStock": "Zoek Voorraad", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server niet geselecteerd", "@serverNotSelected": {}, - "shipment": "Levering", - "@shipment": {}, "shipments": "Verzendingen", "@shipments": {}, - "shipmentsPending": "Leveringen in behandeling", - "@shipmentsPending": {}, "shipmentAdd": "Verzending toevoegen", "@shipmentAdd": {}, - "shipmentCheck": "Controleer Levering", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Markeer deze levering als gecontroleerd", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Levering gecontroleerd", - "@shipmentChecked": {}, - "shipmentDate": "Leverings Datum", - "@shipmentDate": {}, - "shipmentEdit": "Wijzig levering", - "@shipmentEdit": {}, - "shipmentReference": "Referentie verzending", - "@shipmentReference": {}, - "shipmentSend": "Verzending versturen", - "@shipmentSend": {}, - "shipmentUncheck": "Verzending uitvinken", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Markeer deze levering als niet gecontroleerd", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Verzending bijgewerkt", - "@shipmentUpdated": {}, "shipped": "Verzonden", "@shipped": {}, "sku": "Artikelnummer", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Totaalprijs", "@totalPrice": {}, - "trackingNumber": "Traceernummer", - "@trackingNumber": {}, "transfer": "Verplaats", "@transfer": { "description": "transfer" @@ -1156,7 +1084,7 @@ "@uploadFailed": {}, "uploadSuccess": "Bestand geüpload", "@uploadSuccess": {}, - "uploadImage": "Afbeelding Uploaden", + "uploadImage": "Upload Image", "@uploadImage": {}, "usedIn": "Wordt Gebruikt In", "@usedIn": {}, @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Ja", - "@yes": {}, "price": "Prijs", "@price": {}, "priceRange": "Prijs bereik", @@ -1211,5 +1137,15 @@ "currency": "Munteenheid", "@currency": {}, "priceBreaks": "Prijsverschillen", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "Geen prijzen beschikbaar", + "@noPricingAvailable": {}, + "noPricingDataFound": "Er zijn geen prijsgegevens gevonden voor dit deel", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/no_NO/app_no_NO.arb b/lib/l10n/no_NO/app_no_NO.arb index 68a6db4..3bbb36c 100644 --- a/lib/l10n/no_NO/app_no_NO.arb +++ b/lib/l10n/no_NO/app_no_NO.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Tildel lagerbeholdning", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Vis appens utgivelsesnotater", "@appReleaseNotes": {}, "appSettings": "Appinnstillinger", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Skanning satt på pause", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Trykk eller hold for å pause skanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Skann for å tildele strekkode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Firma", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Fullført dato", "@completionDate": {}, "configureServer": "Konfigurer serverinnstillinger", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Slettingen mislyktes", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Slett del", "@deletePart": {}, "deletePartDetail": "Fjern denne delen fra databasen", "@deletePartDetail": {}, "deleteSuccess": "Sletting var vellykket", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Beskrivelse", "@description": {}, "destination": "Destinasjon", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Vis innkjøpsordre-knappen på startside", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Vis salgsordrer", "@homeShowSo": {}, "homeShowSoDescription": "Vis salgsordre-knappen på startside", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Ugyldig brukernavn- / passordkombinasjon", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Send", "@issue": {}, "issueDate": "Sendt dato", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Nøkkelord", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Etikettutskrift", "@labelPrinting": {}, "labelPrintingDetail": "Aktiver etikettutskrift", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Opprett ny lagerplassering", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "Ingen plassering spesifisert", "@locationNotSet": {}, "locationUpdated": "Lagerplassering oppdatert", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Navn", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Ikke tilkoblet", "@notConnected": {}, "notes": "Notater", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "Ingen underkategorier", "@noSubcategories": {}, "noSubcategoriesAvailable": "Ingen underkategorier tilgjengelig", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Passordet kan ikke være tomt", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Kontoen din har ikke tillatelse til å utføre denne handlingen", "@permissionAccountDenied": {}, "permissionRequired": "Tillatelse kreves", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Søk etter plassering", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Søk i deler", "@searchParts": {}, "searchStock": "Søk i lagerbeholdning", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server ikke valgt", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Forsendelser", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Legg til forsendelse", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Sendt", "@shipped": {}, "sku": "SKU-kode", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total pris", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Overfør", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Nettside", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/pl_PL/app_pl_PL.arb b/lib/l10n/pl_PL/app_pl_PL.arb index af85d05..3bf7757 100644 --- a/lib/l10n/pl_PL/app_pl_PL.arb +++ b/lib/l10n/pl_PL/app_pl_PL.arb @@ -36,25 +36,23 @@ "@appDetails": {}, "allocated": "Przydzielono", "@allocated": {}, - "aspectRatio16x9": "16:9", + "aspectRatio16x9": "", "@aspectRatio16x9": {}, "aspectRatio3x2": "3:2", "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Kwadrat (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Przydziel zapasy", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Wyświetl informacje o historii aktualizacji", "@appReleaseNotes": {}, "appSettings": "Ustawienia aplikacji", "@appSettings": {}, "appSettingsDetails": "Konfiguruj ustawienia aplikacji InvenTree", "@appSettingsDetails": {}, - "assignedToMe": "Przypisane do mnie", + "assignedToMe": "", "@assignedToMe": {}, "assignedToMeDetail": "Pokaż zlecenia, które zostały do mnie przypisane", "@assignedToMeDetail": {}, @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Skanowanie kodów kreskowych wstrzymane", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Dotknij lub przytrzymaj, aby wstrzymać skanowanie", "@barcodeScanPause": {}, "barcodeScanAssign": "Zeskanuj aby przypisać kod kreskowy", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Firmy", "@companies": {}, - "complete": "Zakończono", - "@complete": {}, - "completeOrder": "Zakończ zamówienie", - "@completeOrder": {}, "completionDate": "Data ukończenia", "@completionDate": {}, "configureServer": "Konfiguruj ustawienia serwera", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Usuwanie nie powiodło się", "@deleteFailed": {}, - "deleteImageConfirmation": "Czy na pewno chcesz usunąć ten obraz?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Usuń obraz", - "@deleteImageTooltip": {}, - "deleteImage": "Usuń obraz", - "@deleteImage": {}, "deletePart": "Usuń Komponent", "@deletePart": {}, "deletePartDetail": "Usuń ten komponent z bazy danych", "@deletePartDetail": {}, "deleteSuccess": "Usuwanie zakończone powodzeniem", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Opis", "@description": {}, "destination": "Cel:", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Pokaż przycisk zamówienia zakupu na ekranie głównym", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Pokaż zlecenia sprzedaży", "@homeShowSo": {}, "homeShowSoDescription": "Pokaż przycisk zleceń sprzedaży na ekrani głównym", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Nieprawidłowy login lub hasło", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Problem", "@issue": {}, "issueDate": "Data Wystawienia", @@ -468,14 +446,10 @@ "@itemInLocation": {}, "itemDeleted": "Element został usunięty", "@itemDeleted": {}, - "itemUpdated": "Element został zaktualizowany.", + "itemUpdated": "Item updated", "@itemUpdated": {}, "keywords": "Słowa kluczowe", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Drukowanie etykiet", "@labelPrinting": {}, "labelPrintingDetail": "Włącz drukowanie etykiet", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Utwórz nową pozycję magazynową", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "Nie określono lokacji", "@locationNotSet": {}, "locationUpdated": "Lokalizacja stanu magazynowego została zaktualizowana", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nazwa", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Nie połączony", "@notConnected": {}, "notes": "Notatki", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "Brak dostępnych obrazów", "@noImageAvailable": {}, - "noPricingAvailable": "Cena nie jest dostępna", - "@noPricingAvailable": {}, - "noPricingDataFound": "Nie znaleziono danych dotyczących cen dla tej części", - "@noPricingDataFound": {}, "noSubcategories": "Brak podkategorii", "@noSubcategories": {}, "noSubcategoriesAvailable": "Brak dostępnych podkategorii", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Hasło nie może być puste", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Nie masz wystarczających uprawnień do wykonania tej czynności", "@permissionAccountDenied": {}, "permissionRequired": "Wymagane uprawnienia", @@ -782,7 +744,7 @@ "@reportBug": {}, "reportBugDescription": "Prześlij raport o błędzie (wymaga konta GitHub)", "@reportBugDescription": {}, - "responsible": "Odpowiedzialny", + "responsible": "Responsible", "@responsible": {}, "results": "Wyniki", "@results": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Wyszukaj lokalizację", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Szukaj części", "@searchParts": {}, "searchStock": "Szukaj zapasów", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Serwer nie wybrany", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Wysyłki", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Dodaj wysyłkę", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Wysłano", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Cena całkowita", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Przenieś", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Strona WWW", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Cena", "@price": {}, "priceRange": "Zakres cen", @@ -1198,9 +1124,9 @@ "@saleHistory": {}, "supplierPricing": "Supplier Pricing", "@supplierPricing": {}, - "bomCost": "Koszt BOM", + "bomCost": "BOM Cost", "@bomCost": {}, - "internalCost": "Koszt wewnętrzny", + "internalCost": "Internal Cost", "@internalCost": {}, "variantCost": "Variant Cost", "@variantCost": {}, @@ -1208,8 +1134,18 @@ "@overallPricing": {}, "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, - "currency": "Waluta", + "currency": "Currency", "@currency": {}, - "priceBreaks": "Widełki cenowe", - "@priceBreaks": {} + "priceBreaks": "Price Breaks", + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Usuń obraz", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/pt_BR/app_pt_BR.arb b/lib/l10n/pt_BR/app_pt_BR.arb index 85866f9..62bc779 100644 --- a/lib/l10n/pt_BR/app_pt_BR.arb +++ b/lib/l10n/pt_BR/app_pt_BR.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Estoque alocado", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Exibir notas de versão do aplicativo", "@appReleaseNotes": {}, "appSettings": "Configurações do App", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Escaneamento de código de barras pausado", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Toque ou segure para pausar o escaneamento", "@barcodeScanPause": {}, "barcodeScanAssign": "Escaneie para atribuir código de barras", "@barcodeScanAssign": {}, @@ -180,11 +178,7 @@ "@companyUpdated": {}, "companies": "Empresas", "@companies": {}, - "complete": "Concluído", - "@complete": {}, - "completeOrder": "Finalizar pedido", - "@completeOrder": {}, - "completionDate": "Data de conclusão", + "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Definir as configurações do servidor", "@configureServer": {}, @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "A operação de apagar falhou", "@deleteFailed": {}, - "deleteImageConfirmation": "Tem certeza de que deseja excluir essa imagem?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Excluir Imagem", - "@deleteImageTooltip": {}, - "deleteImage": "Excluir Imagem", - "@deleteImage": {}, "deletePart": "Deletar Peça", "@deletePart": {}, "deletePartDetail": "Remova essa peça do banco de dados", "@deletePartDetail": {}, "deleteSuccess": "Apagado com Sucesso", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Descrição", "@description": {}, "destination": "Destino", @@ -314,11 +300,11 @@ "@expiryDate": {}, "expiryExpired": "Vencido", "@expiryExpired": {}, - "expiryStale": "Inativo", + "expiryStale": "Stale", "@expiryStale": {}, - "extraLineItem": "Item de Linha extra", + "extraLineItem": "Extra Line Item", "@extraLineItem": {}, - "extraLineItems": "Itens de linha extra", + "extraLineItems": "Extra Line Items", "@extraLineItems": {}, "feedback": "Feedback", "@feedback": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Mostrar botão de ordem de compra na tela inicial", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Mostrar Pedidos de Venda", "@homeShowSo": {}, "homeShowSoDescription": "Mostrar Pedidos de Venda na tela inicial", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Usuario ou senha invalidos", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Emitir", "@issue": {}, "issueDate": "Data de emissao", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Palavras chave", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Impressão de Etiqueta", "@labelPrinting": {}, "labelPrintingDetail": "Habilitar Impressão de Etiqueta", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Criar nova localizacao no estoque", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "Nenhuma localizacao especificada", "@locationNotSet": {}, "locationUpdated": "Localizacao no estoque atualizada", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nome", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Nao conectado", "@notConnected": {}, "notes": "Notas", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "Nenhuma imagem disponível", "@noImageAvailable": {}, - "noPricingAvailable": "Nenhum preço disponível", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "Nenhuma subcategoria", "@noSubcategories": {}, "noSubcategoriesAvailable": "Nenhuma subcategoria disponível", @@ -632,7 +596,7 @@ "@partNoResults": {}, "partPricing": "Preço de Peça", "@partPricing": {}, - "partPricingSettingDetail": "Exibir informações de preço de parte", + "partPricingSettingDetail": "Display part pricing information", "@pricingSettingDetail": {}, "partSettings": "Configurações de Peça", "@partSettings": {}, @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "A senha não pode estar em branco", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Sua conta não possui as permissões necessárias para realizar esta ação", "@permissionAccountDenied": {}, "permissionRequired": "Permissão Necessária", @@ -708,9 +670,9 @@ "@profileTapToCreate": {}, "projectCode": "Código do projeto", "@projectCode": {}, - "purchaseOrderConfirmScan": "Confirmar dados de varredura", + "purchaseOrderConfirmScan": "Confirm Scan Data", "@purchaseOrderConfirmScan": {}, - "purchaseOrderConfirmScanDetail": "Confirmar detalhes ao escanear itens", + "purchaseOrderConfirmScanDetail": "Confirm details when scanning in items", "@purchaseOrderConfirmScanDetail": {}, "purchaseOrderEnable": "Habilitar Pedidos de Compra", "@purchaseOrderEnable": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Procurar um Local", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Procurar Peças", "@searchParts": {}, "searchStock": "Procurar o Estoque", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Servidor não selecionado", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Envios", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Adicionar envio", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Enviado", "@shipped": {}, "sku": "Código (SKU)", @@ -1110,7 +1040,7 @@ "@timeout": { "description": "" }, - "toggleTorch": "Lig/Desl. lanterna", + "toggleTorch": "Toggle Torch", "@toggleTorch": {}, "tokenError": "Error de token", "@tokenError": {}, @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Preço Total", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transferir", "@transfer": { "description": "transfer" @@ -1182,34 +1110,42 @@ "@viewSupplierPart": {}, "website": "Página Web", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Preço", "@price": {}, "priceRange": "Faixa de Preço", "@priceRange": {}, - "priceOverrideMin": "Substituição de preço mínimo", + "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, - "priceOverrideMax": "Substituição de preço máximo", + "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, "salePrice": "Preço de Venda", "@salePrice": {}, "saleHistory": "Histórico de Vendas", "@saleHistory": {}, - "supplierPricing": "Preço do fornecedor", + "supplierPricing": "Supplier Pricing", "@supplierPricing": {}, - "bomCost": "Custo de LDM", + "bomCost": "BOM Cost", "@bomCost": {}, - "internalCost": "Custo Interno", + "internalCost": "Internal Cost", "@internalCost": {}, - "variantCost": "Custo Variante", + "variantCost": "Variant Cost", "@variantCost": {}, - "overallPricing": "Precificação Geral", + "overallPricing": "Overall Pricing", "@overallPricing": {}, - "pricingOverrides": "Sobrescrever Preço", + "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, "currency": "Moeda", "@currency": {}, - "priceBreaks": "Quebra de Preço", - "@priceBreaks": {} + "priceBreaks": "Price Breaks", + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Tem certeza de que deseja excluir essa imagem?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Excluir Imagem", + "@deleteImageTooltip": {}, + "deleteImage": "Excluir Imagem", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/pt_PT/app_pt_PT.arb b/lib/l10n/pt_PT/app_pt_PT.arb index 87997d3..19f0b14 100644 --- a/lib/l10n/pt_PT/app_pt_PT.arb +++ b/lib/l10n/pt_PT/app_pt_PT.arb @@ -42,21 +42,19 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Quadrado (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Alocar estoque", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Exibir notas de versão do aplicativo", "@appReleaseNotes": {}, "appSettings": "Configurações do App", "@appSettings": {}, "appSettingsDetails": "Configurar os parâmetros do InvenTree", "@appSettingsDetails": {}, - "assignedToMe": "Atribuído a Mim", + "assignedToMe": "Assigned to Me", "@assignedToMe": {}, - "assignedToMeDetail": "Mostrar pedidos atribuídos a mim", + "assignedToMeDetail": "Show orders which are assigned to me", "@assignedToMeDetail": {}, "attachments": "Anexos", "@attachments": {}, @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Verificação do código de barras pausada", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Toque ou segure para pausar a verificação", "@barcodeScanPause": {}, "barcodeScanAssign": "Escaneie para atribuir código de barras", "@barcodeScanAssign": {}, @@ -148,7 +146,7 @@ "@build": {}, "building": "Compilando", "@building": {}, - "cameraCreationError": "Não foi possível aceder ao controlo da câmara", + "cameraCreationError": "Could not open camera controller", "@cameraCreationError": {}, "cameraInternal": "Câmera Interna", "@cameraInternal": {}, @@ -170,7 +168,7 @@ "@categoryUpdated": {}, "company": "Empresa", "@company": {}, - "companyAdd": "Adicionar Empresa", + "companyAdd": "Add Company", "@companyAdd": {}, "companyEdit": "Editar empresa", "@companyEdit": {}, @@ -180,11 +178,7 @@ "@companyUpdated": {}, "companies": "Empresas", "@companies": {}, - "complete": "Finalizar", - "@complete": {}, - "completeOrder": "Finalizar Encomenda", - "@completeOrder": {}, - "completionDate": "Data de conclusão", + "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configurar os parâmetros do servidor de email", "@configureServer": {}, @@ -204,9 +198,9 @@ }, "credits": "Créditos", "@credits": {}, - "crop": "Cortar", + "crop": "Crop", "@crop": {}, - "cropImage": "Recortar Imagem", + "cropImage": "Crop Image", "@cropImage": {}, "customer": "Cliente", "@customer": {}, @@ -216,9 +210,9 @@ "@customerReference": {}, "damaged": "Danificado", "@damaged": {}, - "colorScheme": "Esquema de cores", + "colorScheme": "Color Scheme", "@colorScheme": {}, - "colorSchemeDetail": "Seleccione o esquema de cores", + "colorSchemeDetail": "Select color scheme", "@colorSchemeDetail": {}, "darkMode": "Modo Noturno", "@darkMode": {}, @@ -228,23 +222,15 @@ "@delete": {}, "deleteFailed": "Falha ao excluir", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Excluir esta parte", "@deletePart": {}, "deletePartDetail": "Remover esta peça da base de dados", "@deletePartDetail": {}, "deleteSuccess": "Excluído com sucesso", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Descrição", "@description": {}, - "destination": "Destino", + "destination": "Destination", "@destination": {}, "destroyed": "Destruído", "@destroyed": {}, @@ -254,9 +240,9 @@ }, "documentation": "Documentação", "@documentation": {}, - "downloadComplete": "Transferência concluída", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "Erro ao transferir imagem", + "downloadError": "Error downloading image", "@downloadError": {}, "downloading": "Baixando arquivo", "@downloading": {}, @@ -264,7 +250,7 @@ "@edit": { "description": "edit" }, - "editAttachment": "Editar Anexo", + "editAttachment": "Edit Attachment", "@editAttachment": {}, "editCategory": "Editar categoria", "@editCategory": {}, @@ -310,15 +296,15 @@ "@errorReportUpload": {}, "errorReportUploadDetails": "Enviar relatórios de erros e registos anónimos", "@errorReportUploadDetails": {}, - "expiryDate": "Data de Validade", + "expiryDate": "Expiry Date", "@expiryDate": {}, - "expiryExpired": "Expirado", + "expiryExpired": "Expired", "@expiryExpired": {}, - "expiryStale": "Inativo", + "expiryStale": "Stale", "@expiryStale": {}, - "extraLineItem": "Adicionar Linha de Artigos Extra", + "extraLineItem": "Extra Line Item", "@extraLineItem": {}, - "extraLineItems": "Adicionar Linhas de Artigos Extra", + "extraLineItems": "Extra Line Items", "@extraLineItems": {}, "feedback": "Comentários", "@feedback": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Mostrar botão de pedido de compra na tela inicial", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Mostrar Pedidos de Vendas", "@homeShowSo": {}, "homeShowSoDescription": "Mostrar botão de pedido de compra na tela inicial", @@ -444,67 +426,59 @@ "@invalidHostDetails": {}, "invalidPart": "Peça Inválida", "@invalidPart": {}, - "invalidPartCategory": "Categoria de Peças Inválida", + "invalidPartCategory": "Invalid Part Category", "@invalidPartCategory": {}, - "invalidStockLocation": "Localização de Estoque Inválida", + "invalidStockLocation": "Invalid Stock Location", "@invalidStockLocation": {}, - "invalidStockItem": "Artigo de Estoque Inválido", + "invalidStockItem": "Invalid Stock Item", "@invalidStockItem": {}, - "invalidSupplierPart": "Peça de fornecedor inválida", + "invalidSupplierPart": "Invalid Supplier Part", "@invalidSupplierPart": {}, - "invalidUsernamePassword": "O nome de utilizador ou a palavra-passe não estão corretos", + "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, - "issue": "Erro", + "issue": "Issue", "@issue": {}, - "issueDate": "Data de emissão", + "issueDate": "Issue Date", "@issueDate": {}, - "issueOrder": "Emitir encomenda", + "issueOrder": "Issue Order", "@issueOrder": {}, - "itemInLocation": "O artigo já está no local", + "itemInLocation": "Item already in location", "@itemInLocation": {}, - "itemDeleted": "O artigo foi removido", + "itemDeleted": "Item has been removed", "@itemDeleted": {}, - "itemUpdated": "O artigo foi atualizado", + "itemUpdated": "Item updated", "@itemUpdated": {}, - "keywords": "Palavras-chave", + "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, - "labelPrinting": "Impressão de etiqueta", + "labelPrinting": "Label Printing", "@labelPrinting": {}, - "labelPrintingDetail": "Ativar impressão de etiquetas", + "labelPrintingDetail": "Enable label printing", "@labelPrintingDetail": {}, - "labelTemplate": "Modelo de Etiqueta", + "labelTemplate": "Label Template", "@labelTemplate": {}, - "labelSelectTemplate": "Selecione o modelo de etiqueta", + "labelSelectTemplate": "Select Label Template", "@labelSelectTemplate": {}, - "labelSelectPrinter": "Selecionar impressora de etiqueta", + "labelSelectPrinter": "Select Label Printer", "@labelSelectPrinter": {}, - "language": "Idioma", + "language": "Language", "@language": {}, - "languageDefault": "Idioma de sistema predefinido", + "languageDefault": "Default system language", "@languageDefault": {}, - "languageSelect": "Selecionar Idioma", + "languageSelect": "Select Language", "@languageSelect": {}, - "lastStocktake": "Último Balanço de Estoque", + "lastStocktake": "Last Stocktake", "@lastStocktake": {}, "lastUpdated": "Ultima atualização", "@lastUpdated": {}, - "level": "Nível", + "level": "Level", "@level": {}, - "lineItemAdd": "Adicionar linha", + "lineItemAdd": "Add Line Item", "@lineItemAdd": {}, - "lineItem": "Linha", + "lineItem": "Line Item", "@lineItem": {}, "lineItems": "Itens de linha", "@lineItems": {}, - "lineItemUpdated": "Linha atualizada", + "lineItemUpdated": "Line item updated", "@lineItemUpdated": {}, "locateItem": "Locate stock item", "@locateItem": {}, @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -606,7 +570,7 @@ "@parametersSettingDetail": {}, "parent": "Parent", "@parent": {}, - "parentCategory": "Categoria Principal", + "parentCategory": "Parent Category", "@parentCategory": {}, "parentLocation": "Parent Location", "@parentLocation": {}, @@ -646,29 +610,27 @@ "@partCategory": {}, "partCategoryTopLevel": "Top level part category", "@partCategoryTopLevel": {}, - "partCategories": "Categorias de Peça", + "partCategories": "Part Categories", "@partCategories": {}, - "partDetails": "Detalhes da Peça", + "partDetails": "Part Details", "@partDetails": {}, - "partNotes": "Notas da Peça", + "partNotes": "Part Notes", "@partNotes": {}, - "partStock": "Estoque da Peça", + "partStock": "Part Stock", "@partStock": { "description": "part stock" }, - "password": "Palavra-passe", + "password": "Password", "@password": {}, - "passwordEmpty": "A palavra-passe não pode estar vazia", + "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, - "permissionAccountDenied": "A sua conta não tem as permissões necessárias para executar esta ação", + "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, - "permissionRequired": "Permissão necessária", + "permissionRequired": "Permission Required", "@permissionRequired": {}, - "phone": "Telefone", + "phone": "Phone", "@phone": {}, - "printLabel": "Imprimir Etiqueta", + "printLabel": "Print Label", "@printLabel": {}, "plugin": "Plugin", "@plugin": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/ro_RO/app_ro_RO.arb b/lib/l10n/ro_RO/app_ro_RO.arb index 2753c0c..3041b6d 100644 --- a/lib/l10n/ro_RO/app_ro_RO.arb +++ b/lib/l10n/ro_RO/app_ro_RO.arb @@ -42,12 +42,10 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Pătrat (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Alocare Stoc", "@allocateStock": {}, - "allocatedStock": "Stocuri alocate", - "@allocatedStock": {}, "appReleaseNotes": "Afișează notele de lansare a aplicației", "@appReleaseNotes": {}, "appSettings": "Setări Aplicație", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Scanare cod de bare întreruptă", "@barodeScanPaused": {}, - "barcodeScanPause": "Atingeți pentru a întrerupe scanarea", + "barcodeScanPause": "Atingeți sau țineți apăsat pentru a întrerupe scanarea", "@barcodeScanPause": {}, "barcodeScanAssign": "Scanează pentru a atribui cod de bare", "@barcodeScanAssign": {}, @@ -170,7 +168,7 @@ "@categoryUpdated": {}, "company": "Companie", "@company": {}, - "companyAdd": "Adăugare companie", + "companyAdd": "Add Company", "@companyAdd": {}, "companyEdit": "Editare companie", "@companyEdit": {}, @@ -180,11 +178,7 @@ "@companyUpdated": {}, "companies": "Companii", "@companies": {}, - "complete": "Finalizare", - "@complete": {}, - "completeOrder": "Comandă completă", - "@completeOrder": {}, - "completionDate": "Data completării", + "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configurare setări server", "@configureServer": {}, @@ -204,9 +198,9 @@ }, "credits": "Credite", "@credits": {}, - "crop": "Decupați", + "crop": "Crop", "@crop": {}, - "cropImage": "Decupare imagine", + "cropImage": "Crop Image", "@cropImage": {}, "customer": "Client", "@customer": {}, @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Operațiune de ștergere eșuată", "@deleteFailed": {}, - "deleteImageConfirmation": "Sunteți sigur că doriți să ștergeți această imagine?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Șterge imaginea", - "@deleteImageTooltip": {}, - "deleteImage": "Șterge imaginea", - "@deleteImage": {}, "deletePart": "Șterge Piesa", "@deletePart": {}, "deletePartDetail": "Elimină această piesă din baza de date", "@deletePartDetail": {}, "deleteSuccess": "Operație de ștergere reușită", "@deleteSuccess": {}, - "deliveryDate": "Data livrării", - "@deliveryDate": {}, "description": "Descriere", "@description": {}, "destination": "Destinație", @@ -254,9 +240,9 @@ }, "documentation": "Documentație", "@documentation": {}, - "downloadComplete": "Descărcare completă", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "Eroare la descărcarea imaginii", + "downloadError": "Error downloading image", "@downloadError": {}, "downloading": "Se descarcă fișierul", "@downloading": {}, @@ -282,7 +268,7 @@ "@editItem": {}, "editLineItem": "Editare element rând", "@editLineItem": {}, - "email": "E-mail", + "email": "Email", "@email": {}, "enterPassword": "Introdu parola", "@enterPassword": {}, @@ -316,9 +302,9 @@ "@expiryExpired": {}, "expiryStale": "", "@expiryStale": {}, - "extraLineItem": "Elemente suplimentare", + "extraLineItem": "Extra Line Item", "@extraLineItem": {}, - "extraLineItems": "Elemente suplimentare", + "extraLineItems": "Extra Line Items", "@extraLineItems": {}, "feedback": "Feedback", "@feedback": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Afișați butonul de achiziții pe ecranul principal", "@homeShowPoDescription": {}, - "homeShowShipments": "Afișare livrări", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Arată transporturile în așteptare pe ecranul principal", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Arată Comenzile de Vânzări", "@homeShowSo": {}, "homeShowSoDescription": "Afișare buton vânzări pe ecranul principal", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Combinație de nume utilizator / parolă invalida", "@invalidUsernamePassword": {}, - "invoice": "Factură", - "@invoice": {}, - "invoiceNumber": "Număr factură", - "@invoiceNumber": {}, "issue": "Problemă", "@issue": {}, "issueDate": "Data emiterii", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Cuvinte cheie", "@keywords": {}, - "labelDriver": "Etichetează șofer", - "@labelDriver": {}, - "labelSelectDriver": "Selectați șofer de imprimante etichetă", - "@labelSelectDriver": {}, "labelPrinting": "Printare etichete", "@labelPrinting": {}, "labelPrintingDetail": "Permite tipărirea etichetei", @@ -484,7 +458,7 @@ "@labelTemplate": {}, "labelSelectTemplate": "Selectați șablon de etichetă", "@labelSelectTemplate": {}, - "labelSelectPrinter": "Selectați imprimanta de etichete", + "labelSelectPrinter": "Select Label Printer", "@labelSelectPrinter": {}, "language": "Limba", "@language": {}, @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Creează o nouă locație de stoc", "@locationCreateDetail": {}, - "locationDefault": "Locație implicită", - "@locationDefault": {}, "locationNotSet": "Nici o locaţie specificată", "@locationNotSet": {}, "locationUpdated": "Locație stoc actualizată", @@ -532,7 +504,7 @@ "@lost": {}, "manufacturerPart": "", "@manufacturerPart": {}, - "manufacturerPartEdit": "Editați piesa producătorului", + "manufacturerPartEdit": "Edit Manufacturer Part", "@manufacturerPartEdit": {}, "manufacturerPartNumber": "Număr Serie Producător", "@manufacturerPartNumber": {}, @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Nume", "@name": {}, - "no": "Nu", - "@no": {}, - "notApplicable": "Indisponibil", - "@notApplicable": {}, "notConnected": "Neconectat", "@notConnected": {}, "notes": "Notițe", @@ -562,12 +530,8 @@ "@noResponse": {}, "noResults": "Niciun rezultat", "@noResults": {}, - "noImageAvailable": "Nici o imagine disponibilă", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "Nu există prețuri disponibile", - "@noPricingAvailable": {}, - "noPricingDataFound": "Nu au fost găsite date despre prețuri pentru această piesă", - "@noPricingDataFound": {}, "noSubcategories": "Nu există subcategorii", "@noSubcategories": {}, "noSubcategoriesAvailable": "Nicio subcategorie disponibilă", @@ -630,9 +594,9 @@ "@partsNone": {}, "partNoResults": "Nicio piesă care se potrivește", "@partNoResults": {}, - "partPricing": "Preț piesă", + "partPricing": "Part Pricing", "@partPricing": {}, - "partPricingSettingDetail": "Afișați informații despre preț", + "partPricingSettingDetail": "Display part pricing information", "@pricingSettingDetail": {}, "partSettings": "Setări Piesa", "@partSettings": {}, @@ -660,13 +624,11 @@ "@password": {}, "passwordEmpty": "Câmpul pentru Parola nu poate fi gol", "@passwordEmpty": {}, - "pending": "În așteptare", - "@pending": {}, "permissionAccountDenied": "Contul dvs. nu are permisiunile necesare pentru a efectua această acțiune", "@permissionAccountDenied": {}, "permissionRequired": "Permisiune necesară", "@permissionRequired": {}, - "phone": "Telefon", + "phone": "Phone", "@phone": {}, "printLabel": "Printati Eticheta", "@printLabel": {}, @@ -684,532 +646,506 @@ "@printLabelSuccess": {}, "profile": "Profiluri", "@profile": {}, - "profileAdd": "Adaugă Profil Server", + "profileAdd": "Add Server Profile", "@profileAdd": {}, - "profileConnect": "Conectare la server", + "profileConnect": "Connect to Server", "@profileConnect": {}, - "profileEdit": "Editează Profilul Serverului", + "profileEdit": "Edit Server Profile", "@profileEdit": {}, - "profileDelete": "Ștergere profil server", + "profileDelete": "Delete Server Profile", "@profileDelete": {}, - "profileLogout": "Deconectare profil", + "profileLogout": "Logout Profile", "@profileLogout": {}, - "profileName": "Nume profil", + "profileName": "Profile Name", "@profileName": {}, - "profileNone": "Nici un profil disponibil", + "profileNone": "No profiles available", "@profileNone": {}, - "profileNotSelected": "Nici un profil selectat", + "profileNotSelected": "No Profile Selected", "@profileNotSelected": {}, - "profileSelect": "Selectați serverul InvenTree", + "profileSelect": "Select InvenTree Server", "@profileSelect": {}, - "profileSelectOrCreate": "Selectează server sau creează un profil nou", + "profileSelectOrCreate": "Select server or create a new profile", "@profileSelectOrCreate": {}, - "profileTapToCreate": "Atingeți pentru a crea sau a selecta un profil", + "profileTapToCreate": "Tap to create or select a profile", "@profileTapToCreate": {}, - "projectCode": "Cod proiect", + "projectCode": "Project Code", "@projectCode": {}, - "purchaseOrderConfirmScan": "Confirmați datele scanate", + "purchaseOrderConfirmScan": "Confirm Scan Data", "@purchaseOrderConfirmScan": {}, - "purchaseOrderConfirmScanDetail": "Confirmați detaliile la scanarea articolelor", + "purchaseOrderConfirmScanDetail": "Confirm details when scanning in items", "@purchaseOrderConfirmScanDetail": {}, - "purchaseOrderEnable": "Activați comenzile de achiziție", + "purchaseOrderEnable": "Enable Purchase Orders", "@purchaseOrderEnable": {}, - "purchaseOrderEnableDetail": "Activează funcționalitatea comenzii de achiziție", + "purchaseOrderEnableDetail": "Enable purchase order functionality", "@purchaseOrderEnableDetail": {}, - "purchaseOrderShowCamera": "Scurtătura Cameră", + "purchaseOrderShowCamera": "Camera Shortcut", "@purchaseOrderShowCamera": {}, - "purchaseOrderShowCameraDetail": "Activează comanda rapidă pentru încărcarea imaginilor pe ecranul comenzii de achiziție", + "purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen", "@purchaseOrderShowCameraDetail": {}, - "purchaseOrder": "Comandă de achiziție", + "purchaseOrder": "Purchase Order", "@purchaseOrder": {}, - "purchaseOrderCreate": "Comandă nouă de achiziție", + "purchaseOrderCreate": "New Purchase Order", "@purchaseOrderCreate": {}, - "purchaseOrderEdit": "Editați comanda de achiziție", + "purchaseOrderEdit": "Edit Purchase Order", "@purchaseOrderEdit": {}, - "purchaseOrderSettings": "Setări comandă de achiziție", + "purchaseOrderSettings": "Purchase order settings", "@purchaseOrderSettings": {}, - "purchaseOrders": "Comandă de achiziție", + "purchaseOrders": "Purchase Orders", "@purchaseOrders": {}, - "purchaseOrderUpdated": "Comandă de achiziție actualizată", + "purchaseOrderUpdated": "Purchase order updated", "@purchaseOrderUpdated": {}, - "purchasePrice": "Preț achiziție", + "purchasePrice": "Purchase Price", "@purchasePrice": {}, - "quantity": "Cantitate", + "quantity": "Quantity", "@quantity": { "description": "Quantity" }, - "quantityAvailable": "Cantitate disponibilă", + "quantityAvailable": "Quantity Available", "@quantityAvailable": {}, - "quantityEmpty": "Cantitatea este goală", + "quantityEmpty": "Quantity is empty", "@quantityEmpty": {}, - "quantityInvalid": "Cantitate invalida", + "quantityInvalid": "Quantity is invalid", "@quantityInvalid": {}, - "quantityPositive": "Cantitatea trebuie să fie pozitivă", + "quantityPositive": "Quantity must be positive", "@quantityPositive": {}, - "queryEmpty": "Introdu text căutat", + "queryEmpty": "Enter search query", "@queryEmpty": {}, - "queryNoResults": "Nici un rezultat pentru cautare", + "queryNoResults": "No results for query", "@queryNoResults": {}, - "received": "Recepţionat", + "received": "Received", "@received": {}, - "receivedFilterDetail": "Afișare articole primite", + "receivedFilterDetail": "Show received items", "@receivedFilterDetail": {}, - "receiveItem": "Articole primite", + "receiveItem": "Receive Item", "@receiveItem": {}, - "receivedItem": "Articol primit în stoc", + "receivedItem": "Received Stock Item", "@receivedItem": {}, - "reference": "Referinţă", + "reference": "Reference", "@reference": {}, - "refresh": "Actualizare", + "refresh": "Refresh", "@refresh": {}, - "rotateClockwise": "Rotire la 90° în sens orar", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, - "refreshing": "Actualizare", + "refreshing": "Refreshing", "@refreshing": {}, - "rejected": "Respins", + "rejected": "Rejected", "@rejected": {}, - "releaseNotes": "Informații & versiune", + "releaseNotes": "Release Notes", "@releaseNotes": {}, - "remove": "Șterge", + "remove": "Remove", "@remove": { "description": "remove" }, - "removeStock": "Retragere stoc", + "removeStock": "Remove Stock", "@removeStock": { "description": "remove stock" }, - "reportBug": "Raportează o eroare", + "reportBug": "Report Bug", "@reportBug": {}, - "reportBugDescription": "Trimite raportul de eroare (necesită cont GitHub)", + "reportBugDescription": "Submit bug report (requires GitHub account)", "@reportBugDescription": {}, "responsible": "Responsabil", "@responsible": {}, - "results": "Rezultate", + "results": "Results", "@results": {}, - "request": "Solicitare", + "request": "Request", "@request": {}, "requestFailed": "Cerere eșuată", "@requestFailed": {}, "requestSuccessful": "", "@requestSuccessful": {}, - "requestingData": "Solicitare date", + "requestingData": "Requesting Data", "@requestingData": {}, - "required": "Obligatoriu", + "required": "Required", "@required": { "description": "This field is required" }, - "response400": "Cerere greşită", + "response400": "Bad Request", "@response400": {}, - "response401": "Neautorizat", + "response401": "Unauthorized", "@response401": {}, - "response403": "Acces interzis", + "response403": "Permission Denied", "@response403": {}, - "response404": "Resursa nu a fost găsită", + "response404": "Resource Not Found", "@response404": {}, - "response405": "Metoda nu este permisă", + "response405": "Method Not Allowed", "@response405": {}, - "response429": "Prea multe solicitări", + "response429": "Too Many Requests", "@response429": {}, - "response500": "Eroare internă server", + "response500": "Internal Server Error", "@response500": {}, - "response501": "Nu este implementat", + "response501": "Not Implemented", "@response501": {}, - "response502": "Gateway greșit", + "response502": "Bad Gateway", "@response502": {}, - "response503": "Serviciu indisponibil", + "response503": "Service Unavailable", "@response503": {}, - "response504": "Timeout gateway", + "response504": "Gateway Timeout", "@response504": {}, - "response505": "Versiunea HTTP nu este suportată", + "response505": "HTTP Version Not Supported", "@response505": {}, - "responseData": "Date Răspuns", + "responseData": "Response data", "@responseData": {}, - "responseInvalid": "Cod de răspuns nevalid", + "responseInvalid": "Invalid Response Code", "@responseInvalid": {}, - "responseUnknown": "Răspuns necunoscut", + "responseUnknown": "Unknown Response", "@responseUnknown": {}, - "result": "Rezultat", + "result": "Result", "@result": { "description": "" }, - "returned": "Returnat", + "returned": "Returned", "@returned": {}, - "salesOrder": "Comenzi de Vânzare", + "salesOrder": "Sales Order", "@salesOrder": {}, - "salesOrders": "Comenzi de Vânzare", + "salesOrders": "Sales Orders", "@salesOrders": {}, - "salesOrderEnable": "Activează Comenzile de Vânzări", + "salesOrderEnable": "Enable Sales Orders", "@salesOrderEnable": {}, - "salesOrderEnableDetail": "Activați funcționalitatea comenzilor de vânzare", + "salesOrderEnableDetail": "Enable sales order functionality", "@salesOrderEnableDetail": {}, - "salesOrderShowCamera": "Scurtătura Cameră", + "salesOrderShowCamera": "Camera Shortcut", "@salesOrderShowCamera": {}, - "salesOrderShowCameraDetail": "Activează scurtătura de încărcare a imaginilor pe ecranul comenzii de vânzare", + "salesOrderShowCameraDetail": "Enable image upload shortcut on sales order screen", "@salesOrderShowCameraDetail": {}, - "salesOrderSettings": "Setările comenzii de vânzare", + "salesOrderSettings": "Sales order settings", "@salesOrderSettings": {}, - "salesOrderCreate": "Comandă de vânzări nouă", + "salesOrderCreate": "New Sales Order", "@saleOrderCreate": {}, - "salesOrderEdit": "Editează Comanda de Vânzare", + "salesOrderEdit": "Edit Sales Order", "@salesOrderEdit": {}, - "salesOrderUpdated": "Comanda de vanzare actualizată", + "salesOrderUpdated": "Sales order updated", "@salesOrderUpdated": {}, - "save": "Salvaţi", + "save": "Save", "@save": { "description": "Save" }, - "scanBarcode": "Scanați codul de bare", + "scanBarcode": "Scan Barcode", "@scanBarcode": {}, - "scanSupplierPart": "Scanare cod de bare furnizor", + "scanSupplierPart": "Scan supplier part barcode", "@scanSupplierPart": {}, - "scanIntoLocation": "Scanare în locație", + "scanIntoLocation": "Scan Into Location", "@scanIntoLocation": {}, - "scanIntoLocationDetail": "Scanează acest articol în locație", + "scanIntoLocationDetail": "Scan this item into location", "@scanIntoLocationDetail": {}, - "scannerExternal": "Scanner extern", + "scannerExternal": "External Scanner", "@scannerExternal": {}, - "scannerExternalDetail": "Utilizează scanerul extern pentru a citi codurile de bare (modul wedge)", + "scannerExternalDetail": "Use external scanner to read barcodes (wedge mode)", "@scannerExternalDetail": {}, - "scanReceivedParts": "Scanați capitolele primite", + "scanReceivedParts": "Scan Received Parts", "@scanReceivedParts": {}, - "search": "Caută", + "search": "Search", "@search": { "description": "search" }, - "searching": "Căutare", + "searching": "Searching", "@searching": {}, - "searchLocation": "Căutați locația", + "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, - "searchParts": "Caută componente", + "searchParts": "Search Parts", "@searchParts": {}, - "searchStock": "Căutare Stoc", + "searchStock": "Search Stock", "@searchStock": {}, - "select": "Selectează", + "select": "Select", "@select": {}, - "selectFile": "Selectează fișier", + "selectFile": "Select File", "@selectFile": {}, - "selectImage": "Selectează imagine", + "selectImage": "Select Image", "@selectImage": {}, - "selectLocation": "Selectați o locație", + "selectLocation": "Select a location", "@selectLocation": {}, - "send": "Trimite", + "send": "Send", "@send": {}, - "serialNumber": "Număr de serie", + "serialNumber": "Serial Number", "@serialNumber": {}, - "serialNumbers": "Număr de serie", + "serialNumbers": "Serial Numbers", "@serialNumbers": {}, "server": "Server", "@server": {}, - "serverAddress": "Adresă server", + "serverAddress": "Server Address", "@serverAddress": {}, - "serverApiRequired": "Versiunea API necesară", + "serverApiRequired": "Required API Version", "@serverApiRequired": {}, - "serverApiVersion": "Versiune API server", + "serverApiVersion": "Server API Version", "@serverApiVersion": {}, - "serverAuthenticationError": "Eroare autentificare", + "serverAuthenticationError": "Authentication Error", "@serverAuthenticationError": {}, "serverCertificateError": "Cerficate Error", "@serverCertificateError": {}, - "serverCertificateInvalid": "Certificatul HTTPS al serverului nu este valid", + "serverCertificateInvalid": "Server HTTPS certificate is invalid", "@serverCertificateInvalid": {}, - "serverConnected": "Conectare la server", + "serverConnected": "Connected to Server", "@serverConnected": {}, - "serverConnecting": "Se conecteaza la server", + "serverConnecting": "Connecting to server", "@serverConnecting": {}, - "serverCouldNotConnect": "Nu s-a putut conecta la server", + "serverCouldNotConnect": "Could not connect to server", "@serverCouldNotConnect": {}, - "serverEmpty": "Serverul nu poate fi gol", + "serverEmpty": "Server cannot be empty", "@serverEmpty": {}, - "serverError": "Eroare de server", + "serverError": "Server Error", "@serverError": {}, - "serverDetails": "Detalii despre server", + "serverDetails": "Server Details", "@serverDetails": {}, - "serverMissingData": "Răspuns server lipsă câmpuri obligatorii", + "serverMissingData": "Server response missing required fields", "@serverMissingData": {}, - "serverOld": "Versiunea veche a serverului", + "serverOld": "Old Server Version", "@serverOld": {}, - "serverSettings": "Setări server", + "serverSettings": "Server Settings", "@serverSettings": {}, - "serverStart": "Serverul trebuie să înceapă cu http[s]", + "serverStart": "Server must start with http[s]", "@serverStart": {}, - "settings": "Setări", + "settings": "Settings", "@settings": {}, - "serverInstance": "Instanță server", + "serverInstance": "Server Instance", "@serverInstance": {}, - "serverNotConnected": "Serverul nu este conectat", + "serverNotConnected": "Server not connected", "@serverNotConnected": {}, - "serverNotSelected": "Serverul nu este selectat", + "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Expediere", - "@shipment": {}, - "shipments": "Livrări", + "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Livrări în așteptare", - "@shipmentsPending": {}, - "shipmentAdd": "Adaugă livrare", + "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Verifica livrare", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Marchează livrarea ca verificată", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Livrare verificată", - "@shipmentChecked": {}, - "shipmentDate": "Data livrării", - "@shipmentDate": {}, - "shipmentEdit": "Editare livrare", - "@shipmentEdit": {}, - "shipmentReference": "Referință livrare", - "@shipmentReference": {}, - "shipmentSend": "Livrare Trimisa", - "@shipmentSend": {}, - "shipmentUncheck": "Debifează livrare", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Marchează livrarea ca nebifat", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Livrare actualizată", - "@shipmentUpdated": {}, - "shipped": "Livrat", + "shipped": "Shipped", "@shipped": {}, "sku": "SKU", "@sku": {}, - "sounds": "Sunete", + "sounds": "Sounds", "@sounds": {}, - "soundOnBarcodeAction": "Redă ton sonor la acțiunea codului de bare", + "soundOnBarcodeAction": "Play audible tone on barcode action", "@soundOnBarcodeAction": {}, - "soundOnServerError": "Redă sunetul sonor la eroarea serverului", + "soundOnServerError": "Play audible tone on server error", "@soundOnServerError": {}, - "startDate": "Data inceput", + "startDate": "Start Date", "@startDate": {}, "status": "Status", "@status": {}, "statusCode": "Status Code", "@statusCode": {}, - "stock": "Stoc", + "stock": "Stock", "@stock": { "description": "stock" }, - "stockDetails": "Stoc disponibil curent", + "stockDetails": "Current available stock quantity", "@stockDetails": {}, - "stockItem": "Articol Stoc", + "stockItem": "Stock Item", "@stockItem": { "description": "stock item title" }, - "stockItems": "Articol Stoc", + "stockItems": "Stock Items", "@stockItems": {}, - "stockItemCreate": "Element nou în stoc", + "stockItemCreate": "New Stock Item", "@stockItemCreate": {}, - "stockItemCreateDetail": "Crează element nou în stoc în această locație", + "stockItemCreateDetail": "Create new stock item in this location", "@stockItemCreateDetail": {}, - "stockItemDelete": "Şterge elementul din stoc", + "stockItemDelete": "Delete Stock Item", "@stockItemDelete": {}, - "stockItemDeleteConfirm": "Sunteţi sigur că doriţi să ştergeţi acest articol din stoc?", + "stockItemDeleteConfirm": "Are you sure you want to delete this stock item?", "@stockItemDeleteConfirm": {}, - "stockItemDeleteFailure": "Nu s-a putut șterge articolul din stoc", + "stockItemDeleteFailure": "Could not delete stock item", "@stockItemDeleteFailure": {}, - "stockItemDeleteSuccess": "Articol șters", + "stockItemDeleteSuccess": "Stock item deleted", "@stockItemDeleteSuccess": {}, - "stockItemHistory": "Istoric Stoc", + "stockItemHistory": "Stock History", "@stockItemHistory": {}, - "stockItemHistoryDetail": "Afişează informaţii istorice de urmărire stoc", + "stockItemHistoryDetail": "Display historical stock tracking information", "@stockItemHistoryDetail": {}, - "stockItemTransferred": "Articol stoc transferat", + "stockItemTransferred": "Stock item transferred", "@stockItemTransferred": {}, - "stockItemUpdated": "Articol stoc actualizat", + "stockItemUpdated": "Stock item updated", "@stockItemUpdated": {}, - "stockItemsNotAvailable": "Nu sunt articole disponibile în stoc", + "stockItemsNotAvailable": "No stock items available", "@stockItemsNotAvailable": {}, - "stockItemNotes": "Note element de stoc", + "stockItemNotes": "Stock Item Notes", "@stockItemNotes": {}, - "stockItemUpdateSuccess": "Articol stoc actualizat", + "stockItemUpdateSuccess": "Stock item updated", "@stockItemUpdateSuccess": {}, - "stockItemUpdateFailure": "Actualizarea articolului stoc a eșuat", + "stockItemUpdateFailure": "Stock item update failed", "@stockItemUpdateFailure": {}, - "stockLocation": "Locația stocului", + "stockLocation": "Stock Location", "@stockLocation": { "description": "stock location" }, - "stockLocations": "Locația stocului", + "stockLocations": "Stock Locations", "@stockLocations": {}, - "stockTopLevel": "Locație stoc nivel superior", + "stockTopLevel": "Top level stock location", "@stockTopLevel": {}, - "strictHttps": "Folosește HTTPS Strict", + "strictHttps": "Use Strict HTTPS", "@strictHttps": {}, - "strictHttpsDetails": "Impune controlul strict al certificatelor HTTP", + "strictHttpsDetails": "Enforce strict checking of HTTPs certificates", "@strictHttpsDetails": {}, - "subcategory": "Subcategorie", + "subcategory": "Subcategory", "@subcategory": {}, - "subcategories": "Subcategorii", + "subcategories": "Subcategories", "@subcategories": {}, - "sublocation": "Sublocare", + "sublocation": "Sublocation", "@sublocation": {}, - "sublocations": "Sublocare", + "sublocations": "Sublocations", "@sublocations": {}, - "sublocationNone": "Fără sublocări", + "sublocationNone": "No Sublocations", "@sublocationNone": {}, - "sublocationNoneDetail": "Nu există sublocații disponibile", + "sublocationNoneDetail": "No sublocations available", "@sublocationNoneDetail": {}, - "submitFeedback": "Trimiteți feedback", + "submitFeedback": "Submit Feedback", "@submitFeedback": {}, - "suppliedParts": "Piese furnizate", + "suppliedParts": "Supplied Parts", "@suppliedParts": {}, - "supplier": "Furnizor", + "supplier": "Supplier", "@supplier": {}, - "supplierPart": "Piesă Furnizor", + "supplierPart": "Supplier Part", "@supplierPart": {}, - "supplierPartEdit": "Editați articol furnizorului", + "supplierPartEdit": "Edit Supplier Part", "@supplierPartEdit": {}, - "supplierPartNumber": "Cod furnizor", + "supplierPartNumber": "Supplier Part Number", "@supplierPartNumber": {}, - "supplierPartUpdated": "Cod furnizor actualizat", + "supplierPartUpdated": "Supplier Part Updated", "@supplierPartUpdated": {}, - "supplierParts": "Piese Furnizor", + "supplierParts": "Supplier Parts", "@supplierParts": {}, - "suppliers": "Furnizori", + "suppliers": "Suppliers", "@suppliers": {}, - "supplierReference": "Cod furnizor", + "supplierReference": "Supplier Reference", "@supplierReference": {}, - "switchCamera": "Comutați Camera", + "switchCamera": "Switch Camera", "@switchCamera": {}, - "takePicture": "Faceți o fotografie", + "takePicture": "Take Picture", "@takePicture": {}, - "targetDate": "Data țintă", + "targetDate": "Target Date", "@targetDate": {}, - "templatePart": "Capitol șablon părinte", + "templatePart": "Parent Template Part", "@templatePart": {}, - "testName": "Nume test", + "testName": "Test Name", "@testName": {}, - "testPassedOrFailed": "Testul a trecut sau a eșuat", + "testPassedOrFailed": "Test passed or failed", "@testPassedOrFailed": {}, - "testsRequired": "Teste necesare", + "testsRequired": "Required Tests", "@testsRequired": {}, - "testResults": "Rezultatele testului", + "testResults": "Test Results", "@testResults": { "description": "" }, - "testResultsDetail": "Afișează rezultatele testului produsului în stoc", + "testResultsDetail": "Display stock item test results", "@testResultsDetail": {}, - "testResultAdd": "Adăugare rezultat test", + "testResultAdd": "Add Test Result", "@testResultAdd": {}, - "testResultNone": "Niciun rezultat de test", + "testResultNone": "No Test Results", "@testResultNone": {}, - "testResultNoneDetail": "Nici un rezultat de test disponibil", + "testResultNoneDetail": "No test results available", "@testResultNoneDetail": {}, - "testResultUploadFail": "Eroare încărcare rezultat test", + "testResultUploadFail": "Error uploading test result", "@testResultUploadFail": {}, - "testResultUploadPass": "Rezultat test încărcat", + "testResultUploadPass": "Test result uploaded", "@testResultUploadPass": {}, "timeout": "Timeout", "@timeout": { "description": "" }, - "toggleTorch": "Comutare lanternă", + "toggleTorch": "Toggle Torch", "@toggleTorch": {}, - "tokenError": "Eroare token", + "tokenError": "Token Error", "@tokenError": {}, - "tokenMissing": "Token lipsă", + "tokenMissing": "Missing Token", "@tokenMissing": {}, - "tokenMissingFromResponse": "Token-ul de acces lipsește din răspuns", + "tokenMissingFromResponse": "Access token missing from response", "@tokenMissingFromResponse": {}, - "totalPrice": "Preț total", + "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Număr de urmărire", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" }, - "transferStock": "Transfera stoc", + "transferStock": "Transfer Stock", "@transferStock": { "description": "transfer stock" }, - "transferStockDetail": "Transferați articolul într-o locație diferită", + "transferStockDetail": "Transfer item to a different location", "@transferStockDetail": {}, - "transferStockLocation": "Transfer locație stoc", + "transferStockLocation": "Transfer Stock Location", "@transferStockLocation": {}, - "transferStockLocationDetail": "Transferați această locație a stocului în alta", + "transferStockLocationDetail": "Transfer this stock location into another", "@transferStockLocationDetail": {}, - "translate": "Traduceți", + "translate": "Translate", "@translate": {}, - "translateHelp": "Ajută la traducerea aplicației InvenTree", + "translateHelp": "Help translate the InvenTree app", "@translateHelp": {}, - "unavailable": "Indisponibil", + "unavailable": "Unavailable", "@unavailable": {}, - "unavailableDetail": "Articolul nu este disponibil", + "unavailableDetail": "Item is not available", "@unavailableDetail": {}, - "unitPrice": "Preţ Unitar", + "unitPrice": "Unit Price", "@unitPrice": {}, - "units": "Unități", + "units": "Units", "@units": {}, - "unknownResponse": "Răspuns necunoscut", + "unknownResponse": "Unknown Response", "@unknownResponse": {}, - "upload": "Încărcaţi", + "upload": "Upload", "@upload": {}, - "uploadFailed": "Încărcare fișier eșuată", + "uploadFailed": "File upload failed", "@uploadFailed": {}, - "uploadSuccess": "Fişier încărcat", + "uploadSuccess": "File uploaded", "@uploadSuccess": {}, - "uploadImage": "Încărcare imagine", + "uploadImage": "Upload Image", "@uploadImage": {}, - "usedIn": "Folosite în", + "usedIn": "Used In", "@usedIn": {}, - "usedInDetails": "Ansambluri care necesită aceast articol", + "usedInDetails": "Assemblies which require this part", "@usedInDetails": {}, - "username": "Nume utilizator", + "username": "Username", "@username": {}, - "usernameEmpty": "Numele de utilizator nu poate fi gol", + "usernameEmpty": "Username cannot be empty", "@usernameEmpty": {}, - "value": "Valoare", + "value": "Value", "@value": { "description": "value" }, - "valueCannotBeEmpty": "Valoarea nu poate fi goală", + "valueCannotBeEmpty": "Value cannot be empty", "@valueCannotBeEmpty": {}, - "valueRequired": "Valoarea este obligatorie", + "valueRequired": "Value is required", "@valueRequired": {}, - "variants": "Variante", + "variants": "Variants", "@variants": {}, - "version": "Verisune", + "version": "Version", "@version": {}, - "viewSupplierPart": "Vezi capitol furnizor", + "viewSupplierPart": "View Supplier Part", "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Da", - "@yes": {}, - "price": "Preț", + "price": "Price", "@price": {}, - "priceRange": "Interval de preț", + "priceRange": "Price Range", "@priceRange": {}, - "priceOverrideMin": "Suprascriere Preț Minim", + "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, - "priceOverrideMax": "Suprascriere de preț maximă", + "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, - "salePrice": "Preț de vânzare", + "salePrice": "Sale Price", "@salePrice": {}, - "saleHistory": "Istoric vanzari", + "saleHistory": "Sale History", "@saleHistory": {}, - "supplierPricing": "Prețurile furnizorului", + "supplierPricing": "Supplier Pricing", "@supplierPricing": {}, - "bomCost": "Cost BOM", + "bomCost": "BOM Cost", "@bomCost": {}, - "internalCost": "Cost intern", + "internalCost": "Internal Cost", "@internalCost": {}, - "variantCost": "Cost variantă", + "variantCost": "Variant Cost", "@variantCost": {}, - "overallPricing": "Preț general", + "overallPricing": "Overall Pricing", "@overallPricing": {}, - "pricingOverrides": "Suprascrieri preturi", + "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, - "currency": "Monedă", + "currency": "Currency", "@currency": {}, - "priceBreaks": "Reduceri de preț", - "@priceBreaks": {} + "priceBreaks": "Price Breaks", + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/ru_RU/app_ru_RU.arb b/lib/l10n/ru_RU/app_ru_RU.arb index b22d092..494c92c 100644 --- a/lib/l10n/ru_RU/app_ru_RU.arb +++ b/lib/l10n/ru_RU/app_ru_RU.arb @@ -42,12 +42,10 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Квадрат (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Выделить запас", "@allocateStock": {}, - "allocatedStock": "Зарезервированные остатки", - "@allocatedStock": {}, "appReleaseNotes": "Показать заметки о выпуске приложения", "@appReleaseNotes": {}, "appSettings": "Настройки приложения", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Сканирование штрих-кода приостановлено", "@barodeScanPaused": {}, - "barcodeScanPause": "Нажмите, чтобы приостановить сканирование", + "barcodeScanPause": "Нажмите или удерживайте, чтобы приостановить сканирование", "@barcodeScanPause": {}, "barcodeScanAssign": "Сканировать для присвоения штрих-кода", "@barcodeScanAssign": {}, @@ -180,13 +178,9 @@ "@companyUpdated": {}, "companies": "Компании", "@companies": {}, - "complete": "Завершить", - "@complete": {}, - "completeOrder": "Завершить заказ", - "@completeOrder": {}, "completionDate": "Дата завершения", "@completionDate": {}, - "configureServer": "Изменить параметры сервера", + "configureServer": "Настройка параметров сервера", "@configureServer": {}, "confirmScan": "Подтвердить перенос", "@confirmScan": {}, @@ -204,9 +198,9 @@ }, "credits": "Авторы", "@credits": {}, - "crop": "Обрезать", + "crop": "Crop", "@crop": {}, - "cropImage": "Обрезать изображение", + "cropImage": "Crop Image", "@cropImage": {}, "customer": "Клиент", "@customer": {}, @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Ошибка удаления", "@deleteFailed": {}, - "deleteImageConfirmation": "Вы уверены, что хотите удалить изображение?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Удалить изображение", - "@deleteImageTooltip": {}, - "deleteImage": "Удалить изображение", - "@deleteImage": {}, "deletePart": "Удалить деталь", "@deletePart": {}, "deletePartDetail": "Удалить эту деталь из базы данных", "@deletePartDetail": {}, "deleteSuccess": "Удаление успешно завершено", "@deleteSuccess": {}, - "deliveryDate": "Дата доставки", - "@deliveryDate": {}, "description": "Описание", "@description": {}, "destination": "Назначение", @@ -254,9 +240,9 @@ }, "documentation": "Документация", "@documentation": {}, - "downloadComplete": "Загрузка завершена", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "Ошибка загрузки изображения", + "downloadError": "Error downloading image", "@downloadError": {}, "downloading": "Загрузка файла", "@downloading": {}, @@ -282,7 +268,7 @@ "@editItem": {}, "editLineItem": "Изменить позицию", "@editLineItem": {}, - "email": "Электронная почта", + "email": "Email", "@email": {}, "enterPassword": "Введите пароль", "@enterPassword": {}, @@ -336,11 +322,11 @@ "@filterAssemblyDetail": {}, "filterComponent": "Компонент", "@filterComponent": {}, - "filterComponentDetail": "Показать части компонента", + "filterComponentDetail": "Показывать части компонента", "@filterComponentDetail": {}, "filterExternal": "Внешний", "@filterExternal": {}, - "filterExternalDetail": "Показать запасы во внешних местах", + "filterExternalDetail": "Показывать запасы во внешних местах", "@filterExternalDetail": {}, "filterInStock": "В наличии", "@filterInStock": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Показывать кнопку заказа на главном экране", "@homeShowPoDescription": {}, - "homeShowShipments": "Показать отгрузки", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Показывать ожидающие отгрузки на главном экране", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Показать заказы на продажу", "@homeShowSo": {}, "homeShowSoDescription": "Показывать кнопку заказов на продажу на главном экране", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Неверная комбинация имени пользователя и пароля", "@invalidUsernamePassword": {}, - "invoice": "Счет", - "@invoice": {}, - "invoiceNumber": "Номер счета", - "@invoiceNumber": {}, "issue": "Оформить", "@issue": {}, "issueDate": "Дата проблемы", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Ключевые слова", "@keywords": {}, - "labelDriver": "Драйвер принтера этикеток", - "@labelDriver": {}, - "labelSelectDriver": "Выберите драйвер принтера этикеток", - "@labelSelectDriver": {}, "labelPrinting": "Печать этикеток", "@labelPrinting": {}, "labelPrintingDetail": "Включить печать этикеток", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Создать новое расположение склада", "@locationCreateDetail": {}, - "locationDefault": "Расположение по умолчанию", - "@locationDefault": {}, "locationNotSet": "Не указано месторасположение", "@locationNotSet": {}, "locationUpdated": "Расположение склада обновлено", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Название", "@name": {}, - "no": "Нет", - "@no": {}, - "notApplicable": "Н/Д", - "@notApplicable": {}, "notConnected": "Соединение не установлено", "@notConnected": {}, "notes": "Заметки", @@ -562,12 +530,8 @@ "@noResponse": {}, "noResults": "Нет результатов", "@noResults": {}, - "noImageAvailable": "Нет доступного изображения", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "Нет данных о цене", - "@noPricingAvailable": {}, - "noPricingDataFound": "Для этой детали не найдены данные о ценах", - "@noPricingDataFound": {}, "noSubcategories": "Нет подкатегории", "@noSubcategories": {}, "noSubcategoriesAvailable": "Нет доступных подкатегорий", @@ -660,13 +624,11 @@ "@password": {}, "passwordEmpty": "Пароль не может быть пустым", "@passwordEmpty": {}, - "pending": "В обработке", - "@pending": {}, "permissionAccountDenied": "Ваш аккаунт не имеет разрешения на выполнение этого действия", "@permissionAccountDenied": {}, "permissionRequired": "Требуется разрешение", "@permissionRequired": {}, - "phone": "Телефон", + "phone": "Phone", "@phone": {}, "printLabel": "Печать этикетки", "@printLabel": {}, @@ -762,7 +724,7 @@ "@reference": {}, "refresh": "Обновить", "@refresh": {}, - "rotateClockwise": "Повернуть на 90° по часовой стрелке", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, "refreshing": "Обновление…", "@refreshing": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Искать по месту", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Найти номенклатуру", "@searchParts": {}, "searchStock": "Поиск в наличии", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Сервер не выбран", "@serverNotSelected": {}, - "shipment": "Отгрузка", - "@shipment": {}, "shipments": "Поставки", "@shipments": {}, - "shipmentsPending": "Ожидающие отгрузки", - "@shipmentsPending": {}, "shipmentAdd": "Новое Отправление", "@shipmentAdd": {}, - "shipmentCheck": "Проверить отгрузку", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Отметить этот груз как проверенный", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Отгрузка проверена", - "@shipmentChecked": {}, - "shipmentDate": "Дата отгрузки", - "@shipmentDate": {}, - "shipmentEdit": "Редактировать отгрузку", - "@shipmentEdit": {}, - "shipmentReference": "Ссылка на отгрузку", - "@shipmentReference": {}, - "shipmentSend": "Отправить отгрузку", - "@shipmentSend": {}, - "shipmentUncheck": "Снять отметку с отгрузки", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Отметить этот груз как непроверенный", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Отгрузка обновлена", - "@shipmentUpdated": {}, "shipped": "Отгружено", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Общая стоимость", "@totalPrice": {}, - "trackingNumber": "Номер отслеживания", - "@trackingNumber": {}, "transfer": "Перемещение", "@transfer": { "description": "transfer" @@ -1156,7 +1084,7 @@ "@uploadFailed": {}, "uploadSuccess": "Файл загружен", "@uploadSuccess": {}, - "uploadImage": "Загрузить изображение", + "uploadImage": "Upload Image", "@uploadImage": {}, "usedIn": "Используется в", "@usedIn": {}, @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Сайт", "@website": {}, - "yes": "Да", - "@yes": {}, "price": "Цена", "@price": {}, "priceRange": "Диапазон цен", @@ -1211,5 +1137,15 @@ "currency": "Валюта", "@currency": {}, "priceBreaks": "Разбивка по ценам", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "Нет данных о цене", + "@noPricingAvailable": {}, + "noPricingDataFound": "Для этой детали не найдены данные о ценах", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/sk_SK/app_sk_SK.arb b/lib/l10n/sk_SK/app_sk_SK.arb index e60c333..9ec2d50 100644 --- a/lib/l10n/sk_SK/app_sk_SK.arb +++ b/lib/l10n/sk_SK/app_sk_SK.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, "appSettings": "App Settings", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Companies", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/sl_SI/app_sl_SI.arb b/lib/l10n/sl_SI/app_sl_SI.arb index e0c78b1..e3b2c50 100644 --- a/lib/l10n/sl_SI/app_sl_SI.arb +++ b/lib/l10n/sl_SI/app_sl_SI.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Allocate Stock", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Display app release notes", "@appReleaseNotes": {}, "appSettings": "App Settings", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Barcode scanning paused", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Companies", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/sr_CS/app_sr_CS.arb b/lib/l10n/sr_CS/app_sr_CS.arb index 75d28b4..d4f8215 100644 --- a/lib/l10n/sr_CS/app_sr_CS.arb +++ b/lib/l10n/sr_CS/app_sr_CS.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Alociraj zalihe", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Prikaži informacije o aplikaciji", "@appReleaseNotes": {}, "appSettings": "Podešavanja aplikacije", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Pauzirano skeniranje bar kodova", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Pritisni ili drži za pauzu skeniranja", "@barcodeScanPause": {}, "barcodeScanAssign": "Skeniraj za dodelu bar koda", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Kompanije", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Konfiguriši podešavanja servera", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Neuspešna operacija brisanja", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Obriši deo", "@deletePart": {}, "deletePartDetail": "Ukloni ovaj deo iz baze podataka", "@deletePartDetail": {}, "deleteSuccess": "Operacija brisanja uspešna", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Opis", "@description": {}, "destination": "Odredište", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Datum izdavanja", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Ključne reči", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Štampanje natpisa", "@labelPrinting": {}, "labelPrintingDetail": "Omogući štampanje natpisa", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Kreiraj novu lokaciju zaliha", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "Nema određene lokacije", "@locationNotSet": {}, "locationUpdated": "Ažurirana lokacija zaliha", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Ime", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Nije povezano", "@notConnected": {}, "notes": "Beleške", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "Nema podkategorija", "@noSubcategories": {}, "noSubcategoriesAvailable": "Nema dostupnih podkategorija", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/sv_SE/app_sv_SE.arb b/lib/l10n/sv_SE/app_sv_SE.arb index 7ff3063..ca1b2a4 100644 --- a/lib/l10n/sv_SE/app_sv_SE.arb +++ b/lib/l10n/sv_SE/app_sv_SE.arb @@ -42,12 +42,10 @@ "@aspectRatio3x2": {}, "aspectRatio4x3": "4:3", "@aspectRatio4x3": {}, - "aspectRatioSquare": "Kvadrat (1:1)", + "aspectRatioSquare": "Square (1:1)", "@aspectRatioSquare": {}, "allocateStock": "Allokera lager", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Visa versionsinfo för app", "@appReleaseNotes": {}, "appSettings": "Appinställningar", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Streckkodsskanning pausad", "@barodeScanPaused": {}, - "barcodeScanPause": "Tryck för att pausa skanning", + "barcodeScanPause": "Tryck eller håll ned för att pausa skanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Skanna för att tilldela streckkod", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Företag", "@companies": {}, - "complete": "Slutförd", - "@complete": {}, - "completeOrder": "Slutför Order", - "@completeOrder": {}, "completionDate": "Datum slutfört", "@completionDate": {}, "configureServer": "Konfigurera serverinställningar", @@ -204,9 +198,9 @@ }, "credits": "Krediter", "@credits": {}, - "crop": "Beskär", + "crop": "Crop", "@crop": {}, - "cropImage": "Beskär Bild", + "cropImage": "Crop Image", "@cropImage": {}, "customer": "Kund", "@customer": {}, @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Borttagning misslyckades", "@deleteFailed": {}, - "deleteImageConfirmation": "Är du säker på att du vill radera denna bild?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Radera bild", - "@deleteImageTooltip": {}, - "deleteImage": "Radera bild", - "@deleteImage": {}, "deletePart": "Ta bort del", "@deletePart": {}, "deletePartDetail": "Ta bort denna del från databasen", "@deletePartDetail": {}, "deleteSuccess": "Borttagning lyckad", "@deleteSuccess": {}, - "deliveryDate": "Leveransdatum", - "@deliveryDate": {}, "description": "Beskrivning", "@description": {}, "destination": "Destination", @@ -254,9 +240,9 @@ }, "documentation": "Dokumentation", "@documentation": {}, - "downloadComplete": "Nedladdning klar", + "downloadComplete": "Download Complete", "@downloadComplete": {}, - "downloadError": "Fel vid nedladdning av bild", + "downloadError": "Error downloading image", "@downloadError": {}, "downloading": "Laddar ner fil", "@downloading": {}, @@ -282,7 +268,7 @@ "@editItem": {}, "editLineItem": "Redigera radobjekt", "@editLineItem": {}, - "email": "E-post", + "email": "Email", "@email": {}, "enterPassword": "Ange lösenord", "@enterPassword": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Visa knappen för inköpsorder på startskärmen", "@homeShowPoDescription": {}, - "homeShowShipments": "Visa leveranser", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Visa väntande leveranser på startskärmen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Visa försäljningsorder", "@homeShowSo": {}, "homeShowSoDescription": "Visa knappen för försäljningsorder på startskärmen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Felaktigt användarnamn / lösenord kombination", "@invalidUsernamePassword": {}, - "invoice": "Faktura", - "@invoice": {}, - "invoiceNumber": "Fakturanummer", - "@invoiceNumber": {}, "issue": "Ärende", "@issue": {}, "issueDate": "Utfärdad datum", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Nyckelord", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Utskrift av etiketter", "@labelPrinting": {}, "labelPrintingDetail": "Aktivera etikettutskrift", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Skapa ny lagerplats", "@locationCreateDetail": {}, - "locationDefault": "Förvald plats", - "@locationDefault": {}, "locationNotSet": "Ingen plats specificerad", "@locationNotSet": {}, "locationUpdated": "Lagerplatsen uppdaterad", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Namn", "@name": {}, - "no": "Nej", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Ej ansluten", "@notConnected": {}, "notes": "Anteckningar", @@ -562,12 +530,8 @@ "@noResponse": {}, "noResults": "Inga resultat", "@noResults": {}, - "noImageAvailable": "Ingen bild tillgänglig", + "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "Ingen prisinformation tillgänglig", - "@noPricingAvailable": {}, - "noPricingDataFound": "Inga prisuppgifter hittades för denna artikel", - "@noPricingDataFound": {}, "noSubcategories": "Inga underkategorier", "@noSubcategories": {}, "noSubcategoriesAvailable": "Inga underkategorier tillgängliga", @@ -630,7 +594,7 @@ "@partsNone": {}, "partNoResults": "Inga artiklar som matchar sökfrågan", "@partNoResults": {}, - "partPricing": "Artikelpris", + "partPricing": "Part Pricing", "@partPricing": {}, "partPricingSettingDetail": "Display part pricing information", "@pricingSettingDetail": {}, @@ -660,13 +624,11 @@ "@password": {}, "passwordEmpty": "Lösenordet får inte vara tomt", "@passwordEmpty": {}, - "pending": "Väntande", - "@pending": {}, "permissionAccountDenied": "Ditt konto har inte de rättigheter som krävs för att utföra denna åtgärd", "@permissionAccountDenied": {}, "permissionRequired": "Särskilda behörigheter krävs", "@permissionRequired": {}, - "phone": "Telefon", + "phone": "Phone", "@phone": {}, "printLabel": "Skriv ut etikett", "@printLabel": {}, @@ -762,7 +724,7 @@ "@reference": {}, "refresh": "Uppdatera", "@refresh": {}, - "rotateClockwise": "Rotera 90° medurs", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, "refreshing": "Uppdaterar", "@refreshing": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Sök efter plats", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Sök efter artiklar", "@searchParts": {}, "searchStock": "Sök i lager", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Servern är inte vald", "@serverNotSelected": {}, - "shipment": "Försändelse", - "@shipment": {}, "shipments": "Frakt", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Lägg till frakt", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Leveransdatum", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Skickad", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Totalpris", "@totalPrice": {}, - "trackingNumber": "Sändningsnummer", - "@trackingNumber": {}, "transfer": "Överföring", "@transfer": { "description": "transfer" @@ -1156,7 +1084,7 @@ "@uploadFailed": {}, "uploadSuccess": "Fil har laddats upp", "@uploadSuccess": {}, - "uploadImage": "Ladda upp bild", + "uploadImage": "Upload Image", "@uploadImage": {}, "usedIn": "Används i", "@usedIn": {}, @@ -1182,21 +1110,19 @@ "@viewSupplierPart": {}, "website": "Webbplats", "@website": {}, - "yes": "Ja", - "@yes": {}, - "price": "Pris", + "price": "Price", "@price": {}, - "priceRange": "Prisintervall", + "priceRange": "Price Range", "@priceRange": {}, "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, - "salePrice": "Försäljningspris", + "salePrice": "Sale Price", "@salePrice": {}, "saleHistory": "Sale History", "@saleHistory": {}, - "supplierPricing": "Leverantörspriser", + "supplierPricing": "Supplier Pricing", "@supplierPricing": {}, "bomCost": "BOM Cost", "@bomCost": {}, @@ -1208,8 +1134,18 @@ "@overallPricing": {}, "pricingOverrides": "Pricing Overrides", "@pricingOverrides": {}, - "currency": "Valuta", + "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/th_TH/app_th_TH.arb b/lib/l10n/th_TH/app_th_TH.arb index ada0c69..d69c076 100644 --- a/lib/l10n/th_TH/app_th_TH.arb +++ b/lib/l10n/th_TH/app_th_TH.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "จัดสรรคลัง", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "แสดงข้อมูลรุ่นของโปรแกรม", "@appReleaseNotes": {}, "appSettings": "การตั้งค่าแอปพลิเคชั่น", @@ -88,7 +86,7 @@ "@barcodeAssigned": {}, "barcodeError": "สแกนบาร์โค้ดผิดพลาด", "@barcodeError": {}, - "barcodeInUse": "", + "barcodeInUse": "Barcode already assigned", "@barcodeInUse": {}, "barcodeMissingHash": "Barcode hash data missing from response", "@barcodeMissingHash": {}, @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "หยุดการสแกนบาร์โค้ด", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Tap or hold to pause scanning", "@barcodeScanPause": {}, "barcodeScanAssign": "Scan to assign barcode", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Companies", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Configure server settings", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Delete operation failed", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Delete Part", "@deletePart": {}, "deletePartDetail": "Remove this part from the database", "@deletePartDetail": {}, "deleteSuccess": "Delete operation successful", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Description", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Show purchase order button on home screen", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Show Sales Orders", "@homeShowSo": {}, "homeShowSoDescription": "Show sales order button on home screen", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Invalid username / password combination", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Issue", "@issue": {}, "issueDate": "Issue Date", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "Keywords", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "Label Printing", "@labelPrinting": {}, "labelPrintingDetail": "Enable label printing", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Create new stock location", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "No location specified", "@locationNotSet": {}, "locationUpdated": "Stock location updated", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Name", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Not Connected", "@notConnected": {}, "notes": "Notes", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "No Subcategories", "@noSubcategories": {}, "noSubcategoriesAvailable": "No subcategories available", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Password cannot be empty", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Your account does not have the required permissions to perform this action", "@permissionAccountDenied": {}, "permissionRequired": "Permission Required", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Shipped", "@shipped": {}, "sku": "SKU", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/tr_TR/app_tr_TR.arb b/lib/l10n/tr_TR/app_tr_TR.arb index 9f6b03f..f205182 100644 --- a/lib/l10n/tr_TR/app_tr_TR.arb +++ b/lib/l10n/tr_TR/app_tr_TR.arb @@ -10,7 +10,7 @@ }, "about": "Hakkında", "@about": {}, - "accountDetails": "Hesap Ayrıntıları", + "accountDetails": "Hesap Detayları", "@accountDetails": {}, "actions": "Eylemler", "@actions": { @@ -34,7 +34,7 @@ "@appCredits": {}, "appDetails": "Uygulama Ayrıntıları", "@appDetails": {}, - "allocated": "Tahsis Edildi", + "allocated": "Tahsis edildi", "@allocated": {}, "aspectRatio16x9": "16:9", "@aspectRatio16x9": {}, @@ -44,11 +44,9 @@ "@aspectRatio4x3": {}, "aspectRatioSquare": "Kare (1:1)", "@aspectRatioSquare": {}, - "allocateStock": "Stoku Tahsis Et", + "allocateStock": "Tahsisli stok", "@allocateStock": {}, - "allocatedStock": "Tahsis Edilen Stok", - "@allocatedStock": {}, - "appReleaseNotes": "Uygulama yayınlama notlarını görüntüle", + "appReleaseNotes": "Uygulama yayınlama notlarını göster", "@appReleaseNotes": {}, "appSettings": "Uygulama Ayarları", "@appSettings": {}, @@ -60,7 +58,7 @@ "@assignedToMeDetail": {}, "attachments": "Ekler", "@attachments": {}, - "attachImage": "Görsel Ekle", + "attachImage": "Resim ekle", "@attachImage": { "description": "Attach an image" }, @@ -98,11 +96,11 @@ "@barcodeNotAssigned": {}, "barcodeScanPart": "Parça barkodnu tara", "@barcodeScanPart": {}, - "barcodeReceivePart": "Parçayı teslim almak için barkodu tarayın", + "barcodeReceivePart": "Tesellüm barkodunu tara", "@barcodeReceivePart": {}, "barcodeScanPaused": "Barkod tarama duraklatıldı", "@barodeScanPaused": {}, - "barcodeScanPause": "Taramayı duraklatmak için dokunun", + "barcodeScanPause": "Taramayı duraklatmak için dokunun veya basılı tutun", "@barcodeScanPause": {}, "barcodeScanAssign": "Atanmış barkodu tara", "@barcodeScanAssign": {}, @@ -116,7 +114,7 @@ "@barcodeScanDelayDetail": {}, "barcodeScanGeneral": "Bir InvenTree barkodu tara", "@barcodeScanGeneral": {}, - "barcodeScanInItems": "Stok kalemlerini bu konumun içine tara", + "barcodeScanInItems": "Stok ögelerini bu konum içine tara", "@barcodeScanInItems": {}, "barcodeScanLocation": "Stok konumu tara", "@barcodeScanLocation": {}, @@ -128,7 +126,7 @@ "@barcodeScanIntoLocationSuccess": {}, "barcodeScanIntoLocationFailure": "Madde taranmış değil", "@barcodeScanIntoLocationFailure": {}, - "barcodeScanItem": "Stok kalemi tara", + "barcodeScanItem": "Stok öğesi tara", "@barcodeScanItem": {}, "barcodeTones": "Barkod Tonları", "@barcodeTones": {}, @@ -138,15 +136,15 @@ "@barcodeUnknown": {}, "batchCode": "Grup kodu", "@batchCode": {}, - "billOfMaterials": "Ürün Ağacı", + "billOfMaterials": "Fatura materyalleri", "@billOfMaterials": {}, "bom": "BOM", "@bom": {}, - "bomEnable": "Ürün Ağacını Görüntüle", + "bomEnable": "Malzeme Listesini Görüntüle", "@bomEnable": {}, - "build": "Üret", + "build": "Oluştur", "@build": {}, - "building": "Üretiliyor", + "building": "Oluşturma", "@building": {}, "cameraCreationError": "Kamera Kontrolcüsü Açılamadı", "@cameraCreationError": {}, @@ -176,14 +174,10 @@ "@companyEdit": {}, "companyNoResults": "Sorguyla eşleşen şirket yok", "@companyNoResults": {}, - "companyUpdated": "Şirket bilgileri güncellendi", + "companyUpdated": "Firma bilgileri güncellendi", "@companyUpdated": {}, "companies": "Şirketler", "@companies": {}, - "complete": "Tamamlandı", - "@complete": {}, - "completeOrder": "Siparişi Tamamla", - "@completeOrder": {}, "completionDate": "Tamamlanma Tarihi", "@completionDate": {}, "configureServer": "Sunucu ayarlarınızı yapılandırın", @@ -206,7 +200,7 @@ "@credits": {}, "crop": "Kırp", "@crop": {}, - "cropImage": "Görseli Kırp", + "cropImage": "Resmi Kırp", "@cropImage": {}, "customer": "Müşteri", "@customer": {}, @@ -228,27 +222,19 @@ "@delete": {}, "deleteFailed": "Silme işlemi başarısız", "@deleteFailed": {}, - "deleteImageConfirmation": "Bu görseli silmek istediğinize emin misiniz?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Görseli Sil", - "@deleteImageTooltip": {}, - "deleteImage": "Görseli sil", - "@deleteImage": {}, "deletePart": "Parça Sil", "@deletePart": {}, "deletePartDetail": "Bu parçayı veritabanından kaldır", "@deletePartDetail": {}, "deleteSuccess": "Silme işlemi başarılı", "@deleteSuccess": {}, - "deliveryDate": "Teslim Tarihi", - "@deliveryDate": {}, "description": "Açıklama", "@description": {}, - "destination": "Hedef", + "destination": "Varış Yeri", "@destination": {}, "destroyed": "Yok edildi", "@destroyed": {}, - "details": "Ayrıntılar", + "details": "Detaylar", "@details": { "description": "details" }, @@ -278,9 +264,9 @@ "@editPart": { "description": "edit part" }, - "editItem": "Stok kalemi düzenle", + "editItem": "Parçayı Düzenle", "@editItem": {}, - "editLineItem": "Satırı Düzenle", + "editLineItem": "Satır Ögesini Düzenle", "@editLineItem": {}, "email": "E-posta", "@email": {}, @@ -316,9 +302,9 @@ "@expiryExpired": {}, "expiryStale": "Eskimiş", "@expiryStale": {}, - "extraLineItem": "Ek Kalem", + "extraLineItem": "Fazladan Satır Ögesi", "@extraLineItem": {}, - "extraLineItems": "Ek Kalemler", + "extraLineItems": "Fazladan Satır Ögeleri", "@extraLineItems": {}, "feedback": "Geri Bildirim", "@feedback": {}, @@ -348,7 +334,7 @@ "@filterInStockDetail": {}, "filterSerialized": "Sıralandırılmış", "@filterSerialized": {}, - "filterSerializedDetail": "Seri numaralı stok kalemlerini göster", + "filterSerializedDetail": "Sıralandırılmış stok ürünkerini göster", "@filterSerializedDetail": {}, "filterTemplate": "Şablon", "@filterTemplate": {}, @@ -384,17 +370,13 @@ "@homeShowPo": {}, "homeShowPoDescription": "Satınalma sipariş butonunu ana ekranda göster", "@homeShowPoDescription": {}, - "homeShowShipments": "Teslimatları Göster", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Bekleyen teslimatları ana ekranda göster", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Satış Siparişlerini Göster", "@homeShowSo": {}, "homeShowSoDescription": "Satış siparişleri tuşunu giriş ekranında göster", "@homeShowSoDescription": {}, - "homeShowSubscribed": "Takip Edilen Parçalar", + "homeShowSubscribed": "Parça bildirimlerine abone ol", "@homeShowSubscribed": {}, - "homeShowSubscribedDescription": "Takip edilen parçaları ana ekranda göster", + "homeShowSubscribedDescription": "Abone olunan bölümleri ana ekranda göster", "@homeShowSubscsribedDescription": {}, "homeShowSuppliers": "Tedarikçileri Göster", "@homeShowSuppliers": {}, @@ -408,13 +390,13 @@ "@homeShowCustomers": {}, "homeShowCustomersDescription": "Müşteri butonunu ana ekranda göster", "@homeShowCustomersDescription": {}, - "imageUploadFailure": "Görsel yükleme başarısız", + "imageUploadFailure": "Fotoğraf yükleme başarısız", "@imageUploadFailure": {}, - "imageUploadSuccess": "Görsel yüklendi", + "imageUploadSuccess": "Resim yüklendi", "@imageUploadSuccess": {}, "inactive": "Pasif", "@inactive": {}, - "inactiveCompany": "Bu şirket pasif olarak işaretlendi", + "inactiveCompany": "Bu şirket inaktif olarak imlendi", "@inactiveCompany": {}, "inactiveDetail": "Bu parça pasif olarak işaretlendi", "@inactiveDetail": {}, @@ -432,9 +414,9 @@ "@internalPartNumber": {}, "info": "Bilgi", "@info": {}, - "inProduction": "Üretimde", + "inProduction": "Yapım Aşamasında", "@inProduction": {}, - "inProductionDetail": "Bu stok kalemi üretimdedir", + "inProductionDetail": "Bu ürün üretim aşamasında", "@inProductionDetail": {}, "internalPart": "İç Parça", "@internalPart": {}, @@ -448,21 +430,17 @@ "@invalidPartCategory": {}, "invalidStockLocation": "Geçersiz Stok Konumu", "@invalidStockLocation": {}, - "invalidStockItem": "Geçersiz Stok Kalemi", + "invalidStockItem": "Geçersiz Stok Parçası", "@invalidStockItem": {}, "invalidSupplierPart": "Geçersiz Tedarikçi Parçası", "@invalidSupplierPart": {}, "invalidUsernamePassword": "Geçersiz kullanıcı adı ve şifre", "@invalidUsernamePassword": {}, - "invoice": "Fatura", - "@invoice": {}, - "invoiceNumber": "Fatura Numarası", - "@invoiceNumber": {}, "issue": "Sorun", "@issue": {}, "issueDate": "Sorun Tarihi", "@issueDate": {}, - "issueOrder": "Sipariş Düzenle", + "issueOrder": "Sipariş Ver", "@issueOrder": {}, "itemInLocation": "Parça zaten konumda", "@itemInLocation": {}, @@ -472,13 +450,9 @@ "@itemUpdated": {}, "keywords": "Anahtar kelimeler", "@keywords": {}, - "labelDriver": "Etiket Sürücü", - "@labelDriver": {}, - "labelSelectDriver": "Etiket Yazıcı Sürücüsü Seçin", - "@labelSelectDriver": {}, "labelPrinting": "Etiket Yazdırma", "@labelPrinting": {}, - "labelPrintingDetail": "Etiket yazdırmayı etkinleştir", + "labelPrintingDetail": "Etiket yazdırmayı aktifleştir", "@labelPrintingDetail": {}, "labelTemplate": "Etiket Şablonu", "@labelTemplate": {}, @@ -492,21 +466,21 @@ "@languageDefault": {}, "languageSelect": "Dil Seçin", "@languageSelect": {}, - "lastStocktake": "Son Stok Sayımı", + "lastStocktake": "Son stok tutma", "@lastStocktake": {}, "lastUpdated": "Son güncelleme", "@lastUpdated": {}, - "level": "Seviye", + "level": "Düzey", "@level": {}, - "lineItemAdd": "Satır Ekle", + "lineItemAdd": "Satır Ögesi Ekle", "@lineItemAdd": {}, - "lineItem": "Satır", + "lineItem": "Parça Sırası", "@lineItem": {}, - "lineItems": "Satırlar", + "lineItems": "Parçalar Sırası", "@lineItems": {}, - "lineItemUpdated": "Satır güncellendi", + "lineItemUpdated": "Satır ögesi güncellendi", "@lineItemUpdated": {}, - "locateItem": "Stok kalemi bul", + "locateItem": "Stok ögesi bul", "@locateItem": {}, "locateLocation": "Stok konumu bul", "@locateLocation": {}, @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Yeni stok konumu oluştur", "@locationCreateDetail": {}, - "locationDefault": "Varsayılan Konum", - "@locationDefault": {}, "locationNotSet": "Belirtilmiş konum yok", "@locationNotSet": {}, "locationUpdated": "Stok lokasyonu güncellendi", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Adı", "@name": {}, - "no": "Hayır", - "@no": {}, - "notApplicable": "Yok / Geçerli Değil", - "@notApplicable": {}, "notConnected": "Bağlı değil", "@notConnected": {}, "notes": "Notlar", @@ -562,12 +530,8 @@ "@noResponse": {}, "noResults": "Sonuç Yok", "@noResults": {}, - "noImageAvailable": "Görsel yok", + "noImageAvailable": "Kullanılabilir resim yok", "@noImageAvailable": {}, - "noPricingAvailable": "Fiyatlandırma mevcut değil", - "@noPricingAvailable": {}, - "noPricingDataFound": "Bu parça için fiyatlandırma verisi bulunamadı", - "@noPricingDataFound": {}, "noSubcategories": "Alt kategori yok", "@noSubcategories": {}, "noSubcategoriesAvailable": "Uygun alt kategori yok", @@ -588,9 +552,9 @@ "@orientationPortrait": {}, "orientationSystem": "Sistem", "@orientationSystem": {}, - "outstanding": "Açık", + "outstanding": "Beklemede", "@outstanding": {}, - "outstandingOrderDetail": "Açık siparişleri göster", + "outstandingOrderDetail": "Bekleyen siparişleri göster", "@outstandingOrderDetail": {}, "overdue": "Gecikmede", "@overdue": {}, @@ -602,7 +566,7 @@ "@packageName": {}, "parameters": "Parametreler", "@parameters": {}, - "parametersSettingDetail": "Parça parametrelerini görüntüle", + "parametersSettingDetail": "Parça parametrelerini göster", "@parametersSettingDetail": {}, "parent": "Üst", "@parent": {}, @@ -624,7 +588,7 @@ "@parts": { "description": "Part (multiple)" }, - "partNotSalable": "Parça satılabilir olarak işaretli değil", + "partNotSalable": "Parça satılabilir olarak imlenmemiş", "@partNotSalable": {}, "partsNone": "Parça Yok", "@partsNone": {}, @@ -636,7 +600,7 @@ "@pricingSettingDetail": {}, "partSettings": "Parça Ayarları", "@partSettings": {}, - "partsStarred": "Takip Edilen Parçalar", + "partsStarred": "Sürekli Gelen parçalar", "@partsStarred": {}, "partsStarredNone": "Yıldızlı parça yok", "@partsStarredNone": {}, @@ -648,7 +612,7 @@ "@partCategoryTopLevel": {}, "partCategories": "Parça Kategorileri", "@partCategories": {}, - "partDetails": "Parça Ayrıntıları", + "partDetails": "Parça detayları", "@partDetails": {}, "partNotes": "Parça notları", "@partNotes": {}, @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Parola boş bırakılamaz", "@passwordEmpty": {}, - "pending": "Beklemede", - "@pending": {}, "permissionAccountDenied": "Bu eylemi gerçekleştirmek için gerekli yetkiye sahip değilsiniz", "@permissionAccountDenied": {}, "permissionRequired": "İzin Gerekli", @@ -710,15 +672,15 @@ "@projectCode": {}, "purchaseOrderConfirmScan": "Tarama Verisini Onayla", "@purchaseOrderConfirmScan": {}, - "purchaseOrderConfirmScanDetail": "Kalemleri tararken ayrıntıları onayla", + "purchaseOrderConfirmScanDetail": "Taranan Ürünlerin Detaylarını Onayla", "@purchaseOrderConfirmScanDetail": {}, - "purchaseOrderEnable": "Satın Alma Siparişlerini Etkinleştir", + "purchaseOrderEnable": "Satın Alma Emirlerini Etkinleştir", "@purchaseOrderEnable": {}, "purchaseOrderEnableDetail": "Satın Alma Emirlerinin İşlevselliğini Etkinleştir", "@purchaseOrderEnableDetail": {}, "purchaseOrderShowCamera": "Kamera Kısayolu", "@purchaseOrderShowCamera": {}, - "purchaseOrderShowCameraDetail": "Satın alma siparişi ekranında görsel yükleme kısayolunu etkinleştir", + "purchaseOrderShowCameraDetail": "Satın alma emirleri ekranında fotoğraf yükleme kısayolunu etkinleştir", "@purchaseOrderShowCameraDetail": {}, "purchaseOrder": "Satınalma Siparişi", "@purchaseOrder": {}, @@ -728,7 +690,7 @@ "@purchaseOrderEdit": {}, "purchaseOrderSettings": "Satın Alma Emri Ayarları", "@purchaseOrderSettings": {}, - "purchaseOrders": "Satın Alma Siparişleri", + "purchaseOrders": "Satınalma Siparişleri", "@purchaseOrders": {}, "purchaseOrderUpdated": "Satın Alma Siparişi güncellendi", "@purchaseOrderUpdated": {}, @@ -750,13 +712,13 @@ "@queryEmpty": {}, "queryNoResults": "Sorgu için sonuç yok", "@queryNoResults": {}, - "received": "Teslim Alındı", + "received": "Alınan", "@received": {}, - "receivedFilterDetail": "Teslim alınan kalemleri göster", + "receivedFilterDetail": "Alınan ögeleri göster", "@receivedFilterDetail": {}, - "receiveItem": "Kalemi Teslim Al", + "receiveItem": "Alınan Öğeler", "@receiveItem": {}, - "receivedItem": "Teslim alınan stok kalemleri", + "receivedItem": "Alınan stok parçaları", "@receivedItem": {}, "reference": "Referans", "@reference": {}, @@ -838,13 +800,13 @@ "@salesOrder": {}, "salesOrders": "Satış Siparişleri", "@salesOrders": {}, - "salesOrderEnable": "Satış Siparişlerini Etkinleştir", + "salesOrderEnable": "Satış Emirlerini Etkinleştir", "@salesOrderEnable": {}, "salesOrderEnableDetail": "Satış Siparişlerinin İşlevselliğini Etkinleştir", "@salesOrderEnableDetail": {}, "salesOrderShowCamera": "Kamera Kısayolu", "@salesOrderShowCamera": {}, - "salesOrderShowCameraDetail": "Satış siparişi ekranında görsel yükleme kısayolunu etkinleştir", + "salesOrderShowCameraDetail": "Satış emirleri ekranında fotoğraf yükleme kısayolunu etkinleştir", "@salesOrderShowCameraDetail": {}, "salesOrderSettings": "Satış emirleri ayarları", "@salesOrderSettings": {}, @@ -860,7 +822,7 @@ }, "scanBarcode": "Barkod Tara", "@scanBarcode": {}, - "scanSupplierPart": "Tedarikçi parça barkodunu tara", + "scanSupplierPart": "Sağlayıcı parça barkodunu tara", "@scanSupplierPart": {}, "scanIntoLocation": "Konuma Tara", "@scanIntoLocation": {}, @@ -870,7 +832,7 @@ "@scannerExternal": {}, "scannerExternalDetail": "Barkodları okumak için harici tarayıcı kullan (keyboard wedge modu)", "@scannerExternalDetail": {}, - "scanReceivedParts": "Teslim Alınan Parçaları Tara", + "scanReceivedParts": "Alınan Parçaları Tara", "@scanReceivedParts": {}, "search": "Ara", "@search": { @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Konum için Ara", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Parçaları Ara", "@searchParts": {}, "searchStock": "Stok Ara", @@ -896,7 +850,7 @@ "@select": {}, "selectFile": "Dosya Seç", "@selectFile": {}, - "selectImage": "Görsel Seç", + "selectImage": "Resim Seç", "@selectImage": {}, "selectLocation": "Bir yer seçin", "@selectLocation": {}, @@ -930,7 +884,7 @@ "@serverEmpty": {}, "serverError": "Sunucu Hatası", "@serverError": {}, - "serverDetails": "Sunucu Ayrıntıları", + "serverDetails": "Sunucu Detayları", "@serverDetails": {}, "serverMissingData": "Sunucu yanıtında gerekli alanlar eksik", "@serverMissingData": {}, @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Sunucu bulunamadı", "@serverNotSelected": {}, - "shipment": "Teslimat", - "@shipment": {}, "shipments": "Gönderiler", "@shipments": {}, - "shipmentsPending": "Bekleyen Teslimatlar", - "@shipmentsPending": {}, "shipmentAdd": "Gönderi Ekle", "@shipmentAdd": {}, - "shipmentCheck": "Sevkiyatı Kontrol Et", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Bu sevkiyatı kontrol edildi olarak işaretle", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Sevkiyat Kontrol Edildi", - "@shipmentChecked": {}, - "shipmentDate": "Teslimat Tarihi", - "@shipmentDate": {}, - "shipmentEdit": "Teslimatı Düzenle", - "@shipmentEdit": {}, - "shipmentReference": "Teslimat Referansı", - "@shipmentReference": {}, - "shipmentSend": "Teslimatı Gönder", - "@shipmentSend": {}, - "shipmentUncheck": "Sevkiyat Kontrolünü Kaldır", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Bu teslimatı kontrol edilmedi olarak işaretle", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Teslimat Güncellendi", - "@shipmentUpdated": {}, "shipped": "Gönderildi", "@shipped": {}, "sku": "SKU", @@ -1006,25 +936,25 @@ "@stockItems": {}, "stockItemCreate": "Yeni Stok Kalemi", "@stockItemCreate": {}, - "stockItemCreateDetail": "Bu konumda yeni stok kalemi oluştur", + "stockItemCreateDetail": "Bu konuma yeni stok kalemi oluştur", "@stockItemCreateDetail": {}, "stockItemDelete": "Stok parçasını sil", "@stockItemDelete": {}, - "stockItemDeleteConfirm": "Bu stok kalemini silmek istediğinize emin misiniz?", + "stockItemDeleteConfirm": "Bu stock ögesini silmek istediğinize emin misiniz?", "@stockItemDeleteConfirm": {}, - "stockItemDeleteFailure": "Stok kalemi silinemedi", + "stockItemDeleteFailure": "Stok parçası silinemedi", "@stockItemDeleteFailure": {}, - "stockItemDeleteSuccess": "Stok kalemi silindi", + "stockItemDeleteSuccess": "Stok ögesi silindi", "@stockItemDeleteSuccess": {}, "stockItemHistory": "Stok Geçmişi", "@stockItemHistory": {}, - "stockItemHistoryDetail": "Geçmiş stok takip bilgisini görüntüle", + "stockItemHistoryDetail": "Geçmiş stok takip bilgisini göster", "@stockItemHistoryDetail": {}, - "stockItemTransferred": "Stok kalemi aktarıldı", + "stockItemTransferred": "Stok ögesi aktarıldı", "@stockItemTransferred": {}, - "stockItemUpdated": "Stok kalemi güncellendi", + "stockItemUpdated": "Stok ögesi güncellendi", "@stockItemUpdated": {}, - "stockItemsNotAvailable": "Stok kalemi bulunmamaktadır", + "stockItemsNotAvailable": "Kullanılabilir stok ögesi yok", "@stockItemsNotAvailable": {}, "stockItemNotes": "Stok Kalemi Notları", "@stockItemNotes": {}, @@ -1064,11 +994,11 @@ "@supplier": {}, "supplierPart": "Tedarikçi Parçası", "@supplierPart": {}, - "supplierPartEdit": "Tedarikçi Parçasını Düzenle", + "supplierPartEdit": "Sağlayıcı Parçasını Düzenle", "@supplierPartEdit": {}, - "supplierPartNumber": "Tedarikçi Parça Numarası", + "supplierPartNumber": "Sağlayıcı Parça Numarası", "@supplierPartNumber": {}, - "supplierPartUpdated": "Tedarikçi Parçası Güncellendi", + "supplierPartUpdated": "Sağlayıcı Parçası Güncellendi", "@supplierPartUpdated": {}, "supplierParts": "Tedarikçi Parçaları", "@supplierParts": {}, @@ -1094,7 +1024,7 @@ "@testResults": { "description": "" }, - "testResultsDetail": "Stok kalemi test sonuçlarını görüntüle", + "testResultsDetail": "Stok ögesi test sonuçlarını görüntüle", "@testResultsDetail": {}, "testResultAdd": "Test Sonucu Ekle", "@testResultAdd": {}, @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Toplam Fiyat", "@totalPrice": {}, - "trackingNumber": "Takip Numarası", - "@trackingNumber": {}, "transfer": "Aktarım", "@transfer": { "description": "transfer" @@ -1156,7 +1084,7 @@ "@uploadFailed": {}, "uploadSuccess": "Dosya yüklendi", "@uploadSuccess": {}, - "uploadImage": "Görsel Yükle", + "uploadImage": "Resim Yükleyin", "@uploadImage": {}, "usedIn": "Burada Kullanıldı", "@usedIn": {}, @@ -1174,7 +1102,7 @@ "@valueCannotBeEmpty": {}, "valueRequired": "Değer gereklidir", "@valueRequired": {}, - "variants": "Varyantlar", + "variants": "Türevler", "@variants": {}, "version": "Sürüm", "@version": {}, @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Web sitesi", "@website": {}, - "yes": "Evet", - "@yes": {}, "price": "Fiyat", "@price": {}, "priceRange": "Fiyat Aralığı", @@ -1196,13 +1122,13 @@ "@salePrice": {}, "saleHistory": "Satış Geçmişi", "@saleHistory": {}, - "supplierPricing": "Tedarikçi Fiyatlandırması", + "supplierPricing": "Sağlayıcı Fiyatlandırması", "@supplierPricing": {}, "bomCost": "BoM Maliyeti", "@bomCost": {}, "internalCost": "Dahili Maliyet", "@internalCost": {}, - "variantCost": "Varyant Maliyeti", + "variantCost": "Türev Maliyeti", "@variantCost": {}, "overallPricing": "Genel Fiyatlandırma", "@overallPricing": {}, @@ -1210,6 +1136,16 @@ "@pricingOverrides": {}, "currency": "Para Birimi", "@currency": {}, - "priceBreaks": "Fiyat Kademeleri", - "@priceBreaks": {} + "priceBreaks": "Fiyat Aralığı", + "@priceBreaks": {}, + "noPricingAvailable": "Fiyatlandırma mevcut değil", + "@noPricingAvailable": {}, + "noPricingDataFound": "Bu parça için fiyatlandırma verisi bulunamadı", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Bu resmi silmek istediğinizden emin misiniz?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Görüntüyü Sil", + "@deleteImageTooltip": {}, + "deleteImage": "Resmi sil", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/uk_UA/app_uk_UA.arb b/lib/l10n/uk_UA/app_uk_UA.arb index 8201634..39666bb 100644 --- a/lib/l10n/uk_UA/app_uk_UA.arb +++ b/lib/l10n/uk_UA/app_uk_UA.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Виділити запас", "@allocateStock": {}, - "allocatedStock": "Виділений Запас", - "@allocatedStock": {}, "appReleaseNotes": "Показати примітки до випуску", "@appReleaseNotes": {}, "appSettings": "Налаштування додатку", @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Компанії", "@companies": {}, - "complete": "Завершити", - "@complete": {}, - "completeOrder": "Завершити замовлення", - "@completeOrder": {}, "completionDate": "Дата завершення", "@completionDate": {}, "configureServer": "Налаштування сервера", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Помилка видалення", "@deleteFailed": {}, - "deleteImageConfirmation": "Ви дійсно хочете видалити це зображення?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Видалити Зображення", - "@deleteImageTooltip": {}, - "deleteImage": "Видалити Зображення", - "@deleteImage": {}, "deletePart": "Видалити деталь", "@deletePart": {}, "deletePartDetail": "Видалити цю частину з бази даних", "@deletePartDetail": {}, "deleteSuccess": "Операція видалення пройшла успішно", "@deleteSuccess": {}, - "deliveryDate": "Дата Доставки", - "@deliveryDate": {}, "description": "Опис", "@description": {}, "destination": "Місце призначення", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Показувати кнопку замовлення на домашньому екрані", "@homeShowPoDescription": {}, - "homeShowShipments": "Показати відправлення", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Показати відкладені відправлення на головному екрані", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Показати замовлення", "@homeShowSo": {}, "homeShowSoDescription": "Показувати кнопку замовлення на домашньому екрані", @@ -454,15 +436,11 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Неправильна комбінація імені користувача та пароля", "@invalidUsernamePassword": {}, - "invoice": "Інвойс", - "@invoice": {}, - "invoiceNumber": "Номер Інвойсу", - "@invoiceNumber": {}, - "issue": "Видача", + "issue": "Issue", "@issue": {}, - "issueDate": "Дата Видачі", + "issueDate": "Issue Date", "@issueDate": {}, - "issueOrder": "Оформити Замовлення", + "issueOrder": "Issue Order", "@issueOrder": {}, "itemInLocation": "Товар вже на місці", "@itemInLocation": {}, @@ -472,19 +450,15 @@ "@itemUpdated": {}, "keywords": "Ключові слова", "@keywords": {}, - "labelDriver": "Драйвер Етикеток", - "@labelDriver": {}, - "labelSelectDriver": "Вибрати Драйвер Принтера Етикеток", - "@labelSelectDriver": {}, "labelPrinting": "Друк Ярликів", "@labelPrinting": {}, "labelPrintingDetail": "Увімкнути друк ярликів", "@labelPrintingDetail": {}, "labelTemplate": "Шаблон Ярлика", "@labelTemplate": {}, - "labelSelectTemplate": "Вибрати Шаблон Етикетки", + "labelSelectTemplate": "Select Label Template", "@labelSelectTemplate": {}, - "labelSelectPrinter": "Вибрати Принтер Етикеток", + "labelSelectPrinter": "Select Label Printer", "@labelSelectPrinter": {}, "language": "Мова", "@language": {}, @@ -492,19 +466,19 @@ "@languageDefault": {}, "languageSelect": "Вибір мови", "@languageSelect": {}, - "lastStocktake": "Остання інвентаризація", + "lastStocktake": "Last Stocktake", "@lastStocktake": {}, "lastUpdated": "Останнє оновлення", "@lastUpdated": {}, "level": "Рівень", "@level": {}, - "lineItemAdd": "Додати Позицію", + "lineItemAdd": "Add Line Item", "@lineItemAdd": {}, - "lineItem": "Позиція", + "lineItem": "Line Item", "@lineItem": {}, - "lineItems": "Позиції", + "lineItems": "Line Items", "@lineItems": {}, - "lineItemUpdated": "Позицію оновлено", + "lineItemUpdated": "Line item updated", "@lineItemUpdated": {}, "locateItem": "Знайти елемент запасів", "@locateItem": {}, @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Створити нове розташування на складі", "@locationCreateDetail": {}, - "locationDefault": "Розташування за замовчуванням", - "@locationDefault": {}, "locationNotSet": "Розташування не вказано", "@locationNotSet": {}, "locationUpdated": "Розташування запасів оновлено", @@ -528,11 +500,11 @@ "@loginEnterDetails": {}, "link": "Посилання", "@link": {}, - "lost": "Втрачено", + "lost": "Lost", "@lost": {}, - "manufacturerPart": "Виробник деталі", + "manufacturerPart": "Manufacturer Part", "@manufacturerPart": {}, - "manufacturerPartEdit": "Редагувати виробника деталі", + "manufacturerPartEdit": "Edit Manufacturer Part", "@manufacturerPartEdit": {}, "manufacturerPartNumber": "Номер позиції виробника", "@manufacturerPartNumber": {}, @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Назва", "@name": {}, - "no": "Ні", - "@no": {}, - "notApplicable": "Н/Д", - "@notApplicable": {}, "notConnected": "Не під’єднано", "@notConnected": {}, "notes": "Нотатки", @@ -564,33 +532,29 @@ "@noResults": {}, "noImageAvailable": "Немає доступного зображення", "@noImageAvailable": {}, - "noPricingAvailable": "Ціни не вказано", - "@noPricingAvailable": {}, - "noPricingDataFound": "Для цієї деталі не знайдено даних про ціну", - "@noPricingDataFound": {}, - "noSubcategories": "Немає Підкатегорій", + "noSubcategories": "No Subcategories", "@noSubcategories": {}, - "noSubcategoriesAvailable": "Немає доступних підкатегорій", + "noSubcategoriesAvailable": "No subcategories available", "@noSubcategoriesAvailable": {}, - "numberInvalid": "Некоректний номер", + "numberInvalid": "Invalid number", "@numberInvalid": {}, - "onOrder": "У замовленні", + "onOrder": "On Order", "@onOrder": {}, - "onOrderDetails": "Позиції в поточних замовленнях", + "onOrderDetails": "Items currently on order", "@onOrderDetails": {}, - "orientation": "Орієнтація екрана", + "orientation": "Screen Orientation", "@orientation": {}, - "orientationDetail": "Орієнтація екрана (потребує перезапуску)", + "orientationDetail": "Screen orientation (requires restart)", "@orientationDetail": {}, - "orientationLandscape": "Альбомна орієнтація", + "orientationLandscape": "Landscape", "@orientationLandscape": {}, - "orientationPortrait": "Портретна орієнтація екрану", + "orientationPortrait": "Portrait", "@orientationPortrait": {}, - "orientationSystem": "Орієнтація задана системою", + "orientationSystem": "System", "@orientationSystem": {}, "outstanding": "Відмінно", "@outstanding": {}, - "outstandingOrderDetail": "Показати незавершені замовлення", + "outstandingOrderDetail": "Show outstanding orders", "@outstandingOrderDetail": {}, "overdue": "Протерміновані", "@overdue": {}, @@ -630,9 +594,9 @@ "@partsNone": {}, "partNoResults": "Немає позицій відповідних запиту", "@partNoResults": {}, - "partPricing": "Ціна деталі", + "partPricing": "Part Pricing", "@partPricing": {}, - "partPricingSettingDetail": "Відображати інформацію про ціни на деталь", + "partPricingSettingDetail": "Display part pricing information", "@pricingSettingDetail": {}, "partSettings": "Налаштування позиції", "@partSettings": {}, @@ -652,7 +616,7 @@ "@partDetails": {}, "partNotes": "Примітки до позиції", "@partNotes": {}, - "partStock": "Наявність На Складі", + "partStock": "Part Stock", "@partStock": { "description": "part stock" }, @@ -660,13 +624,11 @@ "@password": {}, "passwordEmpty": "Пароль не може бути порожнім", "@passwordEmpty": {}, - "pending": "В очікуванні", - "@pending": {}, "permissionAccountDenied": "Ваш обліковий запис не має необхідних прав для виконання цієї дії", "@permissionAccountDenied": {}, "permissionRequired": "Потрібен дозвіл", "@permissionRequired": {}, - "phone": "Телефон", + "phone": "Phone", "@phone": {}, "printLabel": "Друк ярлика", "@printLabel": {}, @@ -712,65 +674,65 @@ "@purchaseOrderConfirmScan": {}, "purchaseOrderConfirmScanDetail": "Підтвердити подробиці при скануванні в позицій", "@purchaseOrderConfirmScanDetail": {}, - "purchaseOrderEnable": "Увімкнути Закупівлю", + "purchaseOrderEnable": "Enable Purchase Orders", "@purchaseOrderEnable": {}, - "purchaseOrderEnableDetail": "Увімкнути функціонал закупівлі", + "purchaseOrderEnableDetail": "Enable purchase order functionality", "@purchaseOrderEnableDetail": {}, - "purchaseOrderShowCamera": "Швидкий Доступ до Камери", + "purchaseOrderShowCamera": "Camera Shortcut", "@purchaseOrderShowCamera": {}, - "purchaseOrderShowCameraDetail": "Увімкнути ярлик для завантаження зображень на екрані закупівель", + "purchaseOrderShowCameraDetail": "Enable image upload shortcut on purchase order screen", "@purchaseOrderShowCameraDetail": {}, - "purchaseOrder": "Замовлення на Закупівлю", + "purchaseOrder": "Purchase Order", "@purchaseOrder": {}, - "purchaseOrderCreate": "Нове Замовлення на Закупівлю", + "purchaseOrderCreate": "New Purchase Order", "@purchaseOrderCreate": {}, - "purchaseOrderEdit": "Редагувати Замовлення на Закупівлю", + "purchaseOrderEdit": "Edit Purchase Order", "@purchaseOrderEdit": {}, - "purchaseOrderSettings": "Налаштування замовлення на закупівлю", + "purchaseOrderSettings": "Purchase order settings", "@purchaseOrderSettings": {}, - "purchaseOrders": "Закупівлі", + "purchaseOrders": "Purchase Orders", "@purchaseOrders": {}, - "purchaseOrderUpdated": "Замовлення на закупівлю оновлено", + "purchaseOrderUpdated": "Purchase order updated", "@purchaseOrderUpdated": {}, - "purchasePrice": "Закупівельна Ціна", + "purchasePrice": "Purchase Price", "@purchasePrice": {}, - "quantity": "Кількість", + "quantity": "Quantity", "@quantity": { "description": "Quantity" }, - "quantityAvailable": "Доступна кількість", + "quantityAvailable": "Quantity Available", "@quantityAvailable": {}, - "quantityEmpty": "Кількість не вказана", + "quantityEmpty": "Quantity is empty", "@quantityEmpty": {}, - "quantityInvalid": "Некоректна кількість", + "quantityInvalid": "Quantity is invalid", "@quantityInvalid": {}, - "quantityPositive": "Кількість мусить бути позитивною", + "quantityPositive": "Quantity must be positive", "@quantityPositive": {}, - "queryEmpty": "Що шукати?", + "queryEmpty": "Enter search query", "@queryEmpty": {}, - "queryNoResults": "Нічого не знайдено", + "queryNoResults": "No results for query", "@queryNoResults": {}, - "received": "Отримано", + "received": "Received", "@received": {}, - "receivedFilterDetail": "Показувати отримані позиції", + "receivedFilterDetail": "Show received items", "@receivedFilterDetail": {}, - "receiveItem": "Прийняти Позицію", + "receiveItem": "Receive Item", "@receiveItem": {}, - "receivedItem": "Отримана Складська Позиція", + "receivedItem": "Received Stock Item", "@receivedItem": {}, - "reference": "Номер документа", + "reference": "Reference", "@reference": {}, - "refresh": "Оновити", + "refresh": "Refresh", "@refresh": {}, - "rotateClockwise": "Повернути на 90° за годинниковою стрілкою", + "rotateClockwise": "Rotate 90° clockwise", "@rotateClockwise": {}, - "refreshing": "Оновлення", + "refreshing": "Refreshing", "@refreshing": {}, - "rejected": "Відхилено", + "rejected": "Rejected", "@rejected": {}, - "releaseNotes": "Замітки до випуску", + "releaseNotes": "Release Notes", "@releaseNotes": {}, - "remove": "Видалити", + "remove": "Remove", "@remove": { "description": "remove" }, @@ -778,47 +740,47 @@ "@removeStock": { "description": "remove stock" }, - "reportBug": "Зголосити помилку", + "reportBug": "Report Bug", "@reportBug": {}, "reportBugDescription": "Відправити звіт про помилку (потрібен обліковий запис GitHub)", "@reportBugDescription": {}, - "responsible": "Відповідальний", + "responsible": "Responsible", "@responsible": {}, - "results": "Результати", + "results": "Results", "@results": {}, - "request": "Запит", + "request": "Request", "@request": {}, - "requestFailed": "Запит завершився помилкою", + "requestFailed": "Request Failed", "@requestFailed": {}, - "requestSuccessful": "Успішний запит", + "requestSuccessful": "Request successful", "@requestSuccessful": {}, - "requestingData": "Запит даних", + "requestingData": "Requesting Data", "@requestingData": {}, "required": "Required", "@required": { "description": "This field is required" }, - "response400": "Некоректний запит", + "response400": "Bad Request", "@response400": {}, - "response401": "Потрібна авторизація", + "response401": "Unauthorized", "@response401": {}, - "response403": "Доступ заборонено", + "response403": "Permission Denied", "@response403": {}, - "response404": "Ресурс не знайдено", + "response404": "Resource Not Found", "@response404": {}, - "response405": "Цей метод заборонений", + "response405": "Method Not Allowed", "@response405": {}, - "response429": "Занадто багато запитів", + "response429": "Too Many Requests", "@response429": {}, - "response500": "Внутрішня помилка сервера", + "response500": "Internal Server Error", "@response500": {}, - "response501": "Не реалізовано", + "response501": "Not Implemented", "@response501": {}, - "response502": "Поганий шлюз", + "response502": "Bad Gateway", "@response502": {}, - "response503": "Сервіс недоступний", + "response503": "Service Unavailable", "@response503": {}, - "response504": "Шлю не відповідає", + "response504": "Gateway Timeout", "@response504": {}, "response505": "Версія HTTP не підтримується", "@response505": {}, @@ -862,135 +824,103 @@ "@scanBarcode": {}, "scanSupplierPart": "Сканувати штрих-код позиції постачальника", "@scanSupplierPart": {}, - "scanIntoLocation": "", + "scanIntoLocation": "Scan Into Location", "@scanIntoLocation": {}, "scanIntoLocationDetail": "Scan this item into location", "@scanIntoLocationDetail": {}, - "scannerExternal": "Зовнішній сканер", + "scannerExternal": "External Scanner", "@scannerExternal": {}, "scannerExternalDetail": "Використовувати зовнішній сканер для читання штрих-кодів (wedge режим)", "@scannerExternalDetail": {}, "scanReceivedParts": "Scan Received Parts", "@scanReceivedParts": {}, - "search": "Пошук", + "search": "Search", "@search": { "description": "search" }, - "searching": "Триває пошук", + "searching": "Searching", "@searching": {}, "searchLocation": "Search for location", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Search Parts", "@searchParts": {}, "searchStock": "Search Stock", "@searchStock": {}, - "select": "Вибрати", + "select": "Select", "@select": {}, - "selectFile": "Вибрати файл", + "selectFile": "Select File", "@selectFile": {}, - "selectImage": "Виберіть зображення", + "selectImage": "Select Image", "@selectImage": {}, "selectLocation": "Select a location", "@selectLocation": {}, - "send": "Відправити", + "send": "Send", "@send": {}, - "serialNumber": "Серійний номер", + "serialNumber": "Serial Number", "@serialNumber": {}, - "serialNumbers": "Серійні номери", + "serialNumbers": "Serial Numbers", "@serialNumbers": {}, - "server": "Сервер", + "server": "Server", "@server": {}, - "serverAddress": "Адреса сервера", + "serverAddress": "Server Address", "@serverAddress": {}, - "serverApiRequired": "Вимагана версія API", + "serverApiRequired": "Required API Version", "@serverApiRequired": {}, - "serverApiVersion": "Версія API сервера", + "serverApiVersion": "Server API Version", "@serverApiVersion": {}, - "serverAuthenticationError": "Помилка аутентифікації", + "serverAuthenticationError": "Authentication Error", "@serverAuthenticationError": {}, - "serverCertificateError": "Помилка сертифіката", + "serverCertificateError": "Cerficate Error", "@serverCertificateError": {}, - "serverCertificateInvalid": "Помилка HTTPS сертифікату сервера", + "serverCertificateInvalid": "Server HTTPS certificate is invalid", "@serverCertificateInvalid": {}, - "serverConnected": "Підключений до сервера", + "serverConnected": "Connected to Server", "@serverConnected": {}, - "serverConnecting": "Триває підключення до сервера", + "serverConnecting": "Connecting to server", "@serverConnecting": {}, - "serverCouldNotConnect": "Неможливо під'єднатися до сервера", + "serverCouldNotConnect": "Could not connect to server", "@serverCouldNotConnect": {}, "serverEmpty": "Server cannot be empty", "@serverEmpty": {}, - "serverError": "Помилка сервера", + "serverError": "Server Error", "@serverError": {}, - "serverDetails": "Інформація про сервер", + "serverDetails": "Server Details", "@serverDetails": {}, "serverMissingData": "На сервері відсутні обов'язкові поля для відповіді", "@serverMissingData": {}, - "serverOld": "Стара версія сервера", + "serverOld": "Old Server Version", "@serverOld": {}, - "serverSettings": "Налаштування сервера", + "serverSettings": "Server Settings", "@serverSettings": {}, - "serverStart": "Адреса сервера мусить починатися з http[s]", + "serverStart": "Server must start with http[s]", "@serverStart": {}, - "settings": "Налаштування", + "settings": "Settings", "@settings": {}, - "serverInstance": "Екземпляр сервера", + "serverInstance": "Server Instance", "@serverInstance": {}, - "serverNotConnected": "Відсутнє з'єднання з сервером", + "serverNotConnected": "Server not connected", "@serverNotConnected": {}, - "serverNotSelected": "Сервер не вибраний", + "serverNotSelected": "Server not selected", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Shipments", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Add Shipment", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, - "shipped": "Відправлено", + "shipped": "Shipped", "@shipped": {}, "sku": "SKU", "@sku": {}, - "sounds": "Звуки", + "sounds": "Sounds", "@sounds": {}, - "soundOnBarcodeAction": "Відтворити звук при скануванні", + "soundOnBarcodeAction": "Play audible tone on barcode action", "@soundOnBarcodeAction": {}, - "soundOnServerError": "Відтворити звук при помилці сервера", + "soundOnServerError": "Play audible tone on server error", "@soundOnServerError": {}, - "startDate": "Дата початку", + "startDate": "Start Date", "@startDate": {}, - "status": "Статус", + "status": "Status", "@status": {}, - "statusCode": "Код статусу", + "statusCode": "Status Code", "@statusCode": {}, "stock": "Stock", "@stock": { @@ -1060,7 +990,7 @@ "@submitFeedback": {}, "suppliedParts": "Supplied Parts", "@suppliedParts": {}, - "supplier": "Постачальник", + "supplier": "Supplier", "@supplier": {}, "supplierPart": "Supplier Part", "@supplierPart": {}, @@ -1072,47 +1002,47 @@ "@supplierPartUpdated": {}, "supplierParts": "Supplier Parts", "@supplierParts": {}, - "suppliers": "Постачальники", + "suppliers": "Suppliers", "@suppliers": {}, "supplierReference": "Supplier Reference", "@supplierReference": {}, "switchCamera": "Switch Camera", "@switchCamera": {}, - "takePicture": "Зробити фото", + "takePicture": "Take Picture", "@takePicture": {}, "targetDate": "Target Date", "@targetDate": {}, "templatePart": "Parent Template Part", "@templatePart": {}, - "testName": "Назва тесту", + "testName": "Test Name", "@testName": {}, - "testPassedOrFailed": "Тест завершився успішно або помилкою", + "testPassedOrFailed": "Test passed or failed", "@testPassedOrFailed": {}, - "testsRequired": "Вимаганні тести", + "testsRequired": "Required Tests", "@testsRequired": {}, - "testResults": "Результат тесту", + "testResults": "Test Results", "@testResults": { "description": "" }, - "testResultsDetail": "Показати результати перевірки товару на складі", + "testResultsDetail": "Display stock item test results", "@testResultsDetail": {}, - "testResultAdd": "Додати результат тесту", + "testResultAdd": "Add Test Result", "@testResultAdd": {}, - "testResultNone": "Відсутні результати тесту", + "testResultNone": "No Test Results", "@testResultNone": {}, - "testResultNoneDetail": "Результати тесту недоступні", + "testResultNoneDetail": "No test results available", "@testResultNoneDetail": {}, - "testResultUploadFail": "Помилка при завантаженні результатів тесту", + "testResultUploadFail": "Error uploading test result", "@testResultUploadFail": {}, "testResultUploadPass": "Test result uploaded", "@testResultUploadPass": {}, - "timeout": "Тайм-аут", + "timeout": "Timeout", "@timeout": { "description": "" }, "toggleTorch": "Toggle Torch", "@toggleTorch": {}, - "tokenError": "Помилка токену", + "tokenError": "Token Error", "@tokenError": {}, "tokenMissing": "Missing Token", "@tokenMissing": {}, @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Total Price", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Transfer", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Website", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/vi_VN/app_vi_VN.arb b/lib/l10n/vi_VN/app_vi_VN.arb index b981e99..0dd51ae 100644 --- a/lib/l10n/vi_VN/app_vi_VN.arb +++ b/lib/l10n/vi_VN/app_vi_VN.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "Phân kho", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "Hiển thị ghi chú phát hành ứng dụng", "@appReleaseNotes": {}, "appSettings": "Cài đặt ứng dụng", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "Quét mã vạch đã bị dừng", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "Nhấp hoặc giữ để dừng quét", "@barcodeScanPause": {}, "barcodeScanAssign": "Quét để gán mã vạch", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "Doanh nghiệp", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "Cấu hình thiết lập máy chủ", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "Thao tác xóa đã thất bại", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "Xóa phần", "@deletePart": {}, "deletePartDetail": "Xóa một phần ra khỏi cơ sở dữ liệu", "@deletePartDetail": {}, "deleteSuccess": "Thao tác xóa thành công", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "Mô tả", "@description": {}, "destination": "Destination", @@ -264,7 +250,7 @@ "@edit": { "description": "edit" }, - "editAttachment": "Sửa tệp đính kèm", + "editAttachment": "Edit Attachment", "@editAttachment": {}, "editCategory": "Sửa Danh mục", "@editCategory": {}, @@ -282,7 +268,7 @@ "@editItem": {}, "editLineItem": "Sửa dòng sản phẩm", "@editLineItem": {}, - "email": "Địa chỉ email", + "email": "Email", "@email": {}, "enterPassword": "Nhập mật khẩu", "@enterPassword": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "Hiển thị đơn hàng mới tại màn hình chính", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "Hiện đơn hàng bán", "@homeShowSo": {}, "homeShowSoDescription": "Hiện nút đơn hàng bán tại màn hình trang chủ", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "Tên người dùng / mật khẩu không hợp lệ", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "Vấn đề", "@issue": {}, "issueDate": "Ngày phát hành", @@ -468,14 +446,10 @@ "@itemInLocation": {}, "itemDeleted": "Hàng hóa đã bị xóa", "@itemDeleted": {}, - "itemUpdated": "Mẫu đã được cập nhật", + "itemUpdated": "Item updated", "@itemUpdated": {}, "keywords": "Từ khóa", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "In nhãn mã vạch", "@labelPrinting": {}, "labelPrintingDetail": "Bật in nhãn tem", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "Thêm mới vị trí kho hàng", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "Không xác định được vị trí", "@locationNotSet": {}, "locationUpdated": "Cập nhật vị trí kho hàng", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "Tên", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "Không được kết nối", "@notConnected": {}, "notes": "Ghi chú", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "Không có danh mục con", "@noSubcategories": {}, "noSubcategoriesAvailable": "Không có sẵn danh mục", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "Mật khẩu không được để trống", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "Tài khoản này bắt buộc phải có đủ các quyền để thực hiện thao tác này", "@permissionAccountDenied": {}, "permissionRequired": "Yêu cầu quyền truy cập", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "Vị trí tìm kiếm", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "Tìm kiếm phụ tùng", "@searchParts": {}, "searchStock": "Tìm kiếm có sẵn", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "Chưa chọn máy chủ", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "Vận chuyển", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "Thêm phương thức vận chuyển", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "Đã vận chuyển", "@shipped": {}, "sku": "Mã sản phẩm", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "Tổng tiền", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "Chuyển", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "Trang web", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/zh_CN/app_zh_CN.arb b/lib/l10n/zh_CN/app_zh_CN.arb index 2f7c498..e1cf2b9 100644 --- a/lib/l10n/zh_CN/app_zh_CN.arb +++ b/lib/l10n/zh_CN/app_zh_CN.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "分配库存", "@allocateStock": {}, - "allocatedStock": "已分配库存", - "@allocatedStock": {}, "appReleaseNotes": "显示应用发布笔记", "@appReleaseNotes": {}, "appSettings": "应用设置", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "条形码扫描已暂停", "@barodeScanPaused": {}, - "barcodeScanPause": "点击以暂停扫描", + "barcodeScanPause": "点击或按住以暂停扫描", "@barcodeScanPause": {}, "barcodeScanAssign": "扫描以分配条形码", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "公司", "@companies": {}, - "complete": "完成", - "@complete": {}, - "completeOrder": "完成订单", - "@completeOrder": {}, "completionDate": "完成日期", "@completionDate": {}, "configureServer": "配置服务器的设置", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "删除操作失败", "@deleteFailed": {}, - "deleteImageConfirmation": "您确认要删除此图片吗?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "删除图片", - "@deleteImageTooltip": {}, - "deleteImage": "删除图片", - "@deleteImage": {}, "deletePart": "删除零件", "@deletePart": {}, "deletePartDetail": "从数据库中删除此零件", "@deletePartDetail": {}, "deleteSuccess": "删除操作成功", "@deleteSuccess": {}, - "deliveryDate": "交货日期", - "@deliveryDate": {}, "description": "描述", "@description": {}, "destination": "目的地", @@ -282,7 +268,7 @@ "@editItem": {}, "editLineItem": "编辑行项目", "@editLineItem": {}, - "email": "电子邮件", + "email": "Email", "@email": {}, "enterPassword": "输入密码", "@enterPassword": {}, @@ -296,7 +282,7 @@ "@errorCreate": {}, "errorDelete": "删除数据库条目时出错", "@errorDelete": {}, - "errorDetails": "错误详情", + "errorDetails": "c w错误详情", "@errorDetails": {}, "errorFetch": "从服务器获取数据时出错", "@errorFetch": {}, @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "在主屏幕上显示订单按钮", "@homeShowPoDescription": {}, - "homeShowShipments": "显示货件", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "在首页显示待处理货件", - "@homeShowShipmentsDescription": {}, "homeShowSo": "显示销售订单", "@homeShowSo": {}, "homeShowSoDescription": "在主屏幕上显示销售订单按钮", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "无效的用户名密码组合", "@invalidUsernamePassword": {}, - "invoice": "发票", - "@invoice": {}, - "invoiceNumber": "发票号码", - "@invoiceNumber": {}, "issue": "下单任务", "@issue": {}, "issueDate": "签发日期", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "关键词", "@keywords": {}, - "labelDriver": "标签打印机", - "@labelDriver": {}, - "labelSelectDriver": "选择标签打印机", - "@labelSelectDriver": {}, "labelPrinting": "打印标签", "@labelPrinting": {}, "labelPrintingDetail": "启用标签打印功能", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "创建新库存地点", "@locationCreateDetail": {}, - "locationDefault": "默认位置", - "@locationDefault": {}, "locationNotSet": "没有指定仓储位置", "@locationNotSet": {}, "locationUpdated": "库存地点已更新", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "名称", "@name": {}, - "no": "否", - "@no": {}, - "notApplicable": "不适用", - "@notApplicable": {}, "notConnected": "未连接", "@notConnected": {}, "notes": "注释", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "没有可用的图片", "@noImageAvailable": {}, - "noPricingAvailable": "无可用价格", - "@noPricingAvailable": {}, - "noPricingDataFound": "未找到此零件的定价数据", - "@noPricingDataFound": {}, "noSubcategories": "无子类别", "@noSubcategories": {}, "noSubcategoriesAvailable": "无可用子类别", @@ -660,13 +624,11 @@ "@password": {}, "passwordEmpty": "密码不能为空", "@passwordEmpty": {}, - "pending": "等待", - "@pending": {}, "permissionAccountDenied": "您的账户没有执行此操作所需的权限", "@permissionAccountDenied": {}, "permissionRequired": "需要授权:", "@permissionRequired": {}, - "phone": "电话", + "phone": "Phone", "@phone": {}, "printLabel": "打印标签", "@printLabel": {}, @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "搜索仓储位置", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "搜索零件", "@searchParts": {}, "searchStock": "搜索库存", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "未选定服务器", "@serverNotSelected": {}, - "shipment": "发货", - "@shipment": {}, "shipments": "配送", "@shipments": {}, - "shipmentsPending": "待处理货件", - "@shipmentsPending": {}, "shipmentAdd": "添加配送", "@shipmentAdd": {}, - "shipmentCheck": "查询物流", - "@shipmentCheck": {}, - "shipmentCheckDetail": "标记为已核对", - "@shipmentCheckDetail": {}, - "shipmentChecked": "已核对", - "@shipmentChecked": {}, - "shipmentDate": "发货日期", - "@shipmentDate": {}, - "shipmentEdit": "编辑货件", - "@shipmentEdit": {}, - "shipmentReference": "参考编号", - "@shipmentReference": {}, - "shipmentSend": "确认发货", - "@shipmentSend": {}, - "shipmentUncheck": "取消核对", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "标记为未核对", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "货件信息已更新", - "@shipmentUpdated": {}, "shipped": "已配送", "@shipped": {}, "sku": "库存单位 (SKU)", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "总价", "@totalPrice": {}, - "trackingNumber": "运单号", - "@trackingNumber": {}, "transfer": "转移", "@transfer": { "description": "transfer" @@ -1182,15 +1110,13 @@ "@viewSupplierPart": {}, "website": "网站", "@website": {}, - "yes": "是", - "@yes": {}, "price": "价格", "@price": {}, "priceRange": "价格范围", "@priceRange": {}, - "priceOverrideMin": "最低价格覆盖", + "priceOverrideMin": "Minimum Price Override", "@priceOverrideMin": {}, - "priceOverrideMax": "最高自定义价格", + "priceOverrideMax": "Maximum Price Override", "@priceOverrideMax": {}, "salePrice": "销售价格", "@salePrice": {}, @@ -1211,5 +1137,15 @@ "currency": "币种", "@currency": {}, "priceBreaks": "批发价", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "无可用价格", + "@noPricingAvailable": {}, + "noPricingDataFound": "未找到此零件的定价数据", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "您确认要删除此图片吗?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "删除图片", + "@deleteImageTooltip": {}, + "deleteImage": "删除图片", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/l10n/zh_TW/app_zh_TW.arb b/lib/l10n/zh_TW/app_zh_TW.arb index b0871e1..58954c0 100644 --- a/lib/l10n/zh_TW/app_zh_TW.arb +++ b/lib/l10n/zh_TW/app_zh_TW.arb @@ -46,8 +46,6 @@ "@aspectRatioSquare": {}, "allocateStock": "分配庫存", "@allocateStock": {}, - "allocatedStock": "Allocated Stock", - "@allocatedStock": {}, "appReleaseNotes": "顯示應用程式發布說明", "@appReleaseNotes": {}, "appSettings": "程式設定", @@ -102,7 +100,7 @@ "@barcodeReceivePart": {}, "barcodeScanPaused": "條碼掃描已暫停", "@barodeScanPaused": {}, - "barcodeScanPause": "Tap to pause scanning", + "barcodeScanPause": "點擊或按住以暫停掃描", "@barcodeScanPause": {}, "barcodeScanAssign": "掃描以設置條碼", "@barcodeScanAssign": {}, @@ -180,10 +178,6 @@ "@companyUpdated": {}, "companies": "公司", "@companies": {}, - "complete": "Complete", - "@complete": {}, - "completeOrder": "Complete Order", - "@completeOrder": {}, "completionDate": "Completion Date", "@completionDate": {}, "configureServer": "伺服器設定", @@ -228,20 +222,12 @@ "@delete": {}, "deleteFailed": "刪除失敗", "@deleteFailed": {}, - "deleteImageConfirmation": "Are you sure you want to delete this image?", - "@deleteImageConfirmation": {}, - "deleteImageTooltip": "Delete Image", - "@deleteImageTooltip": {}, - "deleteImage": "Delete Image", - "@deleteImage": {}, "deletePart": "刪除零件", "@deletePart": {}, "deletePartDetail": "從數據庫中刪除此零件", "@deletePartDetail": {}, "deleteSuccess": "刪除成功", "@deleteSuccess": {}, - "deliveryDate": "Delivery Date", - "@deliveryDate": {}, "description": "敘述", "@description": {}, "destination": "Destination", @@ -384,10 +370,6 @@ "@homeShowPo": {}, "homeShowPoDescription": "在主屏幕上顯示訂單按鈕", "@homeShowPoDescription": {}, - "homeShowShipments": "Show Shipments", - "@homeShowShipments": {}, - "homeShowShipmentsDescription": "Show pending shipments on the home screen", - "@homeShowShipmentsDescription": {}, "homeShowSo": "顯示銷售訂單", "@homeShowSo": {}, "homeShowSoDescription": "在主屏幕上顯示銷售訂單按鈕", @@ -454,10 +436,6 @@ "@invalidSupplierPart": {}, "invalidUsernamePassword": "無效的用户名密碼組合", "@invalidUsernamePassword": {}, - "invoice": "Invoice", - "@invoice": {}, - "invoiceNumber": "Invoice Number", - "@invoiceNumber": {}, "issue": "發行", "@issue": {}, "issueDate": "發行日期", @@ -472,10 +450,6 @@ "@itemUpdated": {}, "keywords": "關鍵字", "@keywords": {}, - "labelDriver": "Label Driver", - "@labelDriver": {}, - "labelSelectDriver": "Select Label Printer Driver", - "@labelSelectDriver": {}, "labelPrinting": "標籤印製", "@labelPrinting": {}, "labelPrintingDetail": "啓用標籤打印功能", @@ -514,8 +488,6 @@ "@locationCreate": {}, "locationCreateDetail": "創建新庫存地點", "@locationCreateDetail": {}, - "locationDefault": "Default Location", - "@locationDefault": {}, "locationNotSet": "沒有指定倉儲位置", "@locationNotSet": {}, "locationUpdated": "庫存地點已更新", @@ -544,10 +516,6 @@ "@missingData": {}, "name": "名稱", "@name": {}, - "no": "No", - "@no": {}, - "notApplicable": "N/A", - "@notApplicable": {}, "notConnected": "未連接", "@notConnected": {}, "notes": "備註", @@ -564,10 +532,6 @@ "@noResults": {}, "noImageAvailable": "No image available", "@noImageAvailable": {}, - "noPricingAvailable": "No pricing available", - "@noPricingAvailable": {}, - "noPricingDataFound": "No pricing data found for this part", - "@noPricingDataFound": {}, "noSubcategories": "無子類別", "@noSubcategories": {}, "noSubcategoriesAvailable": "無可用子類別", @@ -660,8 +624,6 @@ "@password": {}, "passwordEmpty": "密碼不能為空", "@passwordEmpty": {}, - "pending": "Pending", - "@pending": {}, "permissionAccountDenied": "您的賬户沒有執行此操作所需的權限", "@permissionAccountDenied": {}, "permissionRequired": "需要授權:", @@ -880,14 +842,6 @@ "@searching": {}, "searchLocation": "搜索倉儲位置", "@searchLocation": {}, - "searchOrderingField": "Ordering Field", - "@searchOrderingField": {}, - "searchOrderingDirection": "Ordering Direction", - "@searchOrderingDirection": {}, - "searchOrderingAscending": "Ascending", - "@searchOrderingAscending": {}, - "searchOrderingDescending": "Descending", - "@searchOrderingDescending": {}, "searchParts": "搜索零件", "@searchParts": {}, "searchStock": "搜索庫存", @@ -948,34 +902,10 @@ "@serverNotConnected": {}, "serverNotSelected": "未選定服務器", "@serverNotSelected": {}, - "shipment": "Shipment", - "@shipment": {}, "shipments": "配送", "@shipments": {}, - "shipmentsPending": "Pending Shipments", - "@shipmentsPending": {}, "shipmentAdd": "添加配送", "@shipmentAdd": {}, - "shipmentCheck": "Check Shipment", - "@shipmentCheck": {}, - "shipmentCheckDetail": "Mark this shipment as checked", - "@shipmentCheckDetail": {}, - "shipmentChecked": "Shipment Checked", - "@shipmentChecked": {}, - "shipmentDate": "Shipment Date", - "@shipmentDate": {}, - "shipmentEdit": "Edit Shipment", - "@shipmentEdit": {}, - "shipmentReference": "Shipment Reference", - "@shipmentReference": {}, - "shipmentSend": "Send Shipment", - "@shipmentSend": {}, - "shipmentUncheck": "Uncheck Shipment", - "@shipmentUncheck": {}, - "shipmentUncheckDetail": "Mark this shipment as unchecked", - "@shipmentUncheckDetail": {}, - "shipmentUpdated": "Shipment Updated", - "@shipmentUpdated": {}, "shipped": "已配送", "@shipped": {}, "sku": "庫存單位 (SKU)", @@ -1120,8 +1050,6 @@ "@tokenMissingFromResponse": {}, "totalPrice": "總價", "@totalPrice": {}, - "trackingNumber": "Tracking Number", - "@trackingNumber": {}, "transfer": "轉移", "@transfer": { "description": "transfer" @@ -1182,8 +1110,6 @@ "@viewSupplierPart": {}, "website": "網站", "@website": {}, - "yes": "Yes", - "@yes": {}, "price": "Price", "@price": {}, "priceRange": "Price Range", @@ -1211,5 +1137,15 @@ "currency": "Currency", "@currency": {}, "priceBreaks": "Price Breaks", - "@priceBreaks": {} + "@priceBreaks": {}, + "noPricingAvailable": "No pricing available", + "@noPricingAvailable": {}, + "noPricingDataFound": "No pricing data found for this part", + "@noPricingDataFound": {}, + "deleteImageConfirmation": "Are you sure you want to delete this image?", + "@deleteImageConfirmation": {}, + "deleteImageTooltip": "Delete Image", + "@deleteImageTooltip": {}, + "deleteImage": "Delete Image", + "@deleteImage": {} } \ No newline at end of file diff --git a/lib/labels.dart b/lib/labels.dart index 2b7cc27..10e2c20 100644 --- a/lib/labels.dart +++ b/lib/labels.dart @@ -1,206 +1,11 @@ import "package:flutter/cupertino.dart"; -import "package:flutter/material.dart"; +import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; import "package:inventree/api.dart"; -import "package:inventree/preferences.dart"; +import "package:inventree/widget/progress.dart"; import "package:inventree/api_form.dart"; import "package:inventree/l10.dart"; -import "package:inventree/widget/progress.dart"; import "package:inventree/widget/snacks.dart"; -const String PRINT_LABEL_URL = "api/label/print/"; - -/* - * Custom form handler for label printing. - * Required to manage dynamic form fields. - */ -class LabelFormWidgetState extends APIFormWidgetState { - LabelFormWidgetState() : super(); - - List dynamicFields = []; - - String pluginKey = ""; - String labelType = ""; - - @override - List get formFields { - final baseFields = super.formFields; - - if (pluginKey.isEmpty) { - // Handle case where default plugin is provided - final APIFormField pluginField = baseFields.firstWhere( - (field) => field.name == "plugin", - ); - - if (pluginField.initial_data != null) { - pluginKey = pluginField.value.toString(); - onValueChanged("plugin", pluginKey); - } - } - - return [...baseFields, ...dynamicFields]; - } - - @override - void onValueChanged(String field, dynamic value) { - if (field == "plugin") { - onPluginChanged(value.toString()); - } - } - - @override - Future handleSuccess( - Map submittedData, - Map responseData, - ) async { - super.handleSuccess(submittedData, responseData); - - // Save default values to the database - final String? plugin = submittedData["plugin"]?.toString(); - final int? template = submittedData["template"] as int?; - - // Save default printing plugin - if (plugin != null) { - InvenTreeSettingsManager().setValue(INV_LABEL_DEFAULT_PLUGIN, plugin); - } - - // Save default template for this label type - if (labelType.isNotEmpty && template != null) { - final defaultTemplates = - await InvenTreeSettingsManager().getValue( - INV_LABEL_DEFAULT_TEMPLATES, - null, - ) - as Map?; - - InvenTreeSettingsManager().setValue(INV_LABEL_DEFAULT_TEMPLATES, { - ...?defaultTemplates, - labelType: template, - }); - } - } - - /* - * Re-fetch printing options when the plugin changes - */ - Future onPluginChanged(String key) async { - showLoadingOverlay(); - - InvenTreeAPI().options(PRINT_LABEL_URL, params: {"plugin": key}).then(( - APIResponse response, - ) { - if (response.isValid()) { - updateFields(response); - hideLoadingOverlay(); - } - }); - } - - /* - * Callback when the server responds with printing options, - * based on the selected printing plugin - */ - Future updateFields(APIResponse response) async { - Map printingFields = extractFields(response); - - // Find only the fields which are not in the "base" fields - List uniqueFields = []; - - for (String key in printingFields.keys) { - if (super.formFields.any((field) => field.name == key)) { - continue; - } - - dynamic data = printingFields[key]; - - Map fieldData = {}; - - if (data is Map) { - fieldData = Map.from(data); - } - - APIFormField field = APIFormField(key, fieldData); - field.definition = extractFieldDefinition( - printingFields, - field.lookupPath, - ); - - if (field.type == "dependent field") { - // Dependent fields must be handled separately - - // TODO: This should be refactored into api_form.dart - dynamic child = field.definition["child"]; - - if (child != null && child is Map) { - Map child_map = child as Map; - dynamic nested_children = child_map["children"]; - - if (nested_children != null && nested_children is Map) { - Map nested_child_map = - nested_children as Map; - - for (var field_key in nested_child_map.keys) { - field = APIFormField(field_key, nested_child_map); - field.definition = extractFieldDefinition( - nested_child_map, - field_key, - ); - uniqueFields.add(field); - } - } - } - } else { - // This is a "standard" (non-nested) field - uniqueFields.add(field); - } - } - - if (mounted) { - setState(() { - dynamicFields = uniqueFields; - }); - } - } -} - -Future handlePrintingSuccess( - BuildContext context, - Map data, - int repeatCount, -) async { - const int MAX_REPEATS = 60; - - int id = (data["pk"] ?? -1) as int; - bool complete = (data["complete"] ?? false) as bool; - bool error = data["errors"] != null; - String? output = data["output"] as String?; - - if (complete) { - if (output != null && output.isNotEmpty) { - // An output was generated - we can download it! - showSnackIcon(L10().downloading, success: true); - InvenTreeAPI().downloadFile(output); - } else { - // Label was offloaded, likely to an external printer - showSnackIcon(L10().printLabelSuccess, success: true); - } - } else if (error) { - showSnackIcon(L10().printLabelFailure, success: false); - } else if (repeatCount < MAX_REPEATS && id > 0) { - // Printing is not yet complete, but we have a valid output ID - Future.delayed(Duration(milliseconds: 1000), () async { - // Re-query the printing status - InvenTreeAPI().get("data-output/$id/").then((response) { - if (response.statusCode == 200) { - if (response.data is Map) { - final responseData = response.data as Map; - handlePrintingSuccess(context, responseData, repeatCount + 1); - } - } - }); - }); - } -} - /* * Select a particular label, from a provided list of options, * and print against the selected instances. @@ -208,73 +13,202 @@ Future handlePrintingSuccess( */ Future selectAndPrintLabel( BuildContext context, - String labelType, + List> labels, int instanceId, + String labelType, + String labelQuery, ) async { if (!InvenTreeAPI().isConnected()) { return; } - if (!InvenTreeAPI().supportsModernLabelPrinting) { - // Legacy label printing API not supported - showSnackIcon("Label printing not supported by server", success: false); - return; + // Find a list of available plugins which support label printing + var plugins = InvenTreeAPI().getPlugins(mixin: "labels"); + + dynamic initial_label; + dynamic initial_plugin; + + List> label_options = []; + List> plugin_options = []; + + // Construct list of available label templates + for (var label in labels) { + String name = (label["name"] ?? "").toString(); + String description = (label["description"] ?? "").toString(); + + if (description.isNotEmpty) { + name += " - ${description}"; + } + + int pk = (label["pk"] ?? -1) as int; + + if (name.isNotEmpty && pk > 0) { + label_options.add({"display_name": name, "value": pk}); + } } - // Fetch default values for label printing - - // Default template - final defaultTemplates = await InvenTreeSettingsManager().getValue( - INV_LABEL_DEFAULT_TEMPLATES, - null, - ); - int? defaultTemplate; - - if (defaultTemplates != null && defaultTemplates is Map) { - defaultTemplate = defaultTemplates[labelType] as int?; + if (label_options.length == 1) { + initial_label = label_options.first["value"]; } - // Default plugin - final defaultPlugin = await InvenTreeSettingsManager().getValue( - INV_LABEL_DEFAULT_PLUGIN, - null, + // Construct list of available plugins + for (var plugin in plugins) { + plugin_options.add({"display_name": plugin.humanName, "value": plugin.key}); + } + + String selectedPlugin = await InvenTreeAPI().getUserSetting( + "LABEL_DEFAULT_PRINTER", ); - // Specify a default list of fields for printing - // The selected plugin may optionally extend this list of fields dynamically - Map> baseFields = { - "template": { - "default": defaultTemplate, - "filters": { - "enabled": true, - "model_type": labelType, - "items": instanceId.toString(), - }, + if (selectedPlugin.isNotEmpty) { + initial_plugin = selectedPlugin; + } else if (plugin_options.length == 1) { + initial_plugin = plugin_options.first["value"]; + } + + Map fields = { + "label": { + "label": L10().labelTemplate, + "type": "choice", + "value": initial_label, + "choices": label_options, + "required": true, }, "plugin": { - "default": defaultPlugin, - "pk_field": "key", - "filters": {"enabled": true, "mixin": "labels"}, - }, - "items": { - "hidden": true, - "value": [instanceId], + "label": L10().pluginPrinter, + "type": "choice", + "value": initial_plugin, + "choices": plugin_options, + "required": true, }, }; - final formHandler = LabelFormWidgetState(); - formHandler.labelType = labelType; - launchApiForm( context, L10().printLabel, - PRINT_LABEL_URL, - baseFields, - method: "POST", - modelData: {"plugin": defaultPlugin, "template": defaultTemplate}, - formHandler: formHandler, - onSuccess: (data) async { - handlePrintingSuccess(context, data, 0); + "", + fields, + icon: TablerIcons.printer, + validate: (Map data) { + final template = data["label"]; + final plugin = data["plugin"]; + + if (template == null) { + showSnackIcon(L10().labelSelectTemplate, success: false); + return false; + } + + if (plugin == null) { + showSnackIcon(L10().labelSelectPrinter, success: false); + return false; + } + + return true; + }, + onSuccess: (Map data) async { + int labelId = (data["label"] ?? -1) as int; + var pluginKey = data["plugin"]; + + bool result = false; + + if (labelId != -1 && pluginKey != null) { + showLoadingOverlay(); + + if (InvenTreeAPI().supportsModernLabelPrinting) { + // Modern label printing API uses a POST request to a single API endpoint. + await InvenTreeAPI() + .post( + "/label/print/", + body: { + "plugin": pluginKey, + "template": labelId, + "items": [instanceId], + }, + ) + .then((APIResponse response) { + if (response.isValid() && + response.statusCode >= 200 && + response.statusCode <= 201) { + var data = response.asMap(); + + if (data.containsKey("output")) { + String? label_file = (data["output"]) as String?; + + if (label_file != null && label_file.isNotEmpty) { + // Attempt to open generated file + InvenTreeAPI().downloadFile(label_file); + } + + result = true; + } + } + }); + } else { + // Legacy label printing API + // Uses a GET request to a specially formed URL which depends on the parameters + String url = + "/label/${labelType}/${labelId}/print/?${labelQuery}&plugin=${pluginKey}"; + await InvenTreeAPI().get(url).then((APIResponse response) { + if (response.isValid() && response.statusCode == 200) { + var data = response.asMap(); + if (data.containsKey("file")) { + var label_file = (data["file"] ?? "") as String; + + // Attempt to open remote file + InvenTreeAPI().downloadFile(label_file); + result = true; + } + } + }); + } + + hideLoadingOverlay(); + + if (result) { + showSnackIcon(L10().printLabelSuccess, success: true); + } else { + showSnackIcon(L10().printLabelFailure, success: false); + } + } }, ); } + +/* + * Discover which label templates are available for a given item + */ +Future>> getLabelTemplates( + String labelType, + Map data, +) async { + if (!InvenTreeAPI().isConnected() || + !InvenTreeAPI().supportsMixin("labels")) { + return []; + } + + // Filter by active plugins + data["enabled"] = "true"; + + String url = "/label/template/"; + + if (InvenTreeAPI().supportsModernLabelPrinting) { + data["model_type"] = labelType; + } else { + // Legacy label printing API endpoint + url = "/label/${labelType}/"; + } + + List> labels = []; + + await InvenTreeAPI().get(url, params: data).then((APIResponse response) { + if (response.isValid() && response.statusCode == 200) { + for (var label in response.resultsList()) { + if (label is Map) { + labels.add(label); + } + } + } + }); + + return labels; +} diff --git a/lib/preferences.dart b/lib/preferences.dart index 92eda1f..e10c3d9 100644 --- a/lib/preferences.dart +++ b/lib/preferences.dart @@ -10,7 +10,6 @@ import "package:path/path.dart"; const String INV_HOME_SHOW_SUBSCRIBED = "homeShowSubscribed"; const String INV_HOME_SHOW_PO = "homeShowPo"; const String INV_HOME_SHOW_SO = "homeShowSo"; -const String INV_HOME_SHOW_SHIPMENTS = "homeShowShipments"; const String INV_HOME_SHOW_MANUFACTURERS = "homeShowManufacturers"; const String INV_HOME_SHOW_CUSTOMERS = "homeShowCustomers"; const String INV_HOME_SHOW_SUPPLIERS = "homeShowSuppliers"; @@ -25,13 +24,10 @@ const int SCREEN_ORIENTATION_LANDSCAPE = 2; const String INV_SOUNDS_BARCODE = "barcodeSounds"; const String INV_SOUNDS_SERVER = "serverSounds"; -// Label printing settings const String INV_ENABLE_LABEL_PRINTING = "enableLabelPrinting"; -const String INV_LABEL_DEFAULT_TEMPLATES = "defaultLabelTemplates"; -const String INV_LABEL_DEFAULT_PRINTER = "defaultLabelPrinter"; -const String INV_LABEL_DEFAULT_PLUGIN = "defaultLabelPlugin"; // Part settings +const String INV_PART_SHOW_PARAMETERS = "partShowParameters"; const String INV_PART_SHOW_BOM = "partShowBom"; const String INV_PART_SHOW_PRICING = "partShowPricing"; diff --git a/lib/settings/about.dart b/lib/settings/about.dart index fa11eb3..bc8c345 100644 --- a/lib/settings/about.dart +++ b/lib/settings/about.dart @@ -49,8 +49,7 @@ class InvenTreeAboutWidget extends StatelessWidget { var url = Uri( scheme: "https", host: "github.com", - path: "inventree/inventree-app/issues/new/", - queryParameters: {"title": "Enter bug description"}, + path: "inventree/inventree-app/issues/new?title=Enter+bug+description", ); if (await canLaunchUrl(url)) { diff --git a/lib/settings/home_settings.dart b/lib/settings/home_settings.dart index a4da9d2..58740d4 100644 --- a/lib/settings/home_settings.dart +++ b/lib/settings/home_settings.dart @@ -20,7 +20,6 @@ class _HomeScreenSettingsState extends State { bool homeShowSubscribed = true; bool homeShowPo = true; bool homeShowSo = true; - bool homeShowShipments = true; bool homeShowSuppliers = true; bool homeShowManufacturers = true; bool homeShowCustomers = true; @@ -47,11 +46,6 @@ class _HomeScreenSettingsState extends State { homeShowSo = await InvenTreeSettingsManager().getValue(INV_HOME_SHOW_SO, true) as bool; - - homeShowShipments = - await InvenTreeSettingsManager().getValue(INV_HOME_SHOW_SHIPMENTS, true) - as bool; - homeShowManufacturers = await InvenTreeSettingsManager().getValue( INV_HOME_SHOW_MANUFACTURERS, @@ -124,23 +118,6 @@ class _HomeScreenSettingsState extends State { }, ), ), - ListTile( - title: Text(L10().homeShowShipments), - subtitle: Text(L10().homeShowShipmentsDescription), - leading: Icon(TablerIcons.cube_send), - trailing: Switch( - value: homeShowShipments, - onChanged: (bool value) { - InvenTreeSettingsManager().setValue( - INV_HOME_SHOW_SHIPMENTS, - value, - ); - setState(() { - homeShowShipments = value; - }); - }, - ), - ), ListTile( title: Text(L10().homeShowSuppliers), subtitle: Text(L10().homeShowSuppliersDescription), diff --git a/lib/settings/part_settings.dart b/lib/settings/part_settings.dart index aa13678..b091931 100644 --- a/lib/settings/part_settings.dart +++ b/lib/settings/part_settings.dart @@ -13,6 +13,7 @@ class InvenTreePartSettingsWidget extends StatefulWidget { class _InvenTreePartSettingsState extends State { _InvenTreePartSettingsState(); + bool partShowParameters = true; bool partShowBom = true; bool partShowPricing = true; bool stockShowHistory = false; @@ -27,6 +28,10 @@ class _InvenTreePartSettingsState extends State { } Future loadSettings() async { + partShowParameters = await InvenTreeSettingsManager().getBool( + INV_PART_SHOW_PARAMETERS, + true, + ); partShowBom = await InvenTreeSettingsManager().getBool( INV_PART_SHOW_BOM, true, @@ -63,6 +68,23 @@ class _InvenTreePartSettingsState extends State { body: Container( child: ListView( children: [ + ListTile( + title: Text(L10().parameters), + subtitle: Text(L10().parametersSettingDetail), + leading: Icon(TablerIcons.list), + trailing: Switch( + value: partShowParameters, + onChanged: (bool value) { + InvenTreeSettingsManager().setValue( + INV_PART_SHOW_PARAMETERS, + value, + ); + setState(() { + partShowParameters = value; + }); + }, + ), + ), ListTile( title: Text(L10().bom), subtitle: Text(L10().bomEnable), diff --git a/lib/widget/attachment_widget.dart b/lib/widget/attachment_widget.dart index 721909d..b4c9746 100644 --- a/lib/widget/attachment_widget.dart +++ b/lib/widget/attachment_widget.dart @@ -2,13 +2,15 @@ import "dart:io"; import "package:flutter/material.dart"; import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; -import "package:inventree/api.dart"; -import "package:inventree/inventree/attachment.dart"; -import "package:inventree/widget/link_icon.dart"; import "package:one_context/one_context.dart"; +import "package:url_launcher/url_launcher.dart"; +import "package:inventree/api.dart"; import "package:inventree/l10.dart"; import "package:inventree/app_colors.dart"; + +import "package:inventree/inventree/model.dart"; + import "package:inventree/widget/fields.dart"; import "package:inventree/widget/progress.dart"; import "package:inventree/widget/snacks.dart"; @@ -22,13 +24,13 @@ import "package:inventree/widget/refreshable_state.dart"; */ class AttachmentWidget extends StatefulWidget { const AttachmentWidget( - this.modelType, + this.attachmentClass, this.modelId, this.imagePrefix, this.hasUploadPermission, ) : super(); - final String modelType; + final InvenTreeAttachment attachmentClass; final int modelId; final bool hasUploadPermission; final String imagePrefix; @@ -53,15 +55,15 @@ class _AttachmentWidgetState extends RefreshableState { IconButton( icon: Icon(TablerIcons.camera), onPressed: () async { - InvenTreeAttachment() - .uploadImage( - widget.modelType, - widget.modelId, - prefix: widget.imagePrefix, - ) - .then((_) { - refresh(context); - }); + widget.attachmentClass.uploadImage( + widget.modelId, + prefix: widget.imagePrefix, + ); + FilePickerDialog.pickImageFromCamera().then((File? file) { + upload(context, file).then((_) { + refresh(context); + }); + }); }, ), IconButton( @@ -82,9 +84,8 @@ class _AttachmentWidgetState extends RefreshableState { showLoadingOverlay(); - final bool result = await InvenTreeAttachment().uploadAttachment( + final bool result = await widget.attachmentClass.uploadAttachment( file, - widget.modelType, widget.modelId, ); @@ -168,24 +169,25 @@ class _AttachmentWidgetState extends RefreshableState { Future request(BuildContext context) async { Map filters = {}; - filters["model_type"] = widget.modelType; - filters["model_id"] = widget.modelId.toString(); + if (InvenTreeAPI().supportsModernAttachments) { + filters["model_type"] = widget.attachmentClass.REF_MODEL_TYPE; + filters["model_id"] = widget.modelId.toString(); + } else { + filters[widget.attachmentClass.REFERENCE_FIELD] = widget.modelId + .toString(); + } - List _attachments = []; + await widget.attachmentClass.list(filters: filters).then((var results) { + attachments.clear(); - InvenTreeAttachment().list(filters: filters).then((var results) { for (var result in results) { if (result is InvenTreeAttachment) { - _attachments.add(result); + attachments.add(result); } } - - if (mounted) { - setState(() { - attachments = _attachments; - }); - } }); + + setState(() {}); } @override @@ -210,14 +212,17 @@ class _AttachmentWidgetState extends RefreshableState { }, ), ); - } else if (attachment.hasLink) { + } else if (attachment.link.isNotEmpty) { tiles.add( ListTile( title: Text(attachment.link), subtitle: Text(attachment.comment), leading: Icon(TablerIcons.link, color: COLOR_ACTION), onTap: () async { - attachment.openLink(); + var uri = Uri.tryParse(attachment.link.trimLeft()); + if (uri != null && await canLaunchUrl(uri)) { + await launchUrl(uri); + } }, onLongPress: () { showOptionsMenu(context, attachment); @@ -239,40 +244,3 @@ class _AttachmentWidgetState extends RefreshableState { return tiles; } } - -/* - * Return a ListTile to display attachments for the specified model - */ -ListTile? ShowAttachmentsItem( - BuildContext context, - String modelType, - int modelId, - String imagePrefix, - int attachmentCount, - bool hasUploadPermission, -) { - if (!InvenTreeAPI().supportsModernAttachments) { - return null; - } - - return ListTile( - title: Text(L10().attachments), - leading: Icon(TablerIcons.file, color: COLOR_ACTION), - trailing: LinkIcon( - text: attachmentCount > 0 ? attachmentCount.toString() : null, - ), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => AttachmentWidget( - modelType, - modelId, - imagePrefix, - hasUploadPermission, - ), - ), - ); - }, - ); -} diff --git a/lib/widget/company/company_detail.dart b/lib/widget/company/company_detail.dart index 9a6d233..64356d7 100644 --- a/lib/widget/company/company_detail.dart +++ b/lib/widget/company/company_detail.dart @@ -1,8 +1,6 @@ import "package:flutter/material.dart"; import "package:flutter_speed_dial/flutter_speed_dial.dart"; import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; -import "package:inventree/inventree/attachment.dart"; -import "package:inventree/inventree/parameter.dart"; import "package:inventree/l10.dart"; import "package:inventree/api.dart"; @@ -15,7 +13,6 @@ import "package:inventree/widget/attachment_widget.dart"; import "package:inventree/widget/link_icon.dart"; import "package:inventree/widget/order/purchase_order_list.dart"; import "package:inventree/widget/order/sales_order_list.dart"; -import "package:inventree/widget/parameter_widget.dart"; import "package:inventree/widget/refreshable_state.dart"; import "package:inventree/widget/snacks.dart"; import "package:inventree/widget/company/supplier_part_list.dart"; @@ -40,7 +37,6 @@ class _CompanyDetailState extends RefreshableState { int outstandingPurchaseOrders = 0; int outstandingSalesOrders = 0; - int parameterCount = 0; int attachmentCount = 0; @override @@ -188,25 +184,15 @@ class _CompanyDetailState extends RefreshableState { } }); - InvenTreeParameter() - .countParameters(InvenTreeCompany.MODEL_TYPE, widget.company.pk) - .then((value) { - if (mounted) { - setState(() { - parameterCount = value; - }); - } - }); - - InvenTreeAttachment() - .countAttachments(InvenTreeCompany.MODEL_TYPE, widget.company.pk) - .then((value) { - if (mounted) { - setState(() { - attachmentCount = value; - }); - } + InvenTreeCompanyAttachment().countAttachments(widget.company.pk).then(( + value, + ) { + if (mounted) { + setState(() { + attachmentCount = value; }); + } + }); } Future editCompany(BuildContext context) async { @@ -301,7 +287,7 @@ class _CompanyDetailState extends RefreshableState { } // External link - if (widget.company.hasLink) { + if (widget.company.link.isNotEmpty) { tiles.add( ListTile( title: Text(L10().link), @@ -407,31 +393,29 @@ class _CompanyDetailState extends RefreshableState { ); } - ListTile? parameterTile = ShowParametersItem( - context, - InvenTreeCompany.MODEL_TYPE, - widget.company.pk, - parameterCount, - widget.company.canEdit, + tiles.add( + ListTile( + title: Text(L10().attachments), + leading: Icon(TablerIcons.file, color: COLOR_ACTION), + trailing: LinkIcon( + text: attachmentCount > 0 ? attachmentCount.toString() : null, + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => AttachmentWidget( + InvenTreeCompanyAttachment(), + widget.company.pk, + widget.company.name, + InvenTreeCompany().canEdit, + ), + ), + ); + }, + ), ); - if (parameterTile != null) { - tiles.add(parameterTile); - } - - ListTile? attachmentTile = ShowAttachmentsItem( - context, - InvenTreeCompany.MODEL_TYPE, - widget.company.pk, - widget.company.name, - attachmentCount, - widget.company.canEdit, - ); - - if (attachmentTile != null) { - tiles.add(attachmentTile); - } - return tiles; } } diff --git a/lib/widget/company/manufacturer_part_detail.dart b/lib/widget/company/manufacturer_part_detail.dart index 57a7e48..5267a31 100644 --- a/lib/widget/company/manufacturer_part_detail.dart +++ b/lib/widget/company/manufacturer_part_detail.dart @@ -1,8 +1,6 @@ import "package:flutter/material.dart"; import "package:flutter_speed_dial/flutter_speed_dial.dart"; import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; -import "package:inventree/inventree/attachment.dart"; -import "package:inventree/inventree/parameter.dart"; import "package:inventree/l10.dart"; import "package:inventree/api.dart"; @@ -10,12 +8,11 @@ import "package:inventree/app_colors.dart"; import "package:inventree/inventree/company.dart"; import "package:inventree/inventree/part.dart"; -import "package:inventree/widget/attachment_widget.dart"; -import "package:inventree/widget/parameter_widget.dart"; import "package:inventree/widget/refreshable_state.dart"; import "package:inventree/widget/snacks.dart"; import "package:inventree/widget/progress.dart"; +import "package:url_launcher/url_launcher.dart"; /* * Detail widget for viewing a single ManufacturerPart instance @@ -35,9 +32,6 @@ class _ManufacturerPartDisplayState extends RefreshableState { _ManufacturerPartDisplayState(); - int parameterCount = 0; - int attachmentCount = 0; - @override String getAppBarTitle() => L10().manufacturerPart; @@ -49,34 +43,7 @@ class _ManufacturerPartDisplayState if (!result) { Navigator.of(context).pop(); - return; } - - InvenTreeParameter() - .countParameters( - InvenTreeManufacturerPart.MODEL_TYPE, - widget.manufacturerPart.pk, - ) - .then((value) { - if (mounted) { - setState(() { - parameterCount = value; - }); - } - }); - - InvenTreeAttachment() - .countAttachments( - InvenTreeManufacturerPart.MODEL_TYPE, - widget.manufacturerPart.pk, - ) - .then((value) { - if (mounted) { - setState(() { - attachmentCount = value; - }); - } - }); } Future editManufacturerPart(BuildContext context) async { @@ -125,6 +92,11 @@ class _ManufacturerPartDisplayState List getTiles(BuildContext context) { List tiles = []; + if (loading) { + tiles.add(progressIndicator()); + return tiles; + } + // Internal Part tiles.add( ListTile( @@ -191,43 +163,21 @@ class _ManufacturerPartDisplayState ); } - if (widget.manufacturerPart.hasLink) { + if (widget.manufacturerPart.link.isNotEmpty) { tiles.add( ListTile( title: Text(widget.manufacturerPart.link), leading: Icon(TablerIcons.link, color: COLOR_ACTION), onTap: () async { - widget.manufacturerPart.openLink(); + var uri = Uri.tryParse(widget.manufacturerPart.link); + if (uri != null && await canLaunchUrl(uri)) { + await launchUrl(uri); + } }, ), ); } - ListTile? parameterTile = ShowParametersItem( - context, - InvenTreeManufacturerPart.MODEL_TYPE, - widget.manufacturerPart.pk, - parameterCount, - widget.manufacturerPart.canEdit, - ); - - if (parameterTile != null) { - tiles.add(parameterTile); - } - - ListTile? attachmentTile = ShowAttachmentsItem( - context, - InvenTreeManufacturerPart.MODEL_TYPE, - widget.manufacturerPart.pk, - widget.manufacturerPart.MPN, - attachmentCount, - widget.manufacturerPart.canEdit, - ); - - if (attachmentTile != null) { - tiles.add(attachmentTile); - } - return tiles; } } diff --git a/lib/widget/company/supplier_part_detail.dart b/lib/widget/company/supplier_part_detail.dart index ed60748..92cf2de 100644 --- a/lib/widget/company/supplier_part_detail.dart +++ b/lib/widget/company/supplier_part_detail.dart @@ -1,11 +1,8 @@ import "package:flutter/material.dart"; import "package:flutter_speed_dial/flutter_speed_dial.dart"; import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; -import "package:inventree/helpers.dart"; -import "package:inventree/inventree/attachment.dart"; -import "package:inventree/inventree/parameter.dart"; -import "package:inventree/widget/attachment_widget.dart"; import "package:inventree/widget/link_icon.dart"; +import "package:url_launcher/url_launcher.dart"; import "package:inventree/app_colors.dart"; import "package:inventree/l10.dart"; @@ -14,13 +11,11 @@ import "package:inventree/barcode/barcode.dart"; import "package:inventree/inventree/part.dart"; import "package:inventree/inventree/company.dart"; -import "package:inventree/widget/parameter_widget.dart"; import "package:inventree/widget/progress.dart"; import "package:inventree/widget/refreshable_state.dart"; import "package:inventree/widget/snacks.dart"; import "package:inventree/widget/company/manufacturer_part_detail.dart"; -import "package:inventree/widget/stock/stock_list.dart"; /* * Detail widget for viewing a single SupplierPart instance @@ -39,9 +34,6 @@ class _SupplierPartDisplayState extends RefreshableState { _SupplierPartDisplayState(); - int parameterCount = 0; - int attachmentCount = 0; - @override String getAppBarTitle() => L10().supplierPart; @@ -104,34 +96,7 @@ class _SupplierPartDisplayState if (!result) { Navigator.of(context).pop(); - return; } - - InvenTreeParameter() - .countParameters( - InvenTreeSupplierPart.MODEL_TYPE, - widget.supplierPart.pk, - ) - .then((value) { - if (mounted) { - setState(() { - parameterCount = value; - }); - } - }); - - InvenTreeAttachment() - .countAttachments( - InvenTreeSupplierPart.MODEL_TYPE, - widget.supplierPart.pk, - ) - .then((value) { - if (mounted) { - setState(() { - attachmentCount = value; - }); - } - }); } /* @@ -178,28 +143,6 @@ class _SupplierPartDisplayState ); } - // Stock levels associated with this SupplierPart - tiles.add( - ListTile( - title: Text(L10().availableStock), - leading: Icon(TablerIcons.packages), - trailing: LinkIcon( - text: simpleNumberString(widget.supplierPart.inStock), - ), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => StockItemList({ - "in_stock": "true", - "supplier_part": widget.supplierPart.pkString, - }), - ), - ); - }, - ), - ); - // Supplier details tiles.add( ListTile( @@ -254,7 +197,7 @@ class _SupplierPartDisplayState tiles.add( ListTile( - title: Text(L10().manufacturerPart), + title: Text(L10().manufacturerPartNumber), subtitle: Text(widget.supplierPart.MPN), leading: Icon(TablerIcons.hash, color: COLOR_ACTION), trailing: LinkIcon(), @@ -296,7 +239,7 @@ class _SupplierPartDisplayState ); } - if (widget.supplierPart.hasLink) { + if (widget.supplierPart.link.isNotEmpty) { tiles.add( ListTile( title: Text(L10().link), @@ -304,7 +247,10 @@ class _SupplierPartDisplayState leading: Icon(TablerIcons.link, color: COLOR_ACTION), trailing: LinkIcon(external: true), onTap: () async { - widget.supplierPart.openLink(); + var uri = Uri.tryParse(widget.supplierPart.link); + if (uri != null && await canLaunchUrl(uri)) { + await launchUrl(uri); + } }, ), ); @@ -320,31 +266,6 @@ class _SupplierPartDisplayState ); } - ListTile? parameterTile = ShowParametersItem( - context, - InvenTreeSupplierPart.MODEL_TYPE, - widget.supplierPart.pk, - parameterCount, - widget.supplierPart.canEdit, - ); - - if (parameterTile != null) { - tiles.add(parameterTile); - } - - ListTile? attachmentTile = ShowAttachmentsItem( - context, - InvenTreeSupplierPart.MODEL_TYPE, - widget.supplierPart.pk, - widget.supplierPart.SKU, - attachmentCount, - widget.supplierPart.canEdit, - ); - - if (attachmentTile != null) { - tiles.add(attachmentTile); - } - return tiles; } } diff --git a/lib/widget/home.dart b/lib/widget/home.dart index 15c4d3f..3b29d86 100644 --- a/lib/widget/home.dart +++ b/lib/widget/home.dart @@ -14,7 +14,6 @@ import "package:inventree/preferences.dart"; import "package:inventree/l10.dart"; import "package:inventree/settings/select_server.dart"; import "package:inventree/user_profile.dart"; -import "package:inventree/widget/order/so_shipment_list.dart"; import "package:inventree/widget/part/category_display.dart"; import "package:inventree/widget/drawer.dart"; @@ -56,7 +55,6 @@ class _InvenTreeHomePageState extends State bool homeShowPo = false; bool homeShowSo = false; - bool homeShowShipments = false; bool homeShowSubscribed = false; bool homeShowManufacturers = false; bool homeShowCustomers = false; @@ -114,20 +112,6 @@ class _InvenTreeHomePageState extends State ); } - void _showPendingShipments(BuildContext context) { - if (!InvenTreeAPI().checkConnection()) return; - - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => SOShipmentListWidget( - title: L10().shipmentsPending, - filters: {"order_outstanding": "true", "shipped": "false"}, - ), - ), - ); - } - void _showSuppliers(BuildContext context) { if (!InvenTreeAPI().checkConnection()) return; @@ -183,11 +167,6 @@ class _InvenTreeHomePageState extends State homeShowSo = await InvenTreeSettingsManager().getValue(INV_HOME_SHOW_SO, true) as bool; - - homeShowShipments = - await InvenTreeSettingsManager().getValue(INV_HOME_SHOW_SHIPMENTS, true) - as bool; - homeShowManufacturers = await InvenTreeSettingsManager().getValue( INV_HOME_SHOW_MANUFACTURERS, @@ -346,19 +325,6 @@ class _InvenTreeHomePageState extends State ); } - if (homeShowShipments && InvenTreeSalesOrderShipment().canView) { - tiles.add( - _listTile( - context, - L10().shipmentsPending, - TablerIcons.cube_send, - callback: () { - _showPendingShipments(context); - }, - ), - ); - } - // Suppliers if (homeShowSuppliers && InvenTreePurchaseOrder().canView) { tiles.add( diff --git a/lib/widget/order/po_line_detail.dart b/lib/widget/order/po_line_detail.dart index 16bac28..7faf497 100644 --- a/lib/widget/order/po_line_detail.dart +++ b/lib/widget/order/po_line_detail.dart @@ -241,7 +241,7 @@ class _POLineDetailWidgetState extends RefreshableState { } // External link - if (widget.item.hasLink) { + if (widget.item.link.isNotEmpty) { tiles.add( ListTile( title: Text(L10().link), diff --git a/lib/widget/order/purchase_order_detail.dart b/lib/widget/order/purchase_order_detail.dart index d309a4b..4201cd3 100644 --- a/lib/widget/order/purchase_order_detail.dart +++ b/lib/widget/order/purchase_order_detail.dart @@ -7,8 +7,6 @@ import "package:inventree/app_colors.dart"; import "package:inventree/barcode/barcode.dart"; import "package:inventree/barcode/purchase_order.dart"; import "package:inventree/helpers.dart"; -import "package:inventree/inventree/attachment.dart"; -import "package:inventree/inventree/parameter.dart"; import "package:inventree/l10.dart"; import "package:inventree/inventree/model.dart"; @@ -23,7 +21,6 @@ import "package:inventree/widget/order/po_line_list.dart"; import "package:inventree/widget/attachment_widget.dart"; import "package:inventree/widget/notes_widget.dart"; -import "package:inventree/widget/parameter_widget.dart"; import "package:inventree/widget/progress.dart"; import "package:inventree/widget/refreshable_state.dart"; import "package:inventree/widget/snacks.dart"; @@ -53,7 +50,6 @@ class _PurchaseOrderDetailState int completedLines = 0; int attachmentCount = 0; - int parameterCount = 0; bool showCameraShortcut = true; bool supportProjectCodes = false; @@ -178,12 +174,8 @@ class _PurchaseOrderDetailState /// Upload an image against the current PurchaseOrder Future _uploadImage(BuildContext context) async { - InvenTreeAttachment() - .uploadImage( - InvenTreePurchaseOrder.MODEL_TYPE, - widget.order.pk, - prefix: widget.order.reference, - ) + InvenTreePurchaseOrderAttachment() + .uploadImage(widget.order.pk, prefix: widget.order.reference) .then((result) => refresh(context)); } @@ -303,25 +295,15 @@ class _PurchaseOrderDetailState } } - InvenTreeParameter() - .countParameters(InvenTreePurchaseOrder.MODEL_TYPE, widget.order.pk) - .then((int value) { - if (mounted) { - setState(() { - parameterCount = value; - }); - } - }); - - InvenTreeAttachment() - .countAttachments(InvenTreePurchaseOrder.MODEL_TYPE, widget.order.pk) - .then((int value) { - if (mounted) { - setState(() { - attachmentCount = value; - }); - } + InvenTreePurchaseOrderAttachment().countAttachments(widget.order.pk).then(( + int value, + ) { + if (mounted) { + setState(() { + attachmentCount = value; }); + } + }); if (api.supportsPurchaseOrderDestination && widget.order.destinationId > 0) { @@ -583,31 +565,30 @@ class _PurchaseOrderDetailState ), ); - ListTile? parameterTile = ShowParametersItem( - context, - InvenTreePurchaseOrder.MODEL_TYPE, - widget.order.pk, - parameterCount, - widget.order.canEdit, + // Attachments + tiles.add( + ListTile( + title: Text(L10().attachments), + leading: Icon(TablerIcons.file, color: COLOR_ACTION), + trailing: LinkIcon( + text: attachmentCount > 0 ? attachmentCount.toString() : null, + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => AttachmentWidget( + InvenTreePurchaseOrderAttachment(), + widget.order.pk, + widget.order.reference, + widget.order.canEdit, + ), + ), + ); + }, + ), ); - if (parameterTile != null) { - tiles.add(parameterTile); - } - - ListTile? attachmentTile = ShowAttachmentsItem( - context, - InvenTreePurchaseOrder.MODEL_TYPE, - widget.order.pk, - widget.order.reference, - attachmentCount, - widget.order.canEdit, - ); - - if (attachmentTile != null) { - tiles.add(attachmentTile); - } - return tiles; } diff --git a/lib/widget/order/purchase_order_list.dart b/lib/widget/order/purchase_order_list.dart index 85fc668..4c1b363 100644 --- a/lib/widget/order/purchase_order_list.dart +++ b/lib/widget/order/purchase_order_list.dart @@ -133,7 +133,6 @@ class _PaginatedPurchaseOrderListState "label": L10().outstanding, "help_text": L10().outstandingOrderDetail, "tristate": true, - "default": true, }, "overdue": { "label": L10().overdue, diff --git a/lib/widget/order/sales_order_detail.dart b/lib/widget/order/sales_order_detail.dart index 79a3620..bc23961 100644 --- a/lib/widget/order/sales_order_detail.dart +++ b/lib/widget/order/sales_order_detail.dart @@ -3,16 +3,13 @@ import "package:flutter_speed_dial/flutter_speed_dial.dart"; import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; import "package:inventree/barcode/barcode.dart"; import "package:inventree/barcode/sales_order.dart"; -import "package:inventree/inventree/attachment.dart"; import "package:inventree/inventree/company.dart"; -import "package:inventree/inventree/parameter.dart"; import "package:inventree/inventree/sales_order.dart"; import "package:inventree/preferences.dart"; import "package:inventree/widget/link_icon.dart"; import "package:inventree/widget/order/so_extra_line_list.dart"; import "package:inventree/widget/order/so_line_list.dart"; import "package:inventree/widget/order/so_shipment_list.dart"; -import "package:inventree/widget/parameter_widget.dart"; import "package:inventree/widget/refreshable_state.dart"; import "package:inventree/l10.dart"; @@ -45,7 +42,6 @@ class _SalesOrderDetailState extends RefreshableState { bool showCameraShortcut = true; bool supportsProjectCodes = false; int attachmentCount = 0; - int parameterCount = 0; @override String getAppBarTitle() { @@ -112,12 +108,8 @@ class _SalesOrderDetailState extends RefreshableState { /// Upload an image for this order Future _uploadImage(BuildContext context) async { - InvenTreeAttachment() - .uploadImage( - InvenTreeSalesOrder.MODEL_TYPE, - widget.order.pk, - prefix: widget.order.reference, - ) + InvenTreeSalesOrderAttachment() + .uploadImage(widget.order.pk, prefix: widget.order.reference) .then((result) => refresh(context)); } @@ -274,25 +266,15 @@ class _SalesOrderDetailState extends RefreshableState { true, ); - InvenTreeParameter() - .countParameters(InvenTreeSalesOrder.MODEL_TYPE, widget.order.pk) - .then((int value) { - if (mounted) { - setState(() { - parameterCount = value; - }); - } - }); - - InvenTreeAttachment() - .countAttachments(InvenTreeSalesOrder.MODEL_TYPE, widget.order.pk) - .then((int value) { - if (mounted) { - setState(() { - attachmentCount = value; - }); - } + InvenTreeSalesOrderAttachment().countAttachments(widget.order.pk).then(( + int value, + ) { + if (mounted) { + setState(() { + attachmentCount = value; }); + } + }); // Count number of "extra line items" against this order InvenTreeSOExtraLineItem() @@ -393,7 +375,24 @@ class _SalesOrderDetailState extends RefreshableState { Color lineColor = widget.order.complete ? COLOR_SUCCESS : COLOR_WARNING; - // Line items progress + // Shipment progress + if (widget.order.shipmentCount > 0) { + tiles.add( + ListTile( + title: Text(L10().shipments), + subtitle: ProgressBar( + widget.order.completedShipmentCount.toDouble(), + maximum: widget.order.shipmentCount.toDouble(), + ), + leading: Icon(TablerIcons.truck_delivery), + trailing: LargeText( + "${widget.order.completedShipmentCount} / ${widget.order.shipmentCount}", + color: lineColor, + ), + ), + ); + } + tiles.add( ListTile( title: Text(L10().lineItems), @@ -409,24 +408,6 @@ class _SalesOrderDetailState extends RefreshableState { ), ); - // Shipment progress - if (widget.order.shipmentCount > 0) { - tiles.add( - ListTile( - title: Text(L10().shipments), - subtitle: ProgressBar( - widget.order.completedShipmentCount.toDouble(), - maximum: widget.order.shipmentCount.toDouble(), - ), - leading: Icon(TablerIcons.cube_send), - trailing: LargeText( - "${widget.order.completedShipmentCount} / ${widget.order.shipmentCount}", - color: lineColor, - ), - ), - ); - } - // Extra line items tiles.add( ListTile( @@ -510,31 +491,30 @@ class _SalesOrderDetailState extends RefreshableState { ), ); - ListTile? parameterTile = ShowParametersItem( - context, - InvenTreeSalesOrder.MODEL_TYPE, - widget.order.pk, - parameterCount, - widget.order.canEdit, + // Attachments + tiles.add( + ListTile( + title: Text(L10().attachments), + leading: Icon(TablerIcons.file, color: COLOR_ACTION), + trailing: LinkIcon( + text: attachmentCount > 0 ? attachmentCount.toString() : null, + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => AttachmentWidget( + InvenTreeSalesOrderAttachment(), + widget.order.pk, + widget.order.reference, + widget.order.canEdit, + ), + ), + ); + }, + ), ); - if (parameterTile != null) { - tiles.add(parameterTile); - } - - ListTile? attachmentTile = ShowAttachmentsItem( - context, - InvenTreeSalesOrder.MODEL_TYPE, - widget.order.pk, - widget.order.reference, - attachmentCount, - widget.order.canEdit, - ); - - if (attachmentTile != null) { - tiles.add(attachmentTile); - } - return tiles; } @@ -542,8 +522,8 @@ class _SalesOrderDetailState extends RefreshableState { List getTabIcons(BuildContext context) { return [ Tab(text: L10().details), - Tab(text: L10().lineItems), Tab(text: L10().shipments), + Tab(text: L10().lineItems), ]; } @@ -551,8 +531,8 @@ class _SalesOrderDetailState extends RefreshableState { List getTabs(BuildContext context) { return [ ListView(children: orderTiles(context)), - PaginatedSOLineList({"order": widget.order.pk.toString()}), PaginatedSOShipmentList({"order": widget.order.pk.toString()}), + PaginatedSOLineList({"order": widget.order.pk.toString()}), ]; } } diff --git a/lib/widget/order/sales_order_list.dart b/lib/widget/order/sales_order_list.dart index e05bcf5..2c0ff4a 100644 --- a/lib/widget/order/sales_order_list.dart +++ b/lib/widget/order/sales_order_list.dart @@ -115,7 +115,6 @@ class _PaginatedSalesOrderListState "label": L10().outstanding, "help_text": L10().outstandingOrderDetail, "tristate": true, - "default": true, }, "overdue": { "label": L10().overdue, @@ -151,16 +150,9 @@ class _PaginatedSalesOrderListState InvenTreeCompany? customer = order.customer; - // Build subtitle with customer name and optional total price - String subtitle = customer?.name ?? order.description; - if (order.totalPrice != null && order.totalPrice! > 0) { - subtitle += - " • ${order.totalPriceCurrency} ${order.totalPrice!.toStringAsFixed(2)}"; - } - return ListTile( title: Text(order.reference), - subtitle: Text(subtitle), + subtitle: Text(order.description), leading: customer == null ? null : InvenTreeAPI().getThumbnail(customer.thumbnail), diff --git a/lib/widget/order/so_allocation_list.dart b/lib/widget/order/so_allocation_list.dart deleted file mode 100644 index 88699d0..0000000 --- a/lib/widget/order/so_allocation_list.dart +++ /dev/null @@ -1,70 +0,0 @@ -import "package:flutter/material.dart"; -import "package:inventree/api.dart"; -import "package:inventree/inventree/model.dart"; -import "package:inventree/inventree/part.dart"; -import "package:inventree/inventree/sales_order.dart"; -import "package:inventree/inventree/stock.dart"; -import "package:inventree/l10.dart"; -import "package:inventree/widget/link_icon.dart"; -import "package:inventree/widget/paginator.dart"; - -class PaginatedSOAllocationList extends PaginatedSearchWidget { - const PaginatedSOAllocationList(Map filters) - : super(filters: filters); - - @override - String get searchTitle => L10().allocatedStock; - - @override - _PaginatedSOAllocationListState createState() => - _PaginatedSOAllocationListState(); -} - -class _PaginatedSOAllocationListState - extends PaginatedSearchState { - _PaginatedSOAllocationListState() : super(); - - @override - String get prefix => "so_allocation_"; - - @override - Map get orderingOptions => {}; - - @override - Map> get filterOptions => {}; - - @override - Future requestPage( - int limit, - int offset, - Map params, - ) async { - final page = await InvenTreeSalesOrderAllocation().listPaginated( - limit, - offset, - filters: params, - ); - - return page; - } - - @override - Widget buildItem(BuildContext context, InvenTreeModel model) { - InvenTreeSalesOrderAllocation allocation = - model as InvenTreeSalesOrderAllocation; - - InvenTreePart? part = allocation.part; - InvenTreeStockItem? stockItem = allocation.stockItem; - InvenTreeStockLocation? location = allocation.location; - - return ListTile( - title: Text(part?.fullname ?? ""), - subtitle: Text(location?.pathstring ?? L10().locationNotSet), - onTap: () async { - stockItem?.goToDetailPage(context); - }, - leading: InvenTreeAPI().getThumbnail(allocation.part?.thumbnail ?? ""), - trailing: LargeText(stockItem?.serialOrQuantityDisplay() ?? ""), - ); - } -} diff --git a/lib/widget/order/so_line_detail.dart b/lib/widget/order/so_line_detail.dart index bc6fd6f..ae0d302 100644 --- a/lib/widget/order/so_line_detail.dart +++ b/lib/widget/order/so_line_detail.dart @@ -244,7 +244,7 @@ class _SOLineDetailWidgetState extends RefreshableState { } // External link - if (widget.item.hasLink) { + if (widget.item.link.isNotEmpty) { tiles.add( ListTile( title: Text(L10().link), diff --git a/lib/widget/order/so_shipment_detail.dart b/lib/widget/order/so_shipment_detail.dart deleted file mode 100644 index 34984df..0000000 --- a/lib/widget/order/so_shipment_detail.dart +++ /dev/null @@ -1,381 +0,0 @@ -/* - * Widget for displaying detail view of a single SalesOrderShipment - */ - -import "package:flutter/material.dart"; -import "package:flutter_speed_dial/flutter_speed_dial.dart"; -import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; -import "package:inventree/api.dart"; -import "package:inventree/api_form.dart"; -import "package:inventree/app_colors.dart"; -import "package:inventree/inventree/attachment.dart"; -import "package:inventree/inventree/sales_order.dart"; -import "package:inventree/l10.dart"; -import "package:inventree/preferences.dart"; -import "package:inventree/widget/attachment_widget.dart"; -import "package:inventree/widget/link_icon.dart"; -import "package:inventree/widget/notes_widget.dart"; -import "package:inventree/widget/order/so_allocation_list.dart"; -import "package:inventree/widget/refreshable_state.dart"; -import "package:inventree/widget/snacks.dart"; - -class SOShipmentDetailWidget extends StatefulWidget { - const SOShipmentDetailWidget(this.shipment, {Key? key}) : super(key: key); - - final InvenTreeSalesOrderShipment shipment; - - @override - _SOShipmentDetailWidgetState createState() => _SOShipmentDetailWidgetState(); -} - -class _SOShipmentDetailWidgetState - extends RefreshableState { - _SOShipmentDetailWidgetState(); - - // The SalesOrder associated with this shipment - InvenTreeSalesOrder? order; - - int attachmentCount = 0; - bool showCameraShortcut = true; - - @override - String getAppBarTitle() => L10().shipment; - - @override - List appBarActions(BuildContext context) { - List actions = []; - - if (widget.shipment.canEdit) { - actions.add( - IconButton( - icon: Icon(TablerIcons.edit), - onPressed: () { - _editShipment(context); - }, - ), - ); - } - - return actions; - } - - Future _editShipment(BuildContext context) async { - var fields = widget.shipment.formFields(); - - fields["order"]?["hidden"] = true; - - widget.shipment.editForm( - context, - L10().shipmentEdit, - fields: fields, - onSuccess: (data) async { - refresh(context); - showSnackIcon(L10().shipmentUpdated, success: true); - }, - ); - } - - @override - Future request(BuildContext context) async { - await widget.shipment.reload(); - - showCameraShortcut = await InvenTreeSettingsManager().getBool( - INV_SO_SHOW_CAMERA, - true, - ); - - final so = await InvenTreeSalesOrder().get(widget.shipment.orderId); - - if (mounted) { - setState(() { - order = (so is InvenTreeSalesOrder ? so : null); - }); - } - - InvenTreeAttachment() - .countAttachments( - InvenTreeSalesOrderShipment.MODEL_TYPE, - widget.shipment.pk, - ) - .then((int value) { - if (mounted) { - setState(() { - attachmentCount = value; - }); - } - }); - } - - /// Upload an image for this shipment - Future _uploadImage(BuildContext context) async { - InvenTreeAttachment() - .uploadImage( - InvenTreeSalesOrderShipment.MODEL_TYPE, - widget.shipment.pk, - prefix: widget.shipment.reference, - ) - .then((result) => refresh(context)); - } - - /// Mark this shipment as shipped - Future _sendShipment(BuildContext context) async { - Map fields = { - "shipment_date": { - "value": widget.shipment.isShipped - ? widget.shipment.shipment_date! - : DateTime.now().toIso8601String().split("T").first, - }, - "tracking_number": {"value": widget.shipment.tracking_number}, - "invoice_number": {"value": widget.shipment.invoice_number}, - }; - - launchApiForm( - context, - L10().shipmentSend, - widget.shipment.SHIP_SHIPMENT_URL, - fields, - method: "POST", - onSuccess: (data) { - refresh(context); - showSnackIcon(L10().shipmentUpdated, success: true); - }, - ); - } - - @override - List actionButtons(BuildContext context) { - List actions = []; - - if (!widget.shipment.canEdit) { - // Exit early if we do not have edit permissions - return actions; - } - - if (showCameraShortcut) { - actions.add( - SpeedDialChild( - child: Icon(TablerIcons.camera, color: Colors.blue), - label: L10().takePicture, - onTap: () async { - _uploadImage(context); - }, - ), - ); - } - - // Check shipment - if (!widget.shipment.isChecked && !widget.shipment.isShipped) { - actions.add( - SpeedDialChild( - child: Icon(TablerIcons.check, color: Colors.green), - label: L10().shipmentCheck, - onTap: () async { - widget.shipment - .update(values: {"checked_by": InvenTreeAPI().userId}) - .then((_) { - showSnackIcon(L10().shipmentUpdated, success: true); - refresh(context); - }); - }, - ), - ); - } - - // Uncheck shipment - if (widget.shipment.isChecked && !widget.shipment.isShipped) { - actions.add( - SpeedDialChild( - child: Icon(TablerIcons.x, color: Colors.red), - label: L10().shipmentUncheck, - onTap: () async { - widget.shipment.update(values: {"checked_by": null}).then((_) { - showSnackIcon(L10().shipmentUpdated, success: true); - refresh(context); - }); - }, - ), - ); - } - - // Send shipment - if (!widget.shipment.isShipped) { - actions.add( - SpeedDialChild( - child: Icon(TablerIcons.truck_delivery, color: Colors.green), - label: L10().shipmentSend, - onTap: () async { - _sendShipment(context); - }, - ), - ); - } - - // TODO: Cancel shipment - - return actions; - } - - List shipmentTiles(BuildContext context) { - List tiles = []; - - final bool checked = widget.shipment.isChecked; - final bool shipped = widget.shipment.isShipped; - final bool delivered = widget.shipment.isDelivered; - - // Order information - if (order != null) { - // Add SalesOrder information - - tiles.add( - Card( - child: ListTile( - title: Text(order!.reference), - subtitle: Text(order!.description), - leading: api.getThumbnail(order!.customer?.thumbnail ?? ""), - trailing: LargeText( - api.SalesOrderStatus.label(order!.status), - color: api.SalesOrderStatus.color(order!.status), - ), - onTap: () { - order!.goToDetailPage(context); - }, - ), - ), - ); - } - - // Shipment reference number - tiles.add( - ListTile( - title: Text(L10().shipmentReference), - trailing: LargeText(widget.shipment.reference), - leading: Icon(TablerIcons.hash), - ), - ); - - if (widget.shipment.invoice_number.isNotEmpty) { - tiles.add( - ListTile( - title: Text(L10().invoiceNumber), - trailing: LargeText(widget.shipment.invoice_number), - leading: Icon(TablerIcons.invoice), - ), - ); - } - - // Tracking Number - if (widget.shipment.tracking_number.isNotEmpty) { - tiles.add( - ListTile( - title: Text(L10().trackingNumber), - trailing: LargeText(widget.shipment.tracking_number), - leading: Icon(TablerIcons.truck_delivery), - ), - ); - } - - if (checked || !shipped) { - tiles.add( - ListTile( - title: Text(L10().shipmentChecked), - trailing: LargeText( - checked ? L10().yes : L10().no, - color: checked ? COLOR_SUCCESS : COLOR_WARNING, - ), - leading: Icon( - checked ? TablerIcons.circle_check : TablerIcons.circle_x, - color: checked ? COLOR_SUCCESS : COLOR_WARNING, - ), - ), - ); - } - - tiles.add( - ListTile( - title: Text(L10().shipmentDate), - trailing: LargeText( - shipped ? widget.shipment.shipment_date! : L10().notApplicable, - ), - leading: Icon( - shipped ? TablerIcons.calendar_check : TablerIcons.calendar_cancel, - color: shipped ? COLOR_SUCCESS : COLOR_WARNING, - ), - ), - ); - - tiles.add( - ListTile( - title: Text(L10().deliveryDate), - trailing: LargeText( - delivered ? widget.shipment.delivery_date! : L10().notApplicable, - ), - leading: Icon( - delivered ? TablerIcons.calendar_check : TablerIcons.calendar_cancel, - color: delivered ? COLOR_SUCCESS : COLOR_WARNING, - ), - ), - ); - - // External link - if (widget.shipment.hasLink) { - tiles.add( - ListTile( - title: Text(L10().link), - leading: Icon(TablerIcons.link, color: COLOR_ACTION), - trailing: LinkIcon(), - onTap: () async { - widget.shipment.openLink(); - }, - ), - ); - } - - // Notes tile - tiles.add( - ListTile( - title: Text(L10().notes), - leading: Icon(TablerIcons.note, color: COLOR_ACTION), - trailing: LinkIcon(), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => NotesWidget(widget.shipment), - ), - ); - }, - ), - ); - - ListTile? attachmentTile = ShowAttachmentsItem( - context, - InvenTreeSalesOrderShipment.MODEL_TYPE, - widget.shipment.pk, - widget.shipment.reference, - attachmentCount, - widget.shipment.canEdit, - ); - - if (attachmentTile != null) { - tiles.add(attachmentTile); - } - - return tiles; - } - - @override - List getTabIcons(BuildContext context) { - return [Tab(text: L10().details), Tab(text: L10().allocatedStock)]; - } - - @override - List getTabs(BuildContext context) { - return [ - ListView(children: shipmentTiles(context)), - PaginatedSOAllocationList({ - "order": widget.shipment.orderId.toString(), - "shipment": widget.shipment.pk.toString(), - }), - ]; - } -} diff --git a/lib/widget/order/so_shipment_list.dart b/lib/widget/order/so_shipment_list.dart index 221d748..126e247 100644 --- a/lib/widget/order/so_shipment_list.dart +++ b/lib/widget/order/so_shipment_list.dart @@ -7,35 +7,6 @@ import "package:inventree/widget/paginator.dart"; import "package:inventree/inventree/model.dart"; import "package:inventree/l10.dart"; -import "package:inventree/widget/refreshable_state.dart"; - -class SOShipmentListWidget extends StatefulWidget { - const SOShipmentListWidget({ - this.title = "", - this.filters = const {}, - Key? key, - }) : super(key: key); - - final Map filters; - - final String title; - - @override - _SOShipmentListWidgetState createState() => _SOShipmentListWidgetState(); -} - -class _SOShipmentListWidgetState - extends RefreshableState { - _SOShipmentListWidgetState(); - - @override - String getAppBarTitle() => widget.title; - - @override - Widget getBody(BuildContext context) { - return PaginatedSOShipmentList(widget.filters); - } -} class PaginatedSOShipmentList extends PaginatedSearchWidget { const PaginatedSOShipmentList(Map filters) @@ -80,21 +51,15 @@ class _PaginatedSOShipmentListState Widget buildItem(BuildContext context, InvenTreeModel model) { InvenTreeSalesOrderShipment shipment = model as InvenTreeSalesOrderShipment; - InvenTreeSalesOrder? order = shipment.order; return ListTile( - title: Text( - "${order?.reference ?? L10().salesOrder} - ${shipment.reference}", - ), - subtitle: Text(order?.description ?? L10().description), - onTap: () async { - shipment.goToDetailPage(context); - }, - leading: shipment.isShipped + title: Text(shipment.reference), + subtitle: Text(shipment.tracking_number), + leading: shipment.shipped ? Icon(TablerIcons.calendar_check, color: COLOR_SUCCESS) : Icon(TablerIcons.calendar_cancel, color: COLOR_WARNING), - trailing: shipment.isShipped + trailing: shipment.shipped ? LargeText(shipment.shipment_date ?? "") - : LargeText(L10().pending), + : null, ); } } diff --git a/lib/widget/paginator.dart b/lib/widget/paginator.dart index 123c7ab..c525de5 100644 --- a/lib/widget/paginator.dart +++ b/lib/widget/paginator.dart @@ -42,36 +42,30 @@ abstract class PaginatedSearchState // Override in implementing class String get prefix => "prefix_"; - // Default ordering option (can be overridden) - String get defaultOrdering => ""; - // Should be overridden by an implementing subclass Map> get filterOptions => {}; // Return the boolean value of a particular boolean filter Future getFilterValue(String key) async { - final String settings_key = "${prefix}filter_${key}"; + key = "${prefix}filter_${key}"; Map opts = filterOptions[key] ?? {}; bool tristate = (opts["tristate"] ?? true) as bool; - dynamic backup = tristate ? opts["default"] : opts["default"] ?? false; - final result = await InvenTreeSettingsManager().getValue( - settings_key, - backup, - ); + dynamic backup = tristate ? null : opts["default"]; + final result = await InvenTreeSettingsManager().getValue(key, backup); return result; } // Set the boolean value of a particular boolean filter Future setFilterValue(String key, dynamic value) async { - final String settings_key = "${prefix}filter_${key}"; + key = "${prefix}filter_${key}"; if (value == null) { - await InvenTreeSettingsManager().removeValue(settings_key); + await InvenTreeSettingsManager().removeValue(key); } else { - await InvenTreeSettingsManager().setValue(settings_key, value); + await InvenTreeSettingsManager().setValue(key, value); } } @@ -106,9 +100,6 @@ abstract class PaginatedSearchState if (field != null && orderingOptions.containsKey(field.toString())) { // A valid ordering field has been found return field.toString(); - } else if (defaultOrdering.isNotEmpty) { - // A default ordering value is supplied - return defaultOrdering; } else if (orderingOptions.isNotEmpty) { // By default, return the first specified key return orderingOptions.keys.first; @@ -161,19 +152,19 @@ abstract class PaginatedSearchState Map fields = { "ordering_field": { "type": "choice", - "label": L10().searchOrderingField, + "label": "Ordering Field", "required": true, "choices": _opts, "value": _field, }, "ordering_order": { "type": "choice", - "label": L10().searchOrderingDirection, + "label": "Ordering Direction", "required": true, "value": _order, "choices": [ - {"value": "+", "display_name": L10().searchOrderingAscending}, - {"value": "-", "display_name": L10().searchOrderingDescending}, + {"value": "+", "display_name": "Ascending"}, + {"value": "-", "display_name": "Descending"}, ], }, }; diff --git a/lib/widget/part/category_list.dart b/lib/widget/part/category_list.dart index b90f2f6..ced2783 100644 --- a/lib/widget/part/category_list.dart +++ b/lib/widget/part/category_list.dart @@ -61,16 +61,9 @@ class _PaginatedPartCategoryListState }, }; - @override - String get defaultOrdering => "pathstring"; - @override Map get orderingOptions { - Map options = { - "name": L10().name, - "pathstring": L10().path, - "level": L10().level, - }; + Map options = {"name": L10().name, "level": L10().level}; // Note: API v69 changed 'parts' to 'part_count' if (InvenTreeAPI().apiVersion >= 69) { diff --git a/lib/widget/part/part_detail.dart b/lib/widget/part/part_detail.dart index 73a299f..5d59aed 100644 --- a/lib/widget/part/part_detail.dart +++ b/lib/widget/part/part_detail.dart @@ -4,8 +4,6 @@ import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; import "package:inventree/app_colors.dart"; import "package:inventree/barcode/barcode.dart"; -import "package:inventree/inventree/attachment.dart"; -import "package:inventree/inventree/parameter.dart"; import "package:inventree/l10.dart"; import "package:inventree/helpers.dart"; @@ -17,10 +15,10 @@ import "package:inventree/preferences.dart"; import "package:inventree/widget/attachment_widget.dart"; import "package:inventree/widget/link_icon.dart"; -import "package:inventree/widget/parameter_widget.dart"; import "package:inventree/widget/part/bom_list.dart"; import "package:inventree/widget/part/part_list.dart"; import "package:inventree/widget/notes_widget.dart"; +import "package:inventree/widget/part/part_parameter_widget.dart"; import "package:inventree/widget/part/part_pricing.dart"; import "package:inventree/widget/progress.dart"; import "package:inventree/widget/part/category_display.dart"; @@ -49,13 +47,13 @@ class _PartDisplayState extends RefreshableState { InvenTreePart? parentPart; - InvenTreeStockLocation? defaultLocation; + int parameterCount = 0; bool allowLabelPrinting = false; + bool showParameters = false; bool showBom = false; bool showPricing = false; - int parameterCount = 0; int attachmentCount = 0; int bomCount = 0; int usedInCount = 0; @@ -63,6 +61,8 @@ class _PartDisplayState extends RefreshableState { InvenTreePartPricing? partPricing; + List> labels = []; + @override String getAppBarTitle() => L10().partDetails; @@ -119,13 +119,19 @@ class _PartDisplayState extends RefreshableState { ); } - if (allowLabelPrinting && api.supportsModernLabelPrinting) { + if (labels.isNotEmpty) { actions.add( SpeedDialChild( child: Icon(TablerIcons.printer), label: L10().printLabel, onTap: () async { - selectAndPrintLabel(context, "part", widget.part.pk); + selectAndPrintLabel( + context, + labels, + widget.part.pk, + "part", + "part=${widget.part.pk}", + ); }, ), ); @@ -152,6 +158,10 @@ class _PartDisplayState extends RefreshableState { INV_PART_SHOW_PRICING, true, ); + showParameters = await InvenTreeSettingsManager().getBool( + INV_PART_SHOW_PARAMETERS, + true, + ); showBom = await InvenTreeSettingsManager().getBool(INV_PART_SHOW_BOM, true); allowLabelPrinting = await InvenTreeSettingsManager().getBool( INV_ENABLE_LABEL_PRINTING, @@ -167,71 +177,33 @@ class _PartDisplayState extends RefreshableState { // If the part points to a parent "template" part, request that too int? templatePartId = part.variantOf; - if (templatePartId != null) { - InvenTreePart().get(templatePartId).then((value) { - if (mounted) { - setState(() { - parentPart = value as InvenTreePart?; - }); - } - }); - } else if (mounted) { - setState(() { + if (templatePartId == null) { + parentPart = null; + } else { + final result = await InvenTreePart().get(templatePartId); + + if (result != null && result is InvenTreePart) { + parentPart = result; + } else { parentPart = null; - }); - } - - // Is there a default location specified for this part? - int? defaultLocationId = part.defaultLocation; - - if (defaultLocationId != null) { - InvenTreeStockLocation().get(defaultLocationId).then((value) { - if (mounted) { - setState(() { - defaultLocation = value as InvenTreeStockLocation?; - }); - } - }); - } else if (mounted) { - setState(() { - defaultLocation = null; - }); + } } // Request part test templates - if (part.isTestable) { - part.getTestTemplates().then((value) { - if (mounted) { - setState(() {}); - } - }); - } + part.getTestTemplates().then((value) { + if (mounted) { + setState(() {}); + } + }); // Request the number of attachments - if (api.supportsModernAttachments) { - InvenTreeAttachment() - .countAttachments(InvenTreePart.MODEL_TYPE, part.pk) - .then((int value) { - if (mounted) { - setState(() { - attachmentCount = value; - }); - } - }); - } - - // Request the number of parameters - if (api.supportsModernParameters) { - InvenTreeParameter() - .countParameters(InvenTreePart.MODEL_TYPE, part.pk) - .then((int value) { - if (mounted) { - setState(() { - parameterCount = value; - }); - } - }); - } + InvenTreePartAttachment().countAttachments(part.pk).then((int value) { + if (mounted) { + setState(() { + attachmentCount = value; + }); + } + }); // If show pricing information? if (showPricing) { @@ -276,6 +248,26 @@ class _PartDisplayState extends RefreshableState { }); } }); + + List> _labels = []; + allowLabelPrinting &= api.supportsMixin("labels"); + + if (allowLabelPrinting) { + String model_type = api.supportsModernLabelPrinting + ? InvenTreePart.MODEL_TYPE + : "part"; + String item_key = api.supportsModernLabelPrinting ? "items" : "part"; + + _labels = await getLabelTemplates(model_type, { + item_key: widget.part.pk.toString(), + }); + } + + if (mounted) { + setState(() { + labels = _labels; + }); + } } void _editPartDialog(BuildContext context) { @@ -420,20 +412,6 @@ class _PartDisplayState extends RefreshableState { ), ); - if (defaultLocation != null) { - tiles.add( - ListTile( - title: Text(L10().locationDefault), - subtitle: Text(defaultLocation!.pathstring), - leading: Icon(TablerIcons.map_pin), - trailing: LinkIcon(), - onTap: () { - defaultLocation?.goToDetailPage(context); - }, - ), - ); - } - if (showPricing && partPricing != null) { String pricing = formatPriceRange( partPricing?.overallMin, @@ -546,7 +524,7 @@ class _PartDisplayState extends RefreshableState { } // External link? - if (part.hasLink) { + if (part.link.isNotEmpty) { tiles.add( ListTile( title: Text("${part.link}"), @@ -609,31 +587,29 @@ class _PartDisplayState extends RefreshableState { ), ); - ListTile? parameterTile = ShowParametersItem( - context, - InvenTreePart.MODEL_TYPE, - part.pk, - parameterCount, - part.canEdit, + tiles.add( + ListTile( + title: Text(L10().attachments), + leading: Icon(TablerIcons.file, color: COLOR_ACTION), + trailing: LinkIcon( + text: attachmentCount > 0 ? attachmentCount.toString() : null, + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => AttachmentWidget( + InvenTreePartAttachment(), + part.pk, + L10().part, + part.canEdit, + ), + ), + ); + }, + ), ); - if (parameterTile != null) { - tiles.add(parameterTile); - } - - ListTile? attachmentTile = ShowAttachmentsItem( - context, - InvenTreePart.MODEL_TYPE, - part.pk, - L10().part, - attachmentCount, - part.canEdit, - ); - - if (attachmentTile != null) { - tiles.add(attachmentTile); - } - return tiles; } @@ -727,6 +703,10 @@ class _PartDisplayState extends RefreshableState { List getTabIcons(BuildContext context) { List icons = [Tab(text: L10().details), Tab(text: L10().stock)]; + if (showParameters) { + icons.add(Tab(text: L10().parameters)); + } + return icons; } @@ -739,6 +719,11 @@ class _PartDisplayState extends RefreshableState { ), PaginatedStockItemList({"part": part.pk.toString()}), ]; + + if (showParameters) { + tabs.add(PaginatedParameterList({"part": part.pk.toString()})); + } + return tabs; } } diff --git a/lib/widget/part/part_list.dart b/lib/widget/part/part_list.dart index 040de2c..3f219b5 100644 --- a/lib/widget/part/part_list.dart +++ b/lib/widget/part/part_list.dart @@ -74,7 +74,6 @@ class _PaginatedPartListState extends PaginatedSearchState { "label": L10().filterActive, "help_text": L10().filterActiveDetail, "tristate": true, - "default": true, }, "assembly": { "label": L10().filterAssembly, diff --git a/lib/widget/parameter_widget.dart b/lib/widget/part/part_parameter_widget.dart similarity index 57% rename from lib/widget/parameter_widget.dart rename to lib/widget/part/part_parameter_widget.dart index 8bcc360..c4df189 100644 --- a/lib/widget/parameter_widget.dart +++ b/lib/widget/part/part_parameter_widget.dart @@ -1,12 +1,8 @@ import "package:flutter/material.dart"; -import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; -import "package:inventree/api.dart"; -import "package:inventree/app_colors.dart"; import "package:inventree/inventree/model.dart"; -import "package:inventree/inventree/parameter.dart"; import "package:inventree/l10.dart"; -import "package:inventree/widget/link_icon.dart"; +import "package:inventree/inventree/part.dart"; import "package:inventree/widget/paginator.dart"; import "package:inventree/widget/progress.dart"; import "package:inventree/widget/refreshable_state.dart"; @@ -14,18 +10,16 @@ import "package:inventree/widget/refreshable_state.dart"; /* * Widget for displaying a list of parameters associated with a given Part instance */ -class ParameterWidget extends StatefulWidget { - const ParameterWidget(this.modelType, this.modelId, this.editable) : super(); +class PartParameterWidget extends StatefulWidget { + const PartParameterWidget(this.part); - final String modelType; - final int modelId; - final bool editable; + final InvenTreePart part; @override _ParameterWidgetState createState() => _ParameterWidgetState(); } -class _ParameterWidgetState extends RefreshableState { +class _ParameterWidgetState extends RefreshableState { _ParameterWidgetState(); @override @@ -40,16 +34,9 @@ class _ParameterWidgetState extends RefreshableState { @override Widget getBody(BuildContext context) { - Map filters = { - "model_type": widget.modelType, - "model_id": widget.modelId.toString(), - }; + Map filters = {"part": widget.part.pk.toString()}; - return Column( - children: [ - Expanded(child: PaginatedParameterList(filters, widget.editable)), - ], - ); + return Column(children: [Expanded(child: PaginatedParameterList(filters))]); } } @@ -57,11 +44,9 @@ class _ParameterWidgetState extends RefreshableState { * Widget for displaying a paginated list of Part parameters */ class PaginatedParameterList extends PaginatedSearchWidget { - const PaginatedParameterList(Map filters, this.editable) + const PaginatedParameterList(Map filters) : super(filters: filters); - final bool editable; - @override String get searchTitle => L10().parameters; @@ -90,7 +75,7 @@ class _PaginatedParameterState int offset, Map params, ) async { - final page = await InvenTreeParameter().listPaginated( + final page = await InvenTreePartParameter().listPaginated( limit, offset, filters: params, @@ -99,7 +84,7 @@ class _PaginatedParameterState return page; } - Future editParameter(InvenTreeParameter parameter) async { + Future editParameter(InvenTreePartParameter parameter) async { // Checkbox values are handled separately if (parameter.is_checkbox) { return; @@ -116,7 +101,7 @@ class _PaginatedParameterState @override Widget buildItem(BuildContext context, InvenTreeModel model) { - InvenTreeParameter parameter = model as InvenTreeParameter; + InvenTreePartParameter parameter = model as InvenTreePartParameter; String title = parameter.name; @@ -131,7 +116,7 @@ class _PaginatedParameterState ? Switch( value: parameter.as_bool, onChanged: (bool value) { - if (widget.editable) { + if (parameter.canEdit) { showLoadingOverlay(); parameter.update(values: {"data": value.toString()}).then(( value, @@ -142,51 +127,14 @@ class _PaginatedParameterState } }, ) - : LargeText(parameter.value), + : Text(parameter.value), onTap: parameter.is_checkbox ? null : () async { - if (widget.editable) { + if (parameter.canEdit) { editParameter(parameter); } }, ); } } - -/* - * Return a ListTile to display parameters for the specified model - */ -ListTile? ShowParametersItem( - BuildContext context, - String modelType, - int modelId, - int parameterCount, - bool editable, -) { - // Note: Currently cannot add parameters from the app, - // So, if there are no parameters, do not show the item - if (parameterCount == 0) { - return null; - } - - if (!InvenTreeAPI().supportsModernParameters) { - return null; - } - - return ListTile( - title: Text(L10().parameters), - leading: Icon(TablerIcons.list_details, color: COLOR_ACTION), - trailing: LinkIcon( - text: parameterCount > 0 ? parameterCount.toString() : null, - ), - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => ParameterWidget(modelType, modelId, editable), - ), - ); - }, - ); -} diff --git a/lib/widget/snacks.dart b/lib/widget/snacks.dart index f00b1ec..580955f 100644 --- a/lib/widget/snacks.dart +++ b/lib/widget/snacks.dart @@ -64,7 +64,6 @@ void showSnackIcon( }, ), backgroundColor: backgroundColor, - showCloseIcon: true, action: onAction == null ? null : SnackBarAction( diff --git a/lib/widget/stock/location_display.dart b/lib/widget/stock/location_display.dart index f6f74db..7719724 100644 --- a/lib/widget/stock/location_display.dart +++ b/lib/widget/stock/location_display.dart @@ -38,7 +38,7 @@ class _LocationDisplayState extends RefreshableState { final InvenTreeStockLocation? location; - bool allowLabelPrinting = false; + List> labels = []; @override String getAppBarTitle() { @@ -179,15 +179,19 @@ class _LocationDisplayState extends RefreshableState { ); } - if (widget.location != null && - allowLabelPrinting && - api.supportsModernLabelPrinting) { + if (widget.location != null && labels.isNotEmpty) { actions.add( SpeedDialChild( child: Icon(TablerIcons.printer), label: L10().printLabel, onTap: () async { - selectAndPrintLabel(context, "stocklocation", widget.location!.pk); + selectAndPrintLabel( + context, + labels, + widget.location!.pk, + "location", + "location=${widget.location!.pk}", + ); }, ), ); @@ -232,10 +236,33 @@ class _LocationDisplayState extends RefreshableState { } } - allowLabelPrinting = await InvenTreeSettingsManager().getBool( + List> _labels = []; + bool allowLabelPrinting = await InvenTreeSettingsManager().getBool( INV_ENABLE_LABEL_PRINTING, true, ); + allowLabelPrinting &= api.supportsMixin("labels"); + + if (allowLabelPrinting) { + if (widget.location != null) { + String model_type = api.supportsModernLabelPrinting + ? InvenTreeStockLocation.MODEL_TYPE + : "location"; + String item_key = api.supportsModernLabelPrinting + ? "items" + : "location"; + + _labels = await getLabelTemplates(model_type, { + item_key: widget.location!.pk.toString(), + }); + } + } + + if (mounted) { + setState(() { + labels = _labels; + }); + } } Future _newLocation(BuildContext context) async { diff --git a/lib/widget/stock/location_list.dart b/lib/widget/stock/location_list.dart index d59c369..a27182d 100644 --- a/lib/widget/stock/location_list.dart +++ b/lib/widget/stock/location_list.dart @@ -52,14 +52,10 @@ class _PaginatedStockLocationListState @override Map get orderingOptions => { "name": L10().name, - "pathstring": L10().path, "items": L10().stockItems, "level": L10().level, }; - @override - String get defaultOrdering => "pathstring"; - @override Map> get filterOptions => { "cascade": { diff --git a/lib/widget/stock/stock_detail.dart b/lib/widget/stock/stock_detail.dart index 282a962..e91bd98 100644 --- a/lib/widget/stock/stock_detail.dart +++ b/lib/widget/stock/stock_detail.dart @@ -7,7 +7,6 @@ import "package:inventree/app_colors.dart"; import "package:inventree/barcode/barcode.dart"; import "package:inventree/barcode/stock.dart"; import "package:inventree/helpers.dart"; -import "package:inventree/inventree/attachment.dart"; import "package:inventree/inventree/sales_order.dart"; import "package:inventree/l10.dart"; import "package:inventree/api.dart"; @@ -50,7 +49,6 @@ class _StockItemDisplayState extends RefreshableState { // Linked data fields InvenTreePart? part; - InvenTreeStockLocation? defaultLocation; InvenTreeSalesOrder? salesOrder; InvenTreeCompany? customer; @@ -129,13 +127,19 @@ class _StockItemDisplayState extends RefreshableState { ); } - if (allowLabelPrinting && api.supportsModernLabelPrinting) { + if (labels.isNotEmpty) { actions.add( SpeedDialChild( child: Icon(TablerIcons.printer), label: L10().printLabel, onTap: () async { - selectAndPrintLabel(context, "stockitem", widget.item.pk); + selectAndPrintLabel( + context, + labels, + widget.item.pk, + "stock", + "item=${widget.item.pk}", + ); }, ), ); @@ -191,7 +195,10 @@ class _StockItemDisplayState extends RefreshableState { return actions; } - bool allowLabelPrinting = false; + // Is label printing enabled for this StockItem? + // This will be determined when the widget is loaded + List> labels = []; + int attachmentCount = 0; @override @@ -227,23 +234,6 @@ class _StockItemDisplayState extends RefreshableState { stockShowTests &= part?.isTrackable ?? false; - // Request default location - int? defaultLocationId = part?.defaultLocation; - - if (defaultLocationId != null) { - InvenTreeStockLocation().get(defaultLocationId).then((value) { - if (mounted) { - setState(() { - defaultLocation = value as InvenTreeStockLocation?; - }); - } - }); - } else if (mounted) { - setState(() { - defaultLocation = null; - }); - } - // Request test results (async) if (stockShowTests) { widget.item.getTestResults().then((value) { @@ -256,15 +246,15 @@ class _StockItemDisplayState extends RefreshableState { } // Request the number of attachments - InvenTreeAttachment() - .countAttachments(InvenTreeStockItem.MODEL_TYPE, widget.item.pk) - .then((int value) { - if (mounted) { - setState(() { - attachmentCount = value; - }); - } + InvenTreeStockItemAttachment().countAttachments(widget.item.pk).then(( + int value, + ) { + if (mounted) { + setState(() { + attachmentCount = value; }); + } + }); // Request SalesOrder information if (widget.item.hasSalesOrder) { @@ -310,10 +300,31 @@ class _StockItemDisplayState extends RefreshableState { } } - allowLabelPrinting = await InvenTreeSettingsManager().getBool( + List> _labels = []; + bool allowLabelPrinting = await InvenTreeSettingsManager().getBool( INV_ENABLE_LABEL_PRINTING, true, ); + allowLabelPrinting &= api.supportsMixin("labels"); + + // Request information on labels available for this stock item + if (allowLabelPrinting) { + String model_type = api.supportsModernLabelPrinting + ? InvenTreeStockItem.MODEL_TYPE + : "stock"; + String item_key = api.supportsModernLabelPrinting ? "items" : "item"; + + // Clear the existing labels list + _labels = await getLabelTemplates(model_type, { + item_key: widget.item.pk.toString(), + }); + } + + if (mounted) { + setState(() { + labels = _labels; + }); + } } /// Delete the stock item from the database @@ -558,21 +569,6 @@ class _StockItemDisplayState extends RefreshableState { ); } - if (defaultLocation != null && - defaultLocation?.pk != widget.item.locationId) { - tiles.add( - ListTile( - title: Text(L10().locationDefault), - subtitle: Text(defaultLocation!.pathstring), - leading: Icon(TablerIcons.map_pin), - trailing: LinkIcon(), - onTap: () { - defaultLocation?.goToDetailPage(context); - }, - ), - ); - } - // Quantity information if (widget.item.isSerialized()) { tiles.add( @@ -748,13 +744,13 @@ class _StockItemDisplayState extends RefreshableState { tiles.add( ListTile( title: Text(L10().lastStocktake), - trailing: LargeText(widget.item.stocktakeDateString), + subtitle: Text(widget.item.stocktakeDateString), leading: Icon(TablerIcons.calendar), ), ); } - if (widget.item.hasLink) { + if (widget.item.link.isNotEmpty) { tiles.add( ListTile( title: Text("${widget.item.link}"), @@ -838,19 +834,29 @@ class _StockItemDisplayState extends RefreshableState { ), ); - ListTile? attachmentTile = ShowAttachmentsItem( - context, - InvenTreeStockItem.MODEL_TYPE, - widget.item.pk, - L10().stockItem, - attachmentCount, - widget.item.canEdit, + tiles.add( + ListTile( + title: Text(L10().attachments), + leading: Icon(TablerIcons.file, color: COLOR_ACTION), + trailing: LinkIcon( + text: attachmentCount > 0 ? attachmentCount.toString() : null, + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => AttachmentWidget( + InvenTreeStockItemAttachment(), + widget.item.pk, + L10().stockItem, + widget.item.canEdit, + ), + ), + ); + }, + ), ); - if (attachmentTile != null) { - tiles.add(attachmentTile); - } - return tiles; } } diff --git a/lib/widget/stock/stock_list.dart b/lib/widget/stock/stock_list.dart index d969792..8e6e89d 100644 --- a/lib/widget/stock/stock_list.dart +++ b/lib/widget/stock/stock_list.dart @@ -75,13 +75,8 @@ class _PaginatedStockItemListState "help_text": L10().filterInStockDetail, "tristate": true, }, - "active": { - "default": true, - "label": L10().filterActive, - "help_text": L10().filterActiveDetail, - }, "cascade": { - "default": true, + "default": false, "label": L10().includeSublocations, "help_text": L10().includeSublocationsDetail, "tristate": false, diff --git a/pubspec.yaml b/pubspec.yaml index 129d635..e1629a5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: inventree description: InvenTree stock management -version: 0.21.2+108 +version: 0.19.2+101 environment: sdk: ^3.8.1 @@ -40,7 +40,7 @@ dependencies: path: ^1.9.0 path_provider: ^2.1.5 # Local file storage sembast: ^3.6.0 # NoSQL data storage - sentry_flutter: 8.14.2 # Error reporting + sentry_flutter: 8.14.2 # Error reporting url_launcher: ^6.3.1 # Open link in system browser wakelock_plus: ^1.3.2 # Prevent device from sleeping