Plugin Directory

Changeset 3765190


Ignore:
Timestamp:
10/25/2026 08:06:45 PM (81 minutes ago)
Author:
ombel
Message:

Release 1.0.11: packaging assignment validation, distinct Dutch components and accurate Belgian rule evidence

Location:
ombel-packaging-records
Files:
34 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ombel-packaging-records/tags/1.0.11/includes/Admin/BelgiumPage.php

    r3756967 r3765190  
    3333                        ),
    3434                        BelgiumReporting::SCHEME
    35                 )['belgium_reporting'];
     35                )['belgium_reporting'] ?? null;
    3636
    3737                Ui::page_open( __( 'Belgium', 'ombel-packaging-records' ), __( 'Limited preparation support for Belgian packaging. This page does not file or submit anything.', 'ombel-packaging-records' ) );
    … …  
    9191        }
    9292
    93         private function render_readiness( array $readiness ): void {
     93        private function render_readiness( ?array $readiness ): void {
    9494                Ui::card_open( __( 'What this means', 'ombel-packaging-records' ) );
     95                if ( null === $readiness ) {
     96                        Ui::notice( 'warning', __( 'No Belgian rule version applies to today\'s date, so readiness is not evaluated. Recorded totals remain available.', 'ombel-packaging-records' ) );
     97                        Ui::card_close();
     98                        return;
     99                }
    95100                $status = 'READY' === (string) $readiness['control_sheet']['readiness'] ? __( 'Ready', 'ombel-packaging-records' ) : __( 'Needs information', 'ombel-packaging-records' );
    96101                echo '<p>';
  • ombel-packaging-records/tags/1.0.11/includes/Admin/PackagingPage.php

    r3764769 r3765190  
    11241124        private function tab_assign(): void {
    11251125                $entitlements = new FeatureEntitlements();
    1126                 $profiles     = ( new PackagingProfileRepository() )->all( PackagingProfileStatus::ACTIVE );
     1126                // Shipping packaging is added once per order; only product (sales) packaging is assigned here.
     1127                $profiles = array_values( array_filter( ( new PackagingProfileRepository() )->all( PackagingProfileStatus::ACTIVE ), static fn( array $profile ): bool => PackagingType::SALES === $profile['type'] ) );
    11271128
    11281129                Ui::card_open( __( 'Assign packaging to many products at once', 'ombel-packaging-records' ) );
  • ombel-packaging-records/tags/1.0.11/includes/Admin/ProductPackagingMetabox.php

    r3764769 r3765190  
    345345                if ( $has_own && (int) $current['profile_id'] === $profile_id ) {
    346346                        return; // No change — do not open a pointless new history row.
     347                }
     348                $profile = ( new PackagingProfileRepository() )->find( $profile_id );
     349                if ( null === $profile || 'active' !== $profile['status'] ) {
     350                        \WC_Admin_Meta_Boxes::add_error( __( 'Choose an active packaging profile. Draft profiles have to be activated first.', 'ombel-packaging-records' ) );
     351                        return;
     352                }
     353                if ( PackagingType::SALES !== $profile['type'] ) {
     354                        \WC_Admin_Meta_Boxes::add_error( __( 'Choose a product packaging profile. Shipping packaging is added once per order, not to products.', 'ombel-packaging-records' ) );
     355                        return;
    347356                }
    348357
  • ombel-packaging-records/tags/1.0.11/includes/Cloud/SyncQueueService.php

    r3742563 r3765190  
    77use Brightfern\PPWR\Cloud\Payloads\ComplianceEventPayloadBuilder;
    88use Brightfern\PPWR\Cloud\Payloads\PackagingProfilePayloadBuilder;
     9use Brightfern\PPWR\Domain\PackagingProfileStatus;
     10use Brightfern\PPWR\Domain\SnapshotEventType;
    911use Brightfern\PPWR\Domain\SyncJobType;
     12use Brightfern\PPWR\Domain\SyncStatus;
    1013use Brightfern\PPWR\Infrastructure\Cloud\CloudApiClient;
    1114use Brightfern\PPWR\Infrastructure\Cloud\CloudConnectionSettings;
    1215use Brightfern\PPWR\Infrastructure\Cloud\CloudException;
    1316use Brightfern\PPWR\Infrastructure\Cloud\RetryPolicy;
     17use Brightfern\PPWR\Licensing\Capability;
     18use Brightfern\PPWR\Licensing\FeatureEntitlements;
     19use Brightfern\PPWR\Licensing\FreemiusConnection;
    1420use Brightfern\PPWR\Observability\Logger;
     21use Brightfern\PPWR\Repository\LedgerRepository;
    1522use Brightfern\PPWR\Repository\OrderSnapshotRepository;
    1623use Brightfern\PPWR\Repository\PackagingProfileRepository;
    … …  
    5663                }
    5764
     65                // Profiles activated in a local-only build have no upload job; queue them ahead of the event.
     66                // Unconnected stores are covered when the first send reports the missing profiles.
     67                if ( $this->settings->is_configured() ) {
     68                        $this->profiles_in_flight( $snapshot_id );
     69                }
     70
    5871                $payload = ( new ComplianceEventPayloadBuilder() )->build( $snapshot );
    5972
    … …  
    97110                        $this->dispatch_soon( $result['id'] );
    98111                }
     112        }
     113
     114        /**
     115         * Queues an upload for every recorded profile version a snapshot references that has none yet.
     116         * True while one of them is still waiting to be sent; a permanently failed upload does not count.
     117         */
     118        private function profiles_in_flight( int $snapshot_id, bool $recover_synced = false ): bool {
     119                $profiles  = new PackagingProfileRepository();
     120                $in_flight = false;
     121                $confirmed = array();
     122                $terminal  = false;
     123                try {
     124                        foreach ( ( new LedgerRepository() )->for_snapshot( $snapshot_id ) as $line ) {
     125                                $profile = empty( $line['profile_uuid'] ) ? null : $profiles->find_by_uuid( (string) $line['profile_uuid'] );
     126                                if ( null === $profile || (int) $profile['version'] !== (int) $line['profile_version'] || PackagingProfileStatus::DRAFT === $profile['status'] ) {
     127                                        continue;
     128                                }
     129                                $job = $this->queue->find_by_job_reference( SyncJobType::PACKAGING_PROFILE, (int) $profile['id'] );
     130                                if ( null === $job ) {
     131                                        $this->enqueue_packaging_profile_sync( (int) $profile['id'] );
     132                                        $in_flight = true;
     133                                } elseif ( $recover_synced && SyncStatus::SYNCED === $job['status'] ) {
     134                                        $confirmed[ (int) $job['id'] ] = true;
     135                                } elseif ( in_array( $job['status'], array( SyncStatus::FAILED, SyncStatus::DEAD_LETTER ), true ) ) {
     136                                        $terminal = true;
     137                                } elseif ( in_array( $job['status'], array( SyncStatus::PENDING, SyncStatus::PROCESSING, SyncStatus::RETRYING ), true ) ) {
     138                                        $in_flight = true;
     139                                }
     140                        }
     141                        // Recover a lost acknowledgement only after active dependencies finish, and never mask a terminal failure.
     142                        if ( $recover_synced && ! $in_flight && ! $terminal ) {
     143                                foreach ( array_keys( $confirmed ) as $id ) {
     144                                        $this->queue->requeue_synced_profile( $id );
     145                                        $in_flight = true;
     146                                }
     147                        }
     148                } catch ( \Throwable $e ) {
     149                        // Never let this repair step stop the event itself from being queued or retried.
     150                        Logger::error(
     151                                'cloud.profile_enqueue_failed',
     152                                array(
     153                                        'snapshot_id' => $snapshot_id,
     154                                        'error'       => $e->getMessage(),
     155                                )
     156                        );
     157                        return false;
     158                }
     159                return $in_flight;
     160        }
     161
     162        /** True while the market entry an adjustment deducts from is still queued locally. */
     163        private function original_in_flight( int $snapshot_id ): bool {
     164                $snapshots = new OrderSnapshotRepository();
     165                $snapshot  = $snapshots->find_by_id( $snapshot_id );
     166                $original  = null === $snapshot ? null : $snapshots->find_by_order_and_event( (int) $snapshot['wc_order_id'], SnapshotEventType::MARKET_ENTRY );
     167                $job       = null === $original ? null : $this->queue->find_by_job_reference( SyncJobType::COMPLIANCE_EVENT, (int) $original['id'] );
     168                return null !== $job && in_array( $job['status'], array( SyncStatus::PENDING, SyncStatus::PROCESSING, SyncStatus::RETRYING ), true );
    99169        }
    100170
    … …  
    147217                if ( ! $this->settings->is_configured() ) {
    148218                        return; // Stays pending — the recurring sweep will pick it up once configured.
     219                }
     220                if ( ( FreemiusConnection::enabled() || \Brightfern\PPWR\Marketplace::enabled() ) && ! ( new FeatureEntitlements() )->can( Capability::CLOUD_SYNC ) ) {
     221                        return; // Keep queued records for activation or renewal without consuming retries.
    149222                }
    150223
    … …  
    220293        private function handle_failure( array $job, CloudException $e ): void {
    221294                $previous_attempts = (int) $job['attempts'];
    222                 $attempts          = $previous_attempts + 1;
     295                if ( 403 === $e->status_code && 'subscription_required' === $e->error_code ) {
     296                        // Server access can expire before the cached license; the recurring sweep retries after renewal.
     297                        $this->queue->mark_retry( (int) $job['id'], $previous_attempts, gmdate( 'Y-m-d H:i:s', time() + 300 ), 403, $e->error_code, $e->getMessage() );
     298                        return;
     299                }
     300                if ( 503 === $e->status_code && SyncJobType::COMPLIANCE_EVENT === $job['job_type'] && (
     301                        ( 'packaging_profiles_pending' === $e->error_code && $this->profiles_in_flight( (int) $job['reference_id'], true ) )
     302                        || ( 'original_pending' === $e->error_code && $this->original_in_flight( (int) $job['reference_id'] ) ) ) ) {
     303                        // The event waits for a dependency that is still on its way without exhausting its own retries;
     304                        // the recurring sweep (at most 50 jobs per run) re-checks it, so a slow upload cannot multiply requests.
     305                        $this->queue->mark_retry( (int) $job['id'], $previous_attempts, gmdate( 'Y-m-d H:i:s', time() + 300 ), 503, $e->error_code, $e->getMessage() );
     306                        return;
     307                }
     308                $attempts = $previous_attempts + 1;
    223309
    224310                if ( $e->auth_failure ) {
  • ombel-packaging-records/tags/1.0.11/includes/Infrastructure/Cloud/CloudException.php

    r3737231 r3765190  
    4646        public static function from_http_status( int $status, array $decoded_body, string $raw_body ): self {
    4747                $error_code = is_string( $decoded_body['error'] ?? null ) ? $decoded_body['error'] : null;
    48                 $message    = match ( $status ) {
     48                if ( 403 === $status && 'subscription_required' === $error_code ) {
     49                        return new self( __( 'Cloud sync is waiting for an active subscription. Local records remain queued and will retry after activation or renewal.', 'ombel-packaging-records' ), $status, $error_code, true, false );
     50                }
     51                $message = match ( $status ) {
    4952                        401, 403 => __( 'The service rejected this connection. Check the Store ID and matching Secret, then test again. Contact Brightfern if it continues.', 'ombel-packaging-records' ),
    5053                        422 => __( 'The service could not validate the packaging record. Check the required fields and contact Brightfern with the error code.', 'ombel-packaging-records' ),
  • ombel-packaging-records/tags/1.0.11/includes/Licensing/Capability.php

    r3735022 r3765190  
    4646        /** @return array<int, string> */
    4747        public static function all(): array {
    48                 return array_merge( self::free(), self::pro() );
     48                return array_values( array_unique( array_merge( self::free(), self::pro() ) ) );
    4949        }
    5050
    … …  
    6565                                array( self::MULTI_COUNTRY, self::COUNTRY_REPORTING, self::OFFICIAL_EXPORTS, self::REGISTRATION_VERIFICATION, self::DEADLINE_TRACKING, self::EVIDENCE_ARCHIVE, self::ADVANCED_AUDIT )
    6666                        );
     67                }
     68                if ( FreemiusConnection::enabled() ) {
     69                        $capabilities = array_merge( $capabilities, array( self::MULTI_COUNTRY, self::COUNTRY_REPORTING, self::REGISTRATION_VERIFICATION, self::DEADLINE_TRACKING, self::EVIDENCE_ARCHIVE, self::ADVANCED_AUDIT ) );
    6770                }
    6871                return $capabilities;
  • ombel-packaging-records/tags/1.0.11/includes/Packaging/BulkAssignment.php

    r3737231 r3765190  
    8787                                'only_missing'       => false,
    8888                        );
     89                }
     90
     91                if ( PackagingType::SALES !== $profile['type'] ) {
     92                        throw new \InvalidArgumentException( __( 'Choose a product packaging profile. Shipping packaging is added once per order, not to products.', 'ombel-packaging-records' ) );
    8993                }
    9094
  • ombel-packaging-records/tags/1.0.11/includes/Packaging/PackagingCsv.php

    r3764769 r3765190  
    383383                                'product' => $label,
    384384                                'message' => __( 'No active packaging profile matches this row. Check the name or ID, and that the profile is activated.', 'ombel-packaging-records' ),
     385                        );
     386                }
     387                if ( PackagingType::SALES !== $profile['type'] ) {
     388                        return array(
     389                                'outcome' => 'error',
     390                                'product' => $label,
     391                                'message' => __( 'Choose a product packaging profile. Shipping packaging is added once per order, not to products.', 'ombel-packaging-records' ),
    385392                        );
    386393                }
  • ombel-packaging-records/tags/1.0.11/includes/Repository/PackagingProfileRepository.php

    r3745524 r3765190  
    2727                $row = $this->db->get_row(
    2828                        $this->db->prepare( "SELECT * FROM {$this->table()} WHERE id = %d", $id ), // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
     29                        ARRAY_A
     30                );
     31
     32                return $row ? $row : null;
     33        }
     34
     35        public function find_by_uuid( string $uuid ): ?array {
     36                $row = $this->db->get_row(
     37                        $this->db->prepare( "SELECT * FROM {$this->table()} WHERE uuid = %s", $uuid ), // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
    2938                        ARRAY_A
    3039                );
  • ombel-packaging-records/tags/1.0.11/includes/Repository/SyncQueueRepository.php

    r3735022 r3765190  
    66
    77use Brightfern\PPWR\Domain\SyncStatus;
     8use Brightfern\PPWR\Domain\SyncJobType;
    89use Brightfern\PPWR\Support\Uuid;
    910
    … …  
    105106         * Jobs due for an attempt right now: pending, retrying with a due
    106107         * next_attempt_at, or a processing job whose worker lease expired. Ordered oldest-queued
    107          * first so a backlog drains in the order it was created, not
    108          * newest-first.
     108         * first within each class; profile uploads and originals must precede
     109         * events waiting for those dependencies, even when a batch is full.
    109110         */
    110111        public function find_due( int $limit = 20 ): array {
    … …  
    114115                                'WHERE (status IN (%s, %s) AND (next_attempt_at IS NULL OR next_attempt_at <= %s))
    115116                                 OR (status = %s AND (last_attempted_at IS NULL OR last_attempted_at <= %s))
    116                                  ORDER BY queued_at ASC LIMIT %d',
     117                                 ORDER BY CASE WHEN job_type = %s THEN 0 WHEN last_error_code IN (%s, %s) THEN 2 ELSE 1 END, queued_at ASC, id ASC LIMIT %d',
    117118                                SyncStatus::PENDING,
    118119                                SyncStatus::RETRYING,
    … …  
    120121                                SyncStatus::PROCESSING,
    121122                                gmdate( 'Y-m-d H:i:s', time() - self::PROCESSING_LEASE_SECONDS ),
     123                                SyncJobType::PACKAGING_PROFILE,
     124                                'packaging_profiles_pending',
     125                                'original_pending',
    122126                                $limit
    123127                        ),
    … …  
    208212        }
    209213
    210         /** Merchant-triggered "retry now" for a failed/dead_letter row. */
     214        /** Merchant-triggered "retry now" for a failed/dead_letter row; it starts a fresh retry budget. */
    211215        public function reset_for_manual_retry( int $id ): void {
    212216                $this->db->update(
    … …  
    214218                        array(
    215219                                'status'          => SyncStatus::PENDING,
     220                                'attempts'        => 0,
    216221                                'next_attempt_at' => null,
    217222                                'updated_at'      => $this->now(),
    … …  
    219224                        array( 'id' => $id )
    220225                );
     226        }
     227
     228        /** Only a confirmed upload can be requeued; never take another worker's active lease. */
     229        public function requeue_synced_profile( int $id ): bool {
     230                $result = $this->db->query(
     231                        $this->db->prepare(
     232                                "UPDATE {$this->table()} SET status = %s, attempts = 0, remote_id = NULL, synced_at = NULL, next_attempt_at = NULL, updated_at = %s
     233                                 WHERE id = %d AND job_type = %s AND status = %s",
     234                                SyncStatus::PENDING,
     235                                $this->now(),
     236                                $id,
     237                                SyncJobType::PACKAGING_PROFILE,
     238                                SyncStatus::SYNCED
     239                        )
     240                );
     241                if ( false === $result ) {
     242                        throw new \RuntimeException( 'Could not requeue the confirmed packaging profile.' );
     243                }
     244                return 1 === $result;
    221245        }
    222246
  • ombel-packaging-records/tags/1.0.11/includes/Rules/LocalRules.php

    r3735022 r3765190  
    3838                        }
    3939                        $content = json_decode( $row['content_json'], true, 32, JSON_THROW_ON_ERROR );
     40                        // The bundled fallback has a fixed validity window; past it, report the gap like other markets do.
     41                        $date  = (string) ( $event['event_date'] ?? '' );
     42                        $until = $content['effective_until'] ?? null;
     43                        if ( null === $version && PackValidator::date( $date ) && ( $date < (string) ( $content['effective_from'] ?? '' ) || ( is_string( $until ) && $date >= $until ) ) ) {
     44                                return self::without_rule_pack( $event, $scheme );
     45                        }
     46                        $event = self::known_transition_context( $event, $content );
    4047                        return ( new Evaluator( $content ) )->evaluate( $event ) + array(
    4148                                'checksum' => $row['content_hash'],
    … …  
    4754                        : $this->repository->exact( $event['destination_country'], $scheme, $version );
    4855                if ( ! $row ) {
    49                         return array(
    50                                 'schema_version'        => 1,
    51                                 'jurisdiction'          => $event['destination_country'],
    52                                 'scheme'                => $scheme,
    53                                 'rule_version'          => null,
    54                                 'applicable'            => null,
    55                                 'registration_required' => null,
    56                                 'reporting_period'      => null,
    57                                 'issues'                => array(),
    58                                 'warnings'              => array( 'no_valid_rule_pack' ),
    59                                 'input'                 => $event,
    60                         );
     56                        return self::without_rule_pack( $event, $scheme );
    6157                }
    6258                if ( ! hash_equals( $row['content_hash'], hash( 'sha256', $row['content_json'] ) ) ) {
    … …  
    8581                );
    8682        }
     83
     84        /** Same filtering as the generic path: German transition answers are unknown to other packs. */
     85        private static function known_transition_context( array $event, array $content ): array {
     86                if ( isset( $event['transition_context'] ) && is_array( $event['transition_context'] ) ) {
     87                        $event['transition_context'] = array_intersect_key( $event['transition_context'], array_flip( Transitions::context_keys( $content ) ) );
     88                }
     89                return $event;
     90        }
     91
     92        private static function without_rule_pack( array $event, string $scheme ): array {
     93                return array(
     94                        'schema_version'        => 1,
     95                        'jurisdiction'          => $event['destination_country'],
     96                        'scheme'                => $scheme,
     97                        'rule_version'          => null,
     98                        'applicable'            => null,
     99                        'registration_required' => null,
     100                        'reporting_period'      => null,
     101                        'issues'                => array(),
     102                        'warnings'              => array( 'no_valid_rule_pack' ),
     103                        'input'                 => $event,
     104                );
     105        }
    87106}
  • ombel-packaging-records/tags/1.0.11/includes/Woo/OrderSnapshotBuilder.php

    r3746155 r3765190  
    355355                        'order_value_minor' => (int) round( (float) $order->get_total() * 100 ),
    356356                        'order_ref'         => $order_ref,
    357                         'rule_version'      => $compliance['rule_version'] ?? ( -1 === $direction ? ( $original['rule_version'] ?? null ) : ( $rule_version['version'] ?? null ) ),
     357                        'rule_version'      => $has_m2_rules ? ( $compliance['rule_version'] ?? null ) : ( $compliance['rule_version'] ?? ( -1 === $direction ? ( $original['rule_version'] ?? null ) : ( $rule_version['version'] ?? null ) ) ),
    358358                        'compliance_json'   => $compliance_json,
    359359                        'adjustment_json'   => isset( $overrides['adjustment'] ) ? wp_json_encode( $overrides['adjustment'] ) : null,
    … …  
    385385                                foreach ( $ledger_lines as &$line ) {
    386386                                        $line['snapshot_id'] = $result['id'];
    387                                         unset( $line['_component_ref'], $line['_france'], $line['_netherlands'], $line['_spain'], $line['_austria'], $line['_sales_units'], $line['_unit_weight_mg'], $line['_denmark'] );
     387                                        unset( $line['_component_ref'], $line['_component_id'], $line['_france'], $line['_netherlands'], $line['_spain'], $line['_austria'], $line['_sales_units'], $line['_unit_weight_mg'], $line['_denmark'] );
    388388                                }
    389389                                unset( $line );
    … …  
    487487                $commercial_event_type = strtolower( $event_type );
    488488                $defaults              = \Brightfern\PPWR\Netherlands\Context::supply_defaults();
    489                 $event                 = array(
     489                $packaging             = array_map(
     490                        static fn( array $line ): array => array(
     491                                'component_ref'   => ( null === $line['order_item_id'] ? 'shipping' : (string) $line['order_item_id'] ) . ':' . ( $line['_component_ref'] ?? '' ),
     492                                'product_ref'     => (string) ( $line['product_ref'] ?? '' ),
     493                                'profile_uuid'    => $line['profile_uuid'],
     494                                'profile_version' => (int) $line['profile_version'],
     495                                'material'        => $line['material_code'],
     496                                'quantity'        => (int) $line['quantity'],
     497                                'weight_mg'       => (int) $line['weight_mg'],
     498                                'unit_weight_mg'  => (int) ( $line['_unit_weight_mg'] ?? $line['weight_mg'] ),
     499                                'category'        => $line['packaging_role'],
     500                                'netherlands'     => array_merge(
     501                                        array( 'packaging_function' => PackagingType::ECOMMERCE === $line['packaging_role'] ? 'shipment' : $line['packaging_role'] ),
     502                                        $line['_netherlands'] ?? array()
     503                                ),
     504                        ),
     505                        $ledger_lines
     506                );
     507                // Components saved under the same (or no) name share a key; the row id keeps each one classifiable.
     508                $references = array_count_values( array_column( $packaging, 'component_ref' ) );
     509                foreach ( $packaging as $index => $component ) {
     510                        if ( $references[ $component['component_ref'] ] > 1 ) {
     511                                $suffix    = '#' . (int) ( $ledger_lines[ $index ]['_component_id'] ?? 0 );
     512                                $reference = $component['component_ref'] . $suffix;
     513                                while ( isset( $references[ $reference ] ) ) {
     514                                        $reference .= $suffix;
     515                                }
     516                                $packaging[ $index ]['component_ref'] = $reference;
     517                                $references[ $reference ]             = 1;
     518                        }
     519                }
     520                $event = array(
    490521                        'source_identity'       => array(
    491522                                'order_ref'    => $order_ref,
    … …  
    505536                                'basis'            => 'merchant_default',
    506537                        ),
    507                         'packaging'             => array_map(
    508                                 static fn( array $line ): array => array(
    509                                         'component_ref'   => ( null === $line['order_item_id'] ? 'shipping' : (string) $line['order_item_id'] ) . ':' . ( $line['_component_ref'] ?? '' ),
    510                                         'product_ref'     => (string) ( $line['product_ref'] ?? '' ),
    511                                         'profile_uuid'    => $line['profile_uuid'],
    512                                         'profile_version' => (int) $line['profile_version'],
    513                                         'material'        => $line['material_code'],
    514                                         'quantity'        => (int) $line['quantity'],
    515                                         'weight_mg'       => (int) $line['weight_mg'],
    516                                         'unit_weight_mg'  => (int) ( $line['_unit_weight_mg'] ?? $line['weight_mg'] ),
    517                                         'category'        => $line['packaging_role'],
    518                                         'netherlands'     => array_merge(
    519                                                 array( 'packaging_function' => PackagingType::ECOMMERCE === $line['packaging_role'] ? 'shipment' : $line['packaging_role'] ),
    520                                                 $line['_netherlands'] ?? array()
    521                                         ),
    522                                 ),
    523                                 $ledger_lines
    524                         ),
     538                        'packaging'             => $packaging,
    525539                );
    526540                try {
    … …  
    599613                                        'profile_version' => (int) $resolved['profile']['version'],
    600614                                        '_component_ref'  => (string) ( $component['component_key'] ?? '' ) . ( $freeze_denmark ? '#' . $component['id'] : '' ),
     615                                        '_component_id'   => (int) $component['id'],
    601616                                        '_unit_weight_mg' => (int) $component['weight_mg'],
    602617                                        '_denmark'        => $freeze_denmark ? (string) ( $component['scheme_override_json'] ?? '' ) : null,
    … …  
    630645                                        'profile_version' => (int) $shipping['profile']['version'],
    631646                                        '_component_ref'  => (string) ( $component['component_key'] ?? '' ) . ( $freeze_denmark ? '#' . $component['id'] : '' ),
     647                                        '_component_id'   => (int) $component['id'],
    632648                                        '_unit_weight_mg' => (int) $component['weight_mg'],
    633649                                        '_denmark'        => $freeze_denmark ? (string) ( $component['scheme_override_json'] ?? '' ) : null,
  • ombel-packaging-records/tags/1.0.11/languages/ombel-packaging-records-nl_NL.po

    r3764769 r3765190  
    256256msgstr "Een gebruikte profielversie of de Deense componentgegevens ontbreken of zijn onbekend."
    257257
    258 #: includes/Woo/OrderSnapshotBuilder.php:683
     258#: includes/Woo/OrderSnapshotBuilder.php:693
    259259msgid "A valid destination country is required before recording packaging."
    260260msgstr "Een geldig bestemmingsland is vereist voordat verpakkingen kunnen worden geregistreerd."
    … …  
    320320msgstr "Nog een component toevoegen"
    321321
    322 #: includes/Repository/PackagingProfileRepository.php:118
     322#: includes/Repository/PackagingProfileRepository.php:127
    323323msgid "Add at least one material before activating this version."
    324324msgstr "Voeg minstens één materiaal toe voordat je deze versie activeert."
    … …  
    400400msgstr "Uitgebreide overgangsgegevens voor Duitsland"
    401401
    402 #: includes/Licensing/Capability.php:106
     402#: includes/Licensing/Capability.php:109
    403403msgid "Advanced audit history"
    404404msgstr "Uitgebreide controlehistorie"
    … …  
    424424msgstr "Alle materialen"
    425425
    426 #: includes/Packaging/PackagingCsv.php:424
     426#: includes/Packaging/PackagingCsv.php:431
    427427msgid "Already assigned to this profile."
    428428msgstr "Al toegewezen aan dit profiel."
    … …  
    432432msgstr "Al verzonden"
    433433
    434 #: includes/Admin/PackagingPage.php:1195
     434#: includes/Admin/PackagingPage.php:1196
    435435msgid "Also assign to product variations"
    436436msgstr "Ook toewijzen aan productvariaties"
    … …  
    489489msgstr "Een andere partij"
    490490
    491 #: includes/Admin/BelgiumPage.php:125
     491#: includes/Admin/BelgiumPage.php:130
    492492msgid "Answer facts about how you sell and package goods. Leave anything you do not know as “Not provided”; the plugin will not turn a guess into a legal conclusion."
    493493msgstr "Beantwoord vragen over hoe je goederen verkoopt en verpakt. Laat wat je niet weet op ‘Niet ingevuld’ staan; de plugin maakt van een aanname geen juridische conclusie."
    … …  
    513513msgstr "Vul eerst in waar je bedrijf is gevestigd; tot die tijd blijft dit open."
    514514
    515 #: includes/Admin/PackagingPage.php:1414
     515#: includes/Admin/PackagingPage.php:1415
    516516msgid "Applied"
    517517msgstr "Toegepast"
    … …  
    525525msgstr "Toegepaste versie van bedrijfscontext"
    526526
    527 #: includes/Admin/PackagingPage.php:1202
     527#: includes/Admin/PackagingPage.php:1203
    528528msgid "Apply in the background"
    529529msgstr "Op de achtergrond toepassen"
    530530
    531 #: includes/Admin/PackagingPage.php:1390
     531#: includes/Admin/PackagingPage.php:1391
    532532msgid "Apply this preview"
    533533msgstr "Deze voorvertoning toepassen"
    534534
    535 #: includes/Admin/PackagingPage.php:1385
     535#: includes/Admin/PackagingPage.php:1386
    536536msgid "Apply this preview without uploading again. It expires after 10 minutes and can be used once. Changed products, profiles or assignments require a new preview. Rows with errors will not be assigned."
    537537msgstr "Pas deze voorvertoning toe zonder opnieuw te uploaden. Deze verloopt na 10 minuten en kan één keer worden gebruikt. Gewijzigde producten, profielen of toewijzingen vereisen een nieuwe voorvertoning. Rijen met fouten worden niet toegewezen."
    … …  
    561561msgstr "Bewijs voor de beoordeling"
    562562
    563 #: includes/Packaging/PackagingCsv.php:469
     563#: includes/Packaging/PackagingCsv.php:476
    564564#, php-format
    565565msgid "Assign %s"
    … …  
    574574msgstr "In bulk toewijzen"
    575575
    576 #: includes/Admin/PackagingPage.php:1128
     576#: includes/Admin/PackagingPage.php:1129
    577577msgid "Assign packaging to many products at once"
    578578msgstr "Verpakking aan meerdere producten tegelijk toewijzen"
    … …  
    582582msgstr "Wijs verpakking toe aan de variatie, of aan het hoofdproduct zodat elke variatie deze overneemt."
    583583
    584 #: includes/Admin/PackagingPage.php:1286
     584#: includes/Admin/PackagingPage.php:1287
    585585msgid "Assigned"
    586586msgstr "Toegewezen"
    … …  
    670670msgstr "Voordat je in Denemarken rapporteert"
    671671
    672 #: includes/Admin/BelgiumPage.php:111
     672#: includes/Admin/BelgiumPage.php:116
    673673msgid "Belgian annual totals"
    674674msgstr "Belgische jaartotalen"
    … …  
    734734msgstr "Werk je LUCID-registratiegegevens bij"
    735735
    736 #: includes/Licensing/Capability.php:93
     736#: includes/Licensing/Capability.php:96
    737737msgid "Bulk packaging assignment"
    738738msgstr "Verpakkingen in bulk toewijzen"
    … …  
    762762msgstr "Bedrijven"
    763763
    764 #: includes/Admin/PackagingPage.php:1352
     764#: includes/Admin/PackagingPage.php:1353
    765765msgid "CSV file"
    766766msgstr "CSV-bestand"
    767767
    768 #: includes/Admin/PackagingPage.php:1398
     768#: includes/Admin/PackagingPage.php:1399
    769769msgid "CSV import result"
    770770msgstr "CSV-importresultaat"
    … …  
    778778msgstr "Berekend"
    779779
    780 #: includes/Admin/BelgiumPage.php:154
     780#: includes/Admin/BelgiumPage.php:159
    781781msgid "Calculation method"
    782782msgstr "Berekeningsmethode"
    … …  
    814814msgstr "Categorieën met ontbrekende gegevens"
    815815
    816 #: includes/Admin/PackagingPage.php:1166
     816#: includes/Admin/PackagingPage.php:1167
    817817msgid "Category or tag"
    818818msgstr "Categorie of tag"
    … …  
    908908msgstr "Gecontroleerd in het officiële register"
    909909
    910 #: includes/Admin/PackagingPage.php:1284
     910#: includes/Admin/PackagingPage.php:1285
    911911msgid "Checked selection"
    912912msgstr "Gecontroleerde selectie"
    … …  
    917917msgstr "Gecontroleerd. Je abonnement is: %s."
    918918
    919 #: includes/Admin/PackagingPage.php:1203
     919#: includes/Admin/PackagingPage.php:1204
    920920msgid "Choices changed. Preview again before applying."
    921921msgstr "De keuzes zijn gewijzigd. Bekijk opnieuw een voorvertoning voordat je toepast."
    … …  
    993993msgstr "Kies een voorbereidingsperiode binnen één kalenderjaar."
    994994
    995 #: includes/Packaging/BulkAssignment.php:94
     995#: includes/Packaging/BulkAssignment.php:98
    996996msgid "Choose a product category or tag."
    997997msgstr "Kies een productcategorie of tag."
     998
     999#: includes/Packaging/BulkAssignment.php:92 includes/Packaging/PackagingCsv.php:391
     1000msgid "Choose a product packaging profile. Shipping packaging is added once per order, not to products."
     1001msgstr "Kies een profiel voor productverpakking. Verzendverpakking wordt één keer per order toegevoegd, niet aan producten."
    9981002
    9991003#: includes/Admin/SwedenPage.php:63
    … …  
    11051109msgstr "Cloudabonnementen zijn nog niet ingesteld. De lokale administratie en CSV-exports blijven beschikbaar."
    11061110
    1107 #: includes/Admin/CloudPage.php:59 includes/Admin/Menu.php:138 includes/Admin/Menu.php:139 includes/Licensing/Capability.php:98
     1111#: includes/Admin/CloudPage.php:59 includes/Admin/Menu.php:138 includes/Admin/Menu.php:139 includes/Licensing/Capability.php:101
    11081112msgid "Cloud sync"
    11091113msgstr "Cloudsynchronisatie"
    … …  
    11171121msgstr "Cloudsynchronisatie is niet verbonden, dus de voorbereidingsweergave van de dienst kan niet worden gecontroleerd."
    11181122
     1123#: includes/Infrastructure/Cloud/CloudException.php:49
     1124msgid "Cloud sync is waiting for an active subscription. Local records remain queued and will retry after activation or renewal."
     1125msgstr "Cloudsynchronisatie wacht op een actief abonnement. Lokale records blijven in de wachtrij en worden na activering of verlenging opnieuw aangeboden."
     1126
    11191127#: includes/Admin/PackagingPage.php:1050 includes/Admin/PackagingPage.php:635 includes/Admin/PackagingPage.php:884 includes/Denmark/ComponentFacts.php:61
    11201128msgid "Commercial"
    … …  
    11491157msgstr "Volledigheid is niet vastgelegd voor deze historische order"
    11501158
    1151 #: includes/Licensing/Capability.php:94
     1159#: includes/Licensing/Capability.php:97
    11521160msgid "Compliance overview"
    11531161msgstr "Overzicht verpakkingsadministratie"
    11541162
    1155 #: includes/Admin/BelgiumPage.php:147
     1163#: includes/Admin/BelgiumPage.php:152
    11561164msgid "Compliance route"
    11571165msgstr "Route voor naleving"
    … …  
    14191427msgstr "Vestigingsland (twee hoofdletters)"
    14201428
    1421 #: includes/Licensing/Capability.php:101
     1429#: includes/Licensing/Capability.php:104
    14221430msgid "Country reports"
    14231431msgstr "Landrapporten"
    14241432
    1425 #: includes/Admin/PackagingPage.php:1233
     1433#: includes/Admin/PackagingPage.php:1234
    14261434msgid "Counts and sample are checked again before Apply. Background batches use the current catalogue; this preview does not freeze a product list. The preview expires after ten minutes and can be used once."
    14271435msgstr "Aantallen en steekproef worden vóór toepassen opnieuw gecontroleerd. Achtergrondbatches gebruiken de actuele catalogus; deze voorvertoning bevriest geen productlijst. De voorvertoning verloopt na tien minuten en kan één keer worden gebruikt."
    … …  
    14391447msgstr "Een verpakkingsprofiel aanmaken"
    14401448
    1441 #: includes/Admin/PackagingPage.php:1137
     1449#: includes/Admin/PackagingPage.php:1138
    14421450msgid "Create and activate a packaging profile first."
    14431451msgstr "Maak eerst een verpakkingsprofiel aan en activeer het."
    … …  
    14711479msgstr "Huidige productdekking voor verpakking"
    14721480
    1473 #: includes/Admin/BelgiumPage.php:108 includes/Admin/CountriesPage.php:152 includes/Admin/NetherlandsPreparationPage.php:261
     1481#: includes/Admin/BelgiumPage.php:113 includes/Admin/CountriesPage.php:152 includes/Admin/NetherlandsPreparationPage.php:261
    14741482msgid "Current results"
    14751483msgstr "Huidige resultaten"
    … …  
    14831491msgstr "Huidige versie"
    14841492
    1485 #: includes/Admin/PackagingPage.php:1245
     1493#: includes/Admin/PackagingPage.php:1246
    14861494msgid "Currently"
    14871495msgstr "Momenteel"
    … …  
    15271535msgstr "Gegevensvolledigheid"
    15281536
    1529 #: includes/Licensing/Capability.php:95
     1537#: includes/Licensing/Capability.php:98
    15301538msgid "Data completeness & missing data"
    15311539msgstr "Volledigheid en ontbrekende gegevens"
    … …  
    15551563msgstr "De plugin deactiveren"
    15561564
    1557 #: includes/Licensing/Capability.php:104
     1565#: includes/Licensing/Capability.php:107
    15581566msgid "Deadline tracking"
    15591567msgstr "Termijnen bijhouden"
    … …  
    15711579msgstr "Aangifte"
    15721580
    1573 #: includes/Admin/BelgiumPage.php:153
     1581#: includes/Admin/BelgiumPage.php:158
    15741582msgid "Declaration context"
    15751583msgstr "Aangiftecontext"
    … …  
    16551663msgstr "Statiegeldsysteem"
    16561664
    1657 #: includes/Admin/DeadlinesPage.php:125 includes/Admin/PackagingPage.php:1397
     1665#: includes/Admin/DeadlinesPage.php:125 includes/Admin/PackagingPage.php:1398
    16581666msgid "Detail"
    16591667msgstr "Detail"
    … …  
    16951703msgstr "Veranderde je producentrol rond de overgang in augustus 2026?"
    16961704
    1697 #: includes/Admin/BelgiumPage.php:155
     1705#: includes/Admin/BelgiumPage.php:160
    16981706msgid "Direct IVC system status"
    16991707msgstr "Directe IVC-systeemstatus"
    … …  
    17191727msgstr "Verbinding verbroken. Er zijn geen lokale gegevens verwijderd en je webshop blijft orders vastleggen zoals voorheen."
    17201728
    1721 #: includes/Admin/BelgiumPage.php:134
     1729#: includes/Admin/BelgiumPage.php:139
    17221730msgid "Do you add shipping packaging for Belgian orders?"
    17231731msgstr "Voeg je verzendverpakking toe aan Belgische orders?"
    17241732
    1725 #: includes/Admin/BelgiumPage.php:133
     1733#: includes/Admin/BelgiumPage.php:138
    17261734msgid "Do you import goods that are already packaged?"
    17271735msgstr "Importeer je goederen die al verpakt zijn?"
    … …  
    17311739msgstr "Verkoop je rechtstreeks aan eindgebruikers in Spanje?"
    17321740
    1733 #: includes/Admin/BelgiumPage.php:131
     1741#: includes/Admin/BelgiumPage.php:136
    17341742msgid "Do you sell packaged goods to Belgium?"
    17351743msgstr "Verkoop je verpakte goederen aan België?"
    17361744
    1737 #: includes/Admin/BelgiumPage.php:136
     1745#: includes/Admin/BelgiumPage.php:141
    17381746msgid "Do you sell to Belgian businesses that use the products themselves?"
    17391747msgstr "Verkoop je aan Belgische bedrijven die de producten zelf gebruiken?"
    17401748
    1741 #: includes/Admin/BelgiumPage.php:135
     1749#: includes/Admin/BelgiumPage.php:140
    17421750msgid "Do you sell to Belgian consumers?"
    17431751msgstr "Verkoop je aan Belgische consumenten?"
    17441752
    1745 #: includes/Admin/BelgiumPage.php:137
     1753#: includes/Admin/BelgiumPage.php:142
    17461754msgid "Do you sell to Belgian resellers?"
    17471755msgstr "Verkoop je aan Belgische wederverkopers?"
    … …  
    17511759msgstr "Verzend je zelf rechtstreeks naar Nederlandse klanten (verkoop op afstand), in plaats van via een Nederlandse importeur of wederverkoper?"
    17521760
    1753 #: includes/Admin/BelgiumPage.php:138
     1761#: includes/Admin/BelgiumPage.php:143
    17541762msgid "Do you use reusable packaging?"
    17551763msgstr "Gebruik je herbruikbare verpakking?"
    … …  
    17831791msgstr "Heeft je bedrijf een vestiging of andere inrichting in Nederland?"
    17841792
    1785 #: includes/Admin/BelgiumPage.php:132
     1793#: includes/Admin/BelgiumPage.php:137
    17861794msgid "Does your business have an establishment in Belgium?"
    17871795msgstr "Heeft je bedrijf een vestiging in België?"
    … …  
    18441852msgstr "Concept"
    18451853
    1846 #: includes/Admin/PackagingPage.php:1493
     1854#: includes/Admin/PackagingPage.php:1494
    18471855msgid "Draft — still editable"
    18481856msgstr "Concept — nog bewerkbaar"
    … …  
    19441952msgstr "Omgeving"
    19451953
    1946 #: includes/Admin/PackagingPage.php:1412
     1954#: includes/Admin/PackagingPage.php:1413
    19471955msgid "Error"
    19481956msgstr "Fout"
    … …  
    19561964msgstr "Gebeurtenissen met ontbrekende verpakking"
    19571965
    1958 #: includes/Admin/PackagingPage.php:1162 includes/Admin/PackagingPage.php:405
     1966#: includes/Admin/PackagingPage.php:1163 includes/Admin/PackagingPage.php:405
    19591967msgid "Every published product"
    19601968msgstr "Elk gepubliceerd product"
    … …  
    19761984msgstr "Bewijs"
    19771985
    1978 #: includes/Licensing/Capability.php:105
     1986#: includes/Licensing/Capability.php:108
    19791987msgid "Evidence archive"
    19801988msgstr "Bewijsarchief"
    … …  
    20082016msgstr "Voorbeeld — ‘Kleine pakketdoos’: kartonnen doos 115 g, papieren vulmateriaal 20 g, plastic tape 6 g. Totaal 141 g per order."
    20092017
    2010 #: includes/Admin/PackagingPage.php:1231
     2018#: includes/Admin/PackagingPage.php:1232
    20112019msgid "Existing assignments may be replaced. Already correct assignments are skipped."
    20122020msgstr "Bestaande toewijzingen kunnen worden vervangen. Toewijzingen die al juist zijn worden overgeslagen."
    20132021
    2014 #: includes/Admin/PackagingPage.php:1230
     2022#: includes/Admin/PackagingPage.php:1231
    20152023msgid "Existing packaging is left alone, including inherited packaging. Already correct assignments are skipped."
    20162024msgstr "Bestaande verpakking blijft behouden, ook overgenomen verpakking. Toewijzingen die al juist zijn worden overgeslagen."
    … …  
    20242032msgstr "Verlopen — werkt als Free"
    20252033
    2026 #: includes/Licensing/Capability.php:96
     2034#: includes/Licensing/Capability.php:99
    20272035msgid "Export your own data (CSV)"
    20282036msgstr "Je eigen gegevens exporteren (CSV)"
    20292037
    2030 #: includes/Admin/PackagingPage.php:1321
     2038#: includes/Admin/PackagingPage.php:1322
    20312039msgid "Export your packaging data"
    20322040msgstr "Je verpakkingsgegevens exporteren"
    … …  
    20442052msgstr "Bedrijfsgegevens die nodig zijn voor de Nederlandse verpakkingsregels. Alleen ter voorbereiding: dit is geen Verpact-registratie, aangifte, export of upload."
    20452053
    2046 #: includes/Admin/PackagingPage.php:1305 includes/Admin/PackagingPage.php:1412
     2054#: includes/Admin/PackagingPage.php:1306 includes/Admin/PackagingPage.php:1413
    20472055msgid "Failed"
    20482056msgstr "Mislukt"
    … …  
    20722080msgstr "Instellen afronden"
    20732081
    2074 #: includes/Admin/PackagingPage.php:1307
     2082#: includes/Admin/PackagingPage.php:1308
    20752083msgid "Finished"
    20762084msgstr "Afgerond"
    … …  
    22732281msgstr "Brutogewichten, vastgelegde verrekeningen en nettogewichten komen uit de verpakkingsadministratie. Ze zijn niet ingedeeld als Deense huishoudelijke of bedrijfsverpakkingen. De verrekeningen zijn niet gecontroleerd als aftrekposten voor Deense rapportages."
    22742282
    2275 #: includes/Admin/PackagingPage.php:1485
     2283#: includes/Admin/PackagingPage.php:1486
    22762284msgid "Grouped packaging"
    22772285msgstr "Groepsverpakking"
    … …  
    23012309msgstr "Heeft een autoriteit je om een volledigheidsverklaring gevraagd?"
    23022310
    2303 #: includes/Admin/PackagingPage.php:1256
     2311#: includes/Admin/PackagingPage.php:1257
    23042312msgid "Has packaging"
    23052313msgstr "Heeft verpakking"
    … …  
    23372345msgstr "Huishoudelijk en bedrijfsmatig verwijzen naar de opgegeven uiteindelijke afvalgebruiker, niet naar de naam van de koper of een zakelijke factuur. Dit zijn niet geverifieerde fysieke gewichten; de nationale rapportagebehandeling en de volledigheid van het bedrijfsvolume moeten nog worden beoordeeld."
    23382346
    2339 #: includes/Admin/BelgiumPage.php:145
     2347#: includes/Admin/BelgiumPage.php:150
    23402348msgid "Household packaging present"
    23412349msgstr "Huishoudelijke verpakking aanwezig"
    23422350
    2343 #: includes/Admin/BelgiumPage.php:148
     2351#: includes/Admin/BelgiumPage.php:153
    23442352msgid "Household route"
    23452353msgstr "Huishoudelijke route"
    … …  
    24132421msgstr "Import en export"
    24142422
    2415 #: includes/Admin/PackagingPage.php:1340
     2423#: includes/Admin/PackagingPage.php:1341
    24162424msgid "Import packaging assignments"
    24172425msgstr "Verpakkingstoewijzingen importeren"
    24182426
    2419 #: includes/Admin/PackagingPage.php:1374
     2427#: includes/Admin/PackagingPage.php:1375
    24202428msgid "Import results"
    24212429msgstr "Importresultaten"
    … …  
    24342442msgstr "Importeur"
    24352443
    2436 #: includes/Admin/PackagingPage.php:1494
     2444#: includes/Admin/PackagingPage.php:1495
    24372445msgid "In use"
    24382446msgstr "In gebruik"
    … …  
    24752483msgstr "Industrieel of bedrijfsmatig"
    24762484
    2477 #: includes/Admin/BelgiumPage.php:146
     2485#: includes/Admin/BelgiumPage.php:151
    24782486msgid "Industrial packaging present"
    24792487msgstr "Industriële verpakking aanwezig"
    24802488
    2481 #: includes/Admin/BelgiumPage.php:149
     2489#: includes/Admin/BelgiumPage.php:154
    24822490msgid "Industrial route"
    24832491msgstr "Industriële route"
    24842492
    2485 #: includes/Admin/BelgiumPage.php:114
     2493#: includes/Admin/BelgiumPage.php:119
    24862494msgid "Information status"
    24872495msgstr "Informatiestatus"
    … …  
    24962504msgstr "Beoogd gebruik"
    24972505
    2498 #: includes/Admin/BelgiumPage.php:118
     2506#: includes/Admin/BelgiumPage.php:123
    24992507msgid "Internal boundary status"
    25002508msgstr "Interne afbakeningsstatus"
    … …  
    25122520msgstr "Alleen interne voorbereiding. Officiële exports, indieningen, tarieven en automatische keuzes voor de rapportageroute zijn niet beschikbaar."
    25132521
    2514 #: includes/Admin/BelgiumPage.php:101
     2522#: includes/Admin/BelgiumPage.php:106
    25152523msgid "Internal readiness state"
    25162524msgstr "Interne gereedheidsstatus"
    … …  
    25202528msgstr "Interne redencodes"
    25212529
    2522 #: includes/Admin/BelgiumPage.php:101
     2530#: includes/Admin/BelgiumPage.php:106
    25232531msgid "Internal registration state"
    25242532msgstr "Interne registratiestatus"
    … …  
    25282536msgstr "Interne releasestatus"
    25292537
    2530 #: includes/Admin/BelgiumPage.php:101
     2538#: includes/Admin/BelgiumPage.php:106
    25312539msgid "Internal route state"
    25322540msgstr "Interne routestatus"
    … …  
    25682576msgstr "Item"
    25692577
    2570 #: includes/Admin/BelgiumPage.php:113
     2578#: includes/Admin/BelgiumPage.php:118
    25712579msgid "Known Belgian packaging"
    25722580msgstr "Bekende Belgische verpakking"
    … …  
    26422650msgstr "Laat dit op ‘niet bepaald’ staan totdat iemand het heeft gecontroleerd. De plugin doet geen aannames over je rol; bij een onbekende rol meldt hij wat niet bekend is."
    26432651
    2644 #: includes/Admin/PackagingPage.php:1287
     2652#: includes/Admin/PackagingPage.php:1288
    26452653msgid "Left alone"
    26462654msgstr "Ongewijzigd gelaten"
    … …  
    26742682msgstr "Beperkte ondersteuning voor voorbereiding van Belgische verpakkingen. Deze pagina dient niets in."
    26752683
    2676 #: includes/Admin/PackagingPage.php:1397
     2684#: includes/Admin/PackagingPage.php:1398
    26772685msgid "Line"
    26782686msgstr "Regel"
    … …  
    26862694msgstr "Lokale vastlegging voor Nederland staat uit voor nieuwe orders. Onderstaande resultaten (indien aanwezig) betreffen alleen orders die zijn vastgelegd vóór het uitschakelen."
    26872695
    2688 #: includes/Licensing/Capability.php:97
     2696#: includes/Licensing/Capability.php:100
    26892697msgid "Local audit log"
    26902698msgstr "Lokaal controlelogboek"
    … …  
    27182726msgstr "ONTBREEKT — achtergrondtaken kunnen niet worden uitgevoerd"
    27192727
    2720 #: includes/Licensing/Capability.php:99
     2728#: includes/Licensing/Capability.php:102
    27212729msgid "Maintained compliance rules"
    27222730msgstr "Onderhouden regels voor naleving"
    … …  
    27802788msgstr "Materialen in dit profiel"
    27812789
    2782 #: includes/Admin/BelgiumPage.php:110
     2790#: includes/Admin/BelgiumPage.php:115
    27832791msgid "Measure"
    27842792msgstr "Meten"
    … …  
    28522860msgstr "Maandabonnement afrekenen"
    28532861
    2854 #: includes/Admin/BelgiumPage.php:139
     2862#: includes/Admin/BelgiumPage.php:144
    28552863msgid "More Belgium preparation details"
    28562864msgstr "Meer voorbereidingsgegevens voor België"
    28572865
    2858 #: includes/Admin/BelgiumPage.php:116
     2866#: includes/Admin/BelgiumPage.php:121
    28592867msgid "More details"
    28602868msgstr "Meer details"
    … …  
    28802888msgstr "Toekomstige toewijzingen naar deze versie verplaatsen"
    28812889
    2882 #: includes/Licensing/Capability.php:100
     2890#: includes/Licensing/Capability.php:103
    28832891msgid "Multiple jurisdictions"
    28842892msgstr "Meerdere rechtsgebieden"
    … …  
    29282936msgstr "Aandacht nodig"
    29292937
    2930 #: includes/Admin/BelgiumPage.php:114 includes/Admin/BelgiumPage.php:95 includes/Admin/CountriesPage.php:267 includes/Admin/NetherlandsPreparationPage.php:372 includes/Admin/OverviewPage.php:466
     2938#: includes/Admin/BelgiumPage.php:100 includes/Admin/BelgiumPage.php:119 includes/Admin/CountriesPage.php:267 includes/Admin/NetherlandsPreparationPage.php:372 includes/Admin/OverviewPage.php:466
    29312939msgid "Needs information"
    29322940msgstr "Informatie nodig"
    … …  
    30613069msgstr "Nooit gecontroleerd bij de dienst"
    30623070
    3063 #: includes/Admin/PackagingPage.php:1196
     3071#: includes/Admin/PackagingPage.php:1197
    30643072msgid "Never overwrite packaging that is already assigned"
    30653073msgstr "Al toegewezen verpakking nooit overschrijven"
    … …  
    30813089msgstr "Nee"
    30823090
     3091#: includes/Admin/BelgiumPage.php:96
     3092msgid "No Belgian rule version applies to today's date, so readiness is not evaluated. Recorded totals remain available."
     3093msgstr "Voor de datum van vandaag geldt geen Belgische regelversie, dus de gereedheid wordt niet beoordeeld. Vastgelegde totalen blijven beschikbaar."
     3094
    30833095#: includes/Compliance/AbstractEprSchemeAdapter.php:82
    30843096msgid "No EPR registration number on file for this scheme; the export will be generated but is not filing-ready."
    … …  
    31703182msgstr "Er zijn nog geen orders voor dit land vastgelegd. Resultaten verschijnen nadat een WooCommerce-order je status voor verzending bereikt."
    31713183
    3172 #: includes/Admin/PackagingPage.php:1256
     3184#: includes/Admin/PackagingPage.php:1257
    31733185msgid "No packaging"
    31743186msgstr "Geen verpakking"
    … …  
    32503262msgstr "Er zijn nog geen taken afgeleid uit je regels. Gebruik hieronder ‘Mijn regels opnieuw controleren’, of verbind de cloudregeldienst als je dat nog niet hebt gedaan."
    32513263
    3252 #: includes/Admin/PackagingPage.php:1262
     3264#: includes/Admin/PackagingPage.php:1263
    32533265msgid "No — already correct"
    32543266msgstr "Nee — al juist"
    … …  
    33423354msgstr "Niet inbegrepen"
    33433355
    3344 #: includes/Admin/BelgiumPage.php:173 includes/Admin/NetherlandsPage.php:303 includes/Admin/NetherlandsPage.php:317 includes/Admin/NetherlandsPage.php:329 includes/Admin/NetherlandsPage.php:357 includes/Admin/NetherlandsPage.php:450 includes/Admin/PackagingPage.php:1044 includes/Admin/PackagingPage.php:637 includes/Admin/PackagingPage.php:878 includes/Admin/PackagingPage.php:922 includes/Admin/PackagingPage.php:963 includes/Admin/SpainPage.php:132 includes/Admin/SpainPage.php:256 includes/Austria/ComponentFacts.php:87 includes/Denmark/ComponentFacts.php:81
     3356#: includes/Admin/BelgiumPage.php:178 includes/Admin/NetherlandsPage.php:303 includes/Admin/NetherlandsPage.php:317 includes/Admin/NetherlandsPage.php:329 includes/Admin/NetherlandsPage.php:357 includes/Admin/NetherlandsPage.php:450 includes/Admin/PackagingPage.php:1044 includes/Admin/PackagingPage.php:637 includes/Admin/PackagingPage.php:878 includes/Admin/PackagingPage.php:922 includes/Admin/PackagingPage.php:963 includes/Admin/SpainPage.php:132 includes/Admin/SpainPage.php:256 includes/Austria/ComponentFacts.php:87 includes/Denmark/ComponentFacts.php:81
    33453357msgid "Not provided"
    33463358msgstr "Niet ingevuld"
    … …  
    33793391msgstr "Er is nog niets verstuurd."
    33803392
    3381 #: includes/Admin/PackagingPage.php:1153
     3393#: includes/Admin/PackagingPage.php:1154
    33823394msgid "Nothing is changed until you have seen a preview. Large selections run in the background so your browser is never waiting."
    33833395msgstr "Er wordt niets gewijzigd voordat je een voorvertoning hebt gezien. Grote selecties worden op de achtergrond verwerkt zodat je browser niet hoeft te wachten."
    … …  
    34593471msgstr "Officieel register gecontroleerd"
    34603472
    3461 #: includes/Licensing/Capability.php:102
     3473#: includes/Licensing/Capability.php:105
    34623474msgid "Official scheme export formats"
    34633475msgstr "Officiële exportformaten van het systeem"
    … …  
    34913503msgstr "Eén keer per jaar"
    34923504
    3493 #: includes/Admin/PackagingPage.php:1163
     3505#: includes/Admin/PackagingPage.php:1164
    34943506msgid "One category or tag"
    34953507msgstr "Eén categorie of tag"
    … …  
    34993511msgstr "Alleen .csv-bestanden kunnen worden geïmporteerd."
    35003512
    3501 #: includes/Repository/PackagingProfileRepository.php:114
     3513#: includes/Repository/PackagingProfileRepository.php:123
    35023514msgid "Only a draft packaging version can be activated."
    35033515msgstr "Alleen een conceptversie van een verpakking kan worden geactiveerd."
    … …  
    35233535msgstr "Alleen als je de clouddienst verbindt: een gepseudonimiseerde orderverwijzing, het bestemmingsland, verpakkingsmaterialen en gewichten, en versienummers. Nooit een klantnaam, e-mailadres, telefoonnummer of adres."
    35243536
    3525 #: includes/Admin/PackagingPage.php:1161
     3537#: includes/Admin/PackagingPage.php:1162
    35263538msgid "Only products with no packaging yet"
    35273539msgstr "Alleen producten zonder verpakking"
    … …  
    35553567msgstr "Het officiële register openen"
    35563568
    3557 #: includes/Admin/BelgiumPage.php:152
     3569#: includes/Admin/BelgiumPage.php:157
    35583570msgid "Optional PRO member reference"
    35593571msgstr "Optionele PRO-lidverwijzing"
    … …  
    35793591msgstr "Optioneel."
    35803592
    3581 #: includes/Admin/PackagingPage.php:1194
     3593#: includes/Admin/PackagingPage.php:1195
    35823594msgid "Options"
    35833595msgstr "Opties"
    … …  
    36513663msgstr "Andere bijzondere stroom"
    36523664
    3653 #: includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/NetherlandsPreparationPage.php:275 includes/Admin/PackagingPage.php:1397
     3665#: includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/NetherlandsPreparationPage.php:275 includes/Admin/PackagingPage.php:1398
    36543666msgid "Outcome"
    36553667msgstr "Resultaat"
    … …  
    36713683msgstr "Overzicht PPWR en EPR"
    36723684
    3673 #: includes/Admin/BelgiumPage.php:150
     3685#: includes/Admin/BelgiumPage.php:155
    36743686msgid "PPWR EPR representative"
    36753687msgstr "PPWR/EPR-vertegenwoordiger"
    … …  
    37283740msgstr "Verpakking dit jaar op de markt gebracht"
    37293741
    3730 #: includes/Admin/CloudPage.php:433 includes/Admin/PackagingPage.php:1180
     3742#: includes/Admin/CloudPage.php:433 includes/Admin/PackagingPage.php:1181
    37313743msgid "Packaging profile"
    37323744msgstr "Verpakkingsprofiel"
    … …  
    37363748msgstr "Verpakkingsprofiel niet gevonden."
    37373749
    3738 #: includes/Admin/PackagingPage.php:540 includes/Admin/PackagingPage.php:81 includes/Licensing/Capability.php:92
     3750#: includes/Admin/PackagingPage.php:540 includes/Admin/PackagingPage.php:81 includes/Licensing/Capability.php:95
    37393751msgid "Packaging profiles"
    37403752msgstr "Verpakkingsprofielen"
    37413753
    3742 #: includes/Admin/PackagingPage.php:1327
     3754#: includes/Admin/PackagingPage.php:1328
    37433755msgid "Packaging profiles and materials (CSV)"
    37443756msgstr "Verpakkingsprofielen en materialen (CSV)"
    … …  
    39263938msgstr "Een rapport voorbereiden bevriest je totalen voor die periode. Er wordt niets geüpload of ingediend; een technisch geldig bestand garandeert niet dat het systeem het accepteert."
    39273939
    3928 #: includes/Admin/PackagingPage.php:1201
     3940#: includes/Admin/PackagingPage.php:1202
    39293941msgid "Preview changes"
    39303942msgstr "Wijzigingen vooraf bekijken"
    … …  
    39433955msgstr "Versiemigratie vooraf bekijken"
    39443956
    3945 #: includes/Admin/PackagingPage.php:1220 includes/Admin/PackagingPage.php:1374
     3957#: includes/Admin/PackagingPage.php:1221 includes/Admin/PackagingPage.php:1375
    39463958msgid "Preview — nothing has been changed"
    39473959msgstr "Voorvertoning — er is niets gewijzigd"
    … …  
    39713983msgstr "Besloten bèta"
    39723984
    3973 #: includes/Admin/BelgiumPage.php:144
     3985#: includes/Admin/BelgiumPage.php:149
    39743986msgid "Private label context"
    39753987msgstr "Huismerkcontext"
    … …  
    40364048msgstr "Producenten die nieuw verplicht zijn onder § 6(1) Satz 1 en eerder niet verplicht waren, moeten de wettelijke datum voor nieuwe registratie gebruiken die in de ondertekende regels staat."
    40374049
    4038 #: includes/Admin/MissingDataPage.php:343 includes/Admin/PackagingPage.php:1245 includes/Admin/PackagingPage.php:1397 includes/Admin/PackagingPage.php:755
     4050#: includes/Admin/MissingDataPage.php:343 includes/Admin/PackagingPage.php:1246 includes/Admin/PackagingPage.php:1398 includes/Admin/PackagingPage.php:755
    40394051msgid "Product"
    40404052msgstr "Product"
    … …  
    40444056msgstr "Product- / verkoopverpakking"
    40454057
    4046 #: includes/Admin/OrderSyncStatusMetabox.php:113 includes/Admin/PackagingPage.php:1483 includes/Admin/PackagingPage.php:934 includes/Admin/ProductPackagingMetabox.php:255 includes/Admin/ProductPackagingMetabox.php:63 includes/Admin/SetupWizardPage.php:480 includes/Admin/SpainPage.php:120 includes/Admin/SpainPage.php:275 includes/Austria/ComponentFacts.php:81
     4058#: includes/Admin/OrderSyncStatusMetabox.php:113 includes/Admin/PackagingPage.php:1484 includes/Admin/PackagingPage.php:934 includes/Admin/ProductPackagingMetabox.php:255 includes/Admin/ProductPackagingMetabox.php:63 includes/Admin/SetupWizardPage.php:480 includes/Admin/SpainPage.php:120 includes/Admin/SpainPage.php:275 includes/Austria/ComponentFacts.php:81
    40474059msgid "Product packaging"
    40484060msgstr "Productverpakking"
    … …  
    40534065msgstr "Productverpakking ontbreekt voor orderregel #%d"
    40544066
    4055 #: includes/Admin/PackagingPage.php:1226
     4067#: includes/Admin/PackagingPage.php:1227
    40564068msgid "Product variations are excluded."
    40574069msgstr "Productvariaties zijn uitgesloten."
    40584070
    4059 #: includes/Admin/PackagingPage.php:1225
     4071#: includes/Admin/PackagingPage.php:1226
    40604072msgid "Product variations are included."
    40614073msgstr "Productvariaties zijn inbegrepen."
    40624074
    4063 #: includes/Admin/PackagingPage.php:1326
     4075#: includes/Admin/PackagingPage.php:1327
    40644076msgid "Products and their packaging (CSV)"
    40654077msgstr "Producten en hun verpakking (CSV)"
    … …  
    40854097msgstr "Profielen zonder bewijs"
    40864098
    4087 #: includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1285
     4099#: includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1286
    40884100msgid "Progress"
    40894101msgstr "Voortgang"
    … …  
    41574169msgstr "Leest je opgeslagen regels opnieuw en bouwt deze lijst opnieuw op. Alles wat je al hebt gemarkeerd blijft gemarkeerd."
    41584170
    4159 #: includes/Admin/BelgiumPage.php:114 includes/Admin/BelgiumPage.php:95 includes/Admin/NetherlandsPreparationPage.php:368 includes/Admin/NetherlandsPreparationPage.php:369 includes/Onboarding/OnboardingState.php:51
     4171#: includes/Admin/BelgiumPage.php:100 includes/Admin/BelgiumPage.php:119 includes/Admin/NetherlandsPreparationPage.php:368 includes/Admin/NetherlandsPreparationPage.php:369 includes/Onboarding/OnboardingState.php:51
    41604172msgid "Ready"
    41614173msgstr "Gereed"
    … …  
    41854197msgstr "Recente activiteit"
    41864198
    4187 #: includes/Admin/PackagingPage.php:1280
     4199#: includes/Admin/PackagingPage.php:1281
    41884200msgid "Recent bulk changes"
    41894201msgstr "Recente bulkwijzigingen"
    41904202
    4191 #: includes/Admin/PackagingPage.php:1290
     4203#: includes/Admin/PackagingPage.php:1291
    41924204msgid "Recent bulk packaging assignments"
    41934205msgstr "Recente bulktoewijzingen van verpakking"
    … …  
    44414453msgstr "Registratie opgeslagen. Voeg er nog een toe, of ga verder."
    44424454
    4443 #: includes/Licensing/Capability.php:103
     4455#: includes/Licensing/Capability.php:106
    44444456msgid "Registration verification"
    44454457msgstr "Registratiecontrole"
    … …  
    45434555msgstr "Rapportageroute"
    45444556
    4545 #: includes/Admin/BelgiumPage.php:151 includes/Admin/NetherlandsPreparationPage.php:113 includes/Admin/NetherlandsPreparationPage.php:457
     4557#: includes/Admin/BelgiumPage.php:156 includes/Admin/NetherlandsPreparationPage.php:113 includes/Admin/NetherlandsPreparationPage.php:457
    45464558msgid "Reporting year"
    45474559msgstr "Rapportagejaar"
    … …  
    45594571msgstr "Wederverkoper"
    45604572
    4561 #: includes/Admin/BelgiumPage.php:142
     4573#: includes/Admin/BelgiumPage.php:147
    45624574msgid "Responsible party type"
    45634575msgstr "Type verantwoordelijke partij"
    … …  
    45674579msgstr "Vingerafdruk van resultaat"
    45684580
    4569 #: includes/Admin/PackagingPage.php:1495
     4581#: includes/Admin/PackagingPage.php:1496
    45704582msgid "Retired"
    45714583msgstr "Ingetrokken"
    … …  
    47314743msgstr "Regels"
    47324744
    4733 #: includes/Admin/OverviewPage.php:380 includes/Admin/PackagingPage.php:1309
     4745#: includes/Admin/OverviewPage.php:380 includes/Admin/PackagingPage.php:1310
    47344746msgid "Running in the background"
    47354747msgstr "Wordt op de achtergrond uitgevoerd"
    47364748
    4737 #: includes/Admin/PackagingPage.php:1246
     4749#: includes/Admin/PackagingPage.php:1247
    47384750msgid "Sample of products this bulk assignment would touch"
    47394751msgstr "Steekproef van producten die deze bulktoewijzing zou wijzigen"
    … …  
    47434755msgstr "Opslaan"
    47444756
    4745 #: includes/Admin/BelgiumPage.php:157
     4757#: includes/Admin/BelgiumPage.php:162
    47464758msgid "Save Belgium information"
    47474759msgstr "Belgische informatie opslaan"
    … …  
    48554867msgstr "Geheime sleutel"
    48564868
    4857 #: includes/Admin/Notices.php:142 includes/Admin/PackagingPage.php:1440 includes/Admin/Request.php:54
     4869#: includes/Admin/Notices.php:142 includes/Admin/PackagingPage.php:1441 includes/Admin/Request.php:54
    48584870msgid "Security check failed. Please reload the page and try again."
    48594871msgstr "Beveiligingscontrole mislukt. Vernieuw de pagina en probeer opnieuw."
    … …  
    48754887msgstr "Kies een rapporttype"
    48764888
    4877 #: includes/Admin/BelgiumPage.php:184
     4889#: includes/Admin/BelgiumPage.php:189
    48784890msgid "Select every applicable type. This is neutral preparation data, not a claim about current portal requiredness."
    48794891msgstr "Selecteer elk toepasselijk type. Dit zijn neutrale voorbereidingsgegevens, geen uitspraak over wat het huidige portaal vereist."
    … …  
    49144926msgstr "Dienstadres"
    49154927
    4916 #: includes/Admin/PackagingPage.php:1487 includes/Admin/PackagingPage.php:893 includes/Admin/PackagingPage.php:937 includes/Austria/ComponentFacts.php:84
     4928#: includes/Admin/PackagingPage.php:1488 includes/Admin/PackagingPage.php:893 includes/Admin/PackagingPage.php:937 includes/Austria/ComponentFacts.php:84
    49174929msgid "Service packaging"
    49184930msgstr "Serviceverpakking"
    … …  
    49744986msgstr "De verzendkeuze is bevroren voor deze order. Latere wijzigingen herschrijven de vastgelegde verpakking niet. Correcties vereisen een afzonderlijke aanpassing met bewijs; deze keuzelijst kan die niet maken."
    49754987
    4976 #: includes/Admin/OrderSyncStatusMetabox.php:114 includes/Admin/PackagingPage.php:1484 includes/Admin/PackagingPage.php:935 includes/Admin/SetupWizardPage.php:481 includes/Austria/ComponentFacts.php:82
     4988#: includes/Admin/OrderSyncStatusMetabox.php:114 includes/Admin/PackagingPage.php:1485 includes/Admin/PackagingPage.php:935 includes/Admin/SetupWizardPage.php:481 includes/Austria/ComponentFacts.php:82
    49774989msgid "Shipping packaging"
    49784990msgstr "Verzendverpakking"
    … …  
    50315043msgstr "Voorlopig overslaan"
    50325044
    5033 #: includes/Admin/PackagingPage.php:1416
     5045#: includes/Admin/PackagingPage.php:1417
    50345046msgid "Skipped"
    50355047msgstr "Overgeslagen"
    … …  
    51355147msgstr "Beginnen met instellen"
    51365148
    5137 #: includes/Admin/PackagingPage.php:1283
     5149#: includes/Admin/PackagingPage.php:1284
    51385150msgid "Started (UTC)"
    51395151msgstr "Gestart (UTC)"
    … …  
    51475159msgstr "Toestand"
    51485160
    5149 #: includes/Admin/CloudPage.php:211 includes/Admin/CloudPage.php:386 includes/Admin/CountriesPage.php:142 includes/Admin/CountriesPage.php:248 includes/Admin/DeadlinesPage.php:121 includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/OverviewPage.php:310 includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1288 includes/Admin/PackagingPage.php:536 includes/Admin/RegistrationsPage.php:142 includes/Admin/ReportsPage.php:464 includes/Admin/SetupWizardPage.php:572
     5161#: includes/Admin/CloudPage.php:211 includes/Admin/CloudPage.php:386 includes/Admin/CountriesPage.php:142 includes/Admin/CountriesPage.php:248 includes/Admin/DeadlinesPage.php:121 includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/OverviewPage.php:310 includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1289 includes/Admin/PackagingPage.php:536 includes/Admin/RegistrationsPage.php:142 includes/Admin/ReportsPage.php:464 includes/Admin/SetupWizardPage.php:572
    51505162msgid "Status"
    51515163msgstr "Status"
    … …  
    52735285msgstr "Taakstatus"
    52745286
    5275 #: includes/Admin/BelgiumPage.php:100 includes/Admin/CountriesPage.php:178 includes/Admin/NetherlandsPage.php:253 includes/Admin/NetherlandsPreparationPage.php:453 includes/Admin/OrderSyncStatusMetabox.php:370
     5287#: includes/Admin/BelgiumPage.php:105 includes/Admin/CountriesPage.php:178 includes/Admin/NetherlandsPage.php:253 includes/Admin/NetherlandsPreparationPage.php:453 includes/Admin/OrderSyncStatusMetabox.php:370
    52765288msgid "Technical details"
    52775289msgstr "Technische details"
    … …  
    54535465msgstr "Gegevens die deze plugin niet zelfstandig uit je webshop kan afleiden."
    54545466
    5455 #: includes/Admin/PackagingPage.php:1369
     5467#: includes/Admin/PackagingPage.php:1370
    54565468msgid "The display language changed. Upload the CSV again to review its results in this language."
    54575469msgstr "De weergavetaal is gewijzigd. Upload de CSV opnieuw om de resultaten in deze taal te bekijken."
    … …  
    54895501msgstr "De eerste route betreft eenvoudige rechtstreekse verkoop van een Nederlands bedrijf aan Spaanse eindgebruikers. Andere handelsroutes vragen om een afzonderlijke beoordeling."
    54905502
    5491 #: includes/Admin/BelgiumPage.php:117
     5503#: includes/Admin/BelgiumPage.php:122
    54925504msgid "The internal boundary check uses 300 kg exactly. Incomplete data never confirms that a merchant is below it."
    54935505msgstr "De interne afbakeningscontrole gebruikt precies 300 kg. Onvolledige gegevens bevestigen nooit dat een gebruiker hieronder blijft."
    … …  
    55895601msgstr "De geselecteerde rapportageroute of ecomodulatie moet afzonderlijk worden beoordeeld."
    55905602
    5591 #: includes/Infrastructure/Cloud/CloudException.php:52
     5603#: includes/Infrastructure/Cloud/CloudException.php:55
    55925604msgid "The service could not complete the request. Please try again later or contact Brightfern."
    55935605msgstr "De dienst kon het verzoek niet afronden. Probeer later opnieuw of neem contact op met Brightfern."
    55945606
    5595 #: includes/Infrastructure/Cloud/CloudException.php:50
     5607#: includes/Infrastructure/Cloud/CloudException.php:53
    55965608msgid "The service could not validate the packaging record. Check the required fields and contact Brightfern with the error code."
    55975609msgstr "De dienst kon de verpakkingsgegevens niet valideren. Controleer de verplichte velden en neem contact op met Brightfern met de foutcode."
    … …  
    56095621msgstr "De dienst gaf geen geldig adres voor de betaalpagina van Freemius terug."
    56105622
    5611 #: includes/Infrastructure/Cloud/CloudException.php:51
     5623#: includes/Infrastructure/Cloud/CloudException.php:54
    56125624msgid "The service is busy. The plugin will retry later."
    56135625msgstr "De dienst is bezig. De plugin probeert het later opnieuw."
    56145626
    5615 #: includes/Infrastructure/Cloud/CloudException.php:49
     5627#: includes/Infrastructure/Cloud/CloudException.php:52
    56165628msgid "The service rejected this connection. Check the Store ID and matching Secret, then test again. Contact Brightfern if it continues."
    56175629msgstr "De dienst heeft deze verbinding geweigerd. Controleer het webshop-ID en de bijbehorende geheime sleutel en test opnieuw. Neem contact op met Brightfern als dit blijft gebeuren."
    … …  
    57065718msgstr "Deze aantallen registraties kunnen overlappen. Vastgelegde correctiegewichten blijven apart en worden niet aan een gebruiksgroep toegewezen of als Deense aftrek behandeld."
    57075719
    5708 #: includes/Admin/BelgiumPage.php:140
     5720#: includes/Admin/BelgiumPage.php:145
    57095721msgid "These extra fields preserve the existing preparation model. Complete them only when you already know the answer or have checked it with your adviser."
    57105722msgstr "Deze extra velden behouden het bestaande voorbereidingsmodel. Vul ze alleen in als je het antwoord al weet of met je adviseur hebt gecontroleerd."
    … …  
    58115823msgstr "Dit wordt alleen als gegeven vastgelegd. Of de drempel van 50.000 kg vervolgens per bedrijf of voor de gehele fiscale eenheid geldt, is niet vastgesteld in de bronnen. Bijbehorende plichten en de bijdrage blijven daarom onbekend totdat dit is vastgesteld."
    58125824
    5813 #: includes/Admin/PackagingPage.php:1322
     5825#: includes/Admin/PackagingPage.php:1323
    58145826msgid "This is your data. Exporting it is available on every plan."
    58155827msgstr "Dit zijn jouw gegevens. Exporteren is beschikbaar bij elk abonnement."
    … …  
    58355847msgstr "Deze oudere versie heeft geen vastgelegde koppeling naar een voorganger. De relatie kan niet veilig uit de naam worden afgeleid. Bestaande toewijzingen blijven ongewijzigd; gebruik de gewone voorvertoning voor producttoewijzingen om expliciet producten te selecteren."
    58365848
    5837 #: includes/Packaging/PackagingCsv.php:451
     5849#: includes/Packaging/PackagingCsv.php:458
    58385850msgid "This packaging assignment could not be saved. Retry this row."
    58395851msgstr "Deze verpakkingstoewijzing kon niet worden opgeslagen. Probeer deze rij opnieuw."
    … …  
    58835895msgstr "Deze voorvertoning is al gebruikt. Bekijk opnieuw een voorvertoning."
    58845896
    5885 #: includes/Admin/PackagingPage.php:1393
     5897#: includes/Admin/PackagingPage.php:1394
    58865898msgid "This preview is no longer available to apply. Upload the CSV to preview it again."
    58875899msgstr "Deze voorvertoning kan niet meer worden toegepast. Upload de CSV om opnieuw een voorvertoning te bekijken."
    … …  
    58915903msgstr "Deze voorvertoning is te groot om op te slaan. Splits de CSV in kleinere bestanden."
    58925904
    5893 #: includes/Packaging/PackagingCsv.php:399
     5905#: includes/Packaging/PackagingCsv.php:406
    58945906msgid "This profile changed after the preview and the row was left unchanged. Preview it again."
    58955907msgstr "Dit profiel is na de voorvertoning gewijzigd en de rij is ongewijzigd gelaten. Bekijk opnieuw een voorvertoning."
    … …  
    59075919msgstr "Dit rapport corrigeert een eerder rapport over dezelfde periode."
    59085920
    5909 #: includes/Packaging/PackagingCsv.php:413 includes/Packaging/PackagingCsv.php:445
     5921#: includes/Packaging/PackagingCsv.php:420 includes/Packaging/PackagingCsv.php:452
    59105922msgid "This row changed after the preview and was left unchanged. Preview it again."
    59115923msgstr "Deze rij is na de voorvertoning gewijzigd en ongewijzigd gelaten. Bekijk opnieuw een voorvertoning."
    … …  
    59315943msgstr "Deze selectie heeft geen bijbehorende ongebruikte voorvertoning. Bekijk de huidige keuzes vooraf voordat je ze toepast."
    59325944
    5933 #: includes/Admin/PackagingPage.php:1238
     5945#: includes/Admin/PackagingPage.php:1239
    59345946#, php-format
    59355947msgid "This selection matches %1$s products and %2$s variations."
    … …  
    60266038msgstr "Totalen zijn voor deze periode bevroren vanuit je register."
    60276039
    6028 #: includes/Admin/PackagingPage.php:1486 includes/Admin/PackagingPage.php:936 includes/Austria/ComponentFacts.php:83
     6040#: includes/Admin/PackagingPage.php:1487 includes/Admin/PackagingPage.php:936 includes/Austria/ComponentFacts.php:83
    60296041msgid "Transport packaging"
    60306042msgstr "Transportverpakking"
    … …  
    60696081msgstr "Onbekend probleemtype."
    60706082
    6071 #: includes/Repository/PackagingProfileRepository.php:185
     6083#: includes/Repository/PackagingProfileRepository.php:194
    60726084#, php-format
    60736085msgid "Unknown packaging profile: %d"
    … …  
    61086120msgstr "Verbinding bijwerken"
    61096121
    6110 #: includes/Admin/PackagingPage.php:1354
     6122#: includes/Admin/PackagingPage.php:1355
    61116123msgid "Upload and preview"
    61126124msgstr "Uploaden en vooraf bekijken"
    61136125
    6114 #: includes/Admin/PackagingPage.php:1344
     6126#: includes/Admin/PackagingPage.php:1345
    61156127#, php-format
    61166128msgid "Upload the assignments CSV after editing it. Columns: product_id or sku, plus profile_uuid or profile_name. Up to %d rows per file."
    … …  
    62056217msgstr "Validatie mislukt"
    62066218
    6207 #: includes/Admin/BelgiumPage.php:143
     6219#: includes/Admin/BelgiumPage.php:148
    62086220msgid "Valipac responsibility types"
    62096221msgstr "Valipac-verantwoordelijkheidstypen"
    62106222
    6211 #: includes/Admin/BelgiumPage.php:110 includes/Admin/DiagnosticsPage.php:44 includes/Admin/NetherlandsPreparationPage.php:265
     6223#: includes/Admin/BelgiumPage.php:115 includes/Admin/DiagnosticsPage.php:44 includes/Admin/NetherlandsPreparationPage.php:265
    62126224msgid "Value"
    62136225msgstr "Waarde"
    … …  
    62826294msgstr "Wacht op verzending"
    62836295
    6284 #: includes/Admin/BelgiumPage.php:99
     6296#: includes/Admin/BelgiumPage.php:104
    62856297msgid "We prepare an internal control sheet for manual review. Official export and automatic upload remain unavailable."
    62866298msgstr "We bereiden een intern controleblad voor dat je zelf kunt beoordelen. Officiële export en automatische upload blijven niet beschikbaar."
    … …  
    64066418msgstr "Waar verkoop je?"
    64076419
    6408 #: includes/Admin/BelgiumPage.php:130
     6420#: includes/Admin/BelgiumPage.php:135
    64096421msgid "Where is your business established? (country code)"
    64106422msgstr "Waar is je bedrijf gevestigd? (landcode)"
    … …  
    64356447msgstr "Of deze voortzetting geldt, kan niet worden bepaald. Het wettelijke maximum is %s, behoudens afwijkende particuliere afspraken. Dit is geen contractgarantie of indieningstermijn."
    64366448
    6437 #: includes/Admin/PackagingPage.php:1160
     6449#: includes/Admin/PackagingPage.php:1161
    64386450msgid "Which products"
    64396451msgstr "Welke producten"
    … …  
    64796491msgstr "WordPress"
    64806492
    6481 #: includes/Admin/PackagingPage.php:1414
     6493#: includes/Admin/PackagingPage.php:1415
    64826494msgid "Would assign"
    64836495msgstr "Zou toewijzen"
    64846496
    6485 #: includes/Admin/PackagingPage.php:1245
     6497#: includes/Admin/PackagingPage.php:1246
    64866498msgid "Would change"
    64876499msgstr "Zou wijzigen"
    64886500
    6489 #: includes/Admin/PackagingPage.php:1416
     6501#: includes/Admin/PackagingPage.php:1417
    64906502msgid "Would skip"
    64916503msgstr "Zou overslaan"
    … …  
    65076519msgstr "Jaarabonnement afrekenen"
    65086520
    6509 #: includes/Admin/DenmarkContextForm.php:190 includes/Admin/NetherlandsPage.php:451 includes/Admin/NetherlandsPreparationPage.php:329 includes/Admin/PackagingPage.php:1260 includes/Admin/PackagingPage.php:819 includes/Admin/PackagingPage.php:965 includes/Admin/SettingsPage.php:202 includes/Admin/SettingsPage.php:334 includes/Admin/SpainPage.php:257
     6521#: includes/Admin/DenmarkContextForm.php:190 includes/Admin/NetherlandsPage.php:451 includes/Admin/NetherlandsPreparationPage.php:329 includes/Admin/PackagingPage.php:1261 includes/Admin/PackagingPage.php:819 includes/Admin/PackagingPage.php:965 includes/Admin/SettingsPage.php:202 includes/Admin/SettingsPage.php:334 includes/Admin/SpainPage.php:257
    65106522msgid "Yes"
    65116523msgstr "Ja"
    … …  
    65436555msgstr "Je hebt geen toestemming om rapporten te exporteren."
    65446556
    6545 #: includes/Admin/PackagingPage.php:1434
     6557#: includes/Admin/PackagingPage.php:1435
    65466558msgid "You do not have permission to export this data."
    65476559msgstr "Je hebt geen toestemming om deze gegevens te exporteren."
    … …  
    65646576msgstr "Je hebt bevestigingsverwijzing %s vastgelegd. Deze plugin heeft niets namens jou ingediend."
    65656577
    6566 #: includes/Admin/BelgiumPage.php:124
     6578#: includes/Admin/BelgiumPage.php:129
    65676579msgid "Your Belgium information"
    65686580msgstr "Je Belgische informatie"
    … …  
    68416853msgstr "— Geen —"
    68426854
    6843 #: includes/Admin/PackagingPage.php:1167
     6855#: includes/Admin/PackagingPage.php:1168
    68446856msgid "— Not applicable —"
    68456857msgstr "— Niet van toepassing —"
  • ombel-packaging-records/tags/1.0.11/languages/ombel-packaging-records.pot

    r3764769 r3765190  
    256256msgstr ""
    257257
    258 #: includes/Woo/OrderSnapshotBuilder.php:683
     258#: includes/Woo/OrderSnapshotBuilder.php:693
    259259msgid "A valid destination country is required before recording packaging."
    260260msgstr ""
    … …  
    320320msgstr ""
    321321
    322 #: includes/Repository/PackagingProfileRepository.php:118
     322#: includes/Repository/PackagingProfileRepository.php:127
    323323msgid "Add at least one material before activating this version."
    324324msgstr ""
    … …  
    400400msgstr ""
    401401
    402 #: includes/Licensing/Capability.php:106
     402#: includes/Licensing/Capability.php:109
    403403msgid "Advanced audit history"
    404404msgstr ""
    … …  
    424424msgstr ""
    425425
    426 #: includes/Packaging/PackagingCsv.php:424
     426#: includes/Packaging/PackagingCsv.php:431
    427427msgid "Already assigned to this profile."
    428428msgstr ""
    … …  
    432432msgstr ""
    433433
    434 #: includes/Admin/PackagingPage.php:1195
     434#: includes/Admin/PackagingPage.php:1196
    435435msgid "Also assign to product variations"
    436436msgstr ""
    … …  
    489489msgstr ""
    490490
    491 #: includes/Admin/BelgiumPage.php:125
     491#: includes/Admin/BelgiumPage.php:130
    492492msgid "Answer facts about how you sell and package goods. Leave anything you do not know as “Not provided”; the plugin will not turn a guess into a legal conclusion."
    493493msgstr ""
    … …  
    513513msgstr ""
    514514
    515 #: includes/Admin/PackagingPage.php:1414
     515#: includes/Admin/PackagingPage.php:1415
    516516msgid "Applied"
    517517msgstr ""
    … …  
    525525msgstr ""
    526526
    527 #: includes/Admin/PackagingPage.php:1202
     527#: includes/Admin/PackagingPage.php:1203
    528528msgid "Apply in the background"
    529529msgstr ""
    530530
    531 #: includes/Admin/PackagingPage.php:1390
     531#: includes/Admin/PackagingPage.php:1391
    532532msgid "Apply this preview"
    533533msgstr ""
    534534
    535 #: includes/Admin/PackagingPage.php:1385
     535#: includes/Admin/PackagingPage.php:1386
    536536msgid "Apply this preview without uploading again. It expires after 10 minutes and can be used once. Changed products, profiles or assignments require a new preview. Rows with errors will not be assigned."
    537537msgstr ""
    … …  
    561561msgstr ""
    562562
    563 #: includes/Packaging/PackagingCsv.php:469
     563#: includes/Packaging/PackagingCsv.php:476
    564564#, php-format
    565565msgid "Assign %s"
    … …  
    574574msgstr ""
    575575
    576 #: includes/Admin/PackagingPage.php:1128
     576#: includes/Admin/PackagingPage.php:1129
    577577msgid "Assign packaging to many products at once"
    578578msgstr ""
    … …  
    582582msgstr ""
    583583
    584 #: includes/Admin/PackagingPage.php:1286
     584#: includes/Admin/PackagingPage.php:1287
    585585msgid "Assigned"
    586586msgstr ""
    … …  
    670670msgstr ""
    671671
    672 #: includes/Admin/BelgiumPage.php:111
     672#: includes/Admin/BelgiumPage.php:116
    673673msgid "Belgian annual totals"
    674674msgstr ""
    … …  
    734734msgstr ""
    735735
    736 #: includes/Licensing/Capability.php:93
     736#: includes/Licensing/Capability.php:96
    737737msgid "Bulk packaging assignment"
    738738msgstr ""
    … …  
    762762msgstr ""
    763763
    764 #: includes/Admin/PackagingPage.php:1352
     764#: includes/Admin/PackagingPage.php:1353
    765765msgid "CSV file"
    766766msgstr ""
    767767
    768 #: includes/Admin/PackagingPage.php:1398
     768#: includes/Admin/PackagingPage.php:1399
    769769msgid "CSV import result"
    770770msgstr ""
    … …  
    778778msgstr ""
    779779
    780 #: includes/Admin/BelgiumPage.php:154
     780#: includes/Admin/BelgiumPage.php:159
    781781msgid "Calculation method"
    782782msgstr ""
    … …  
    814814msgstr ""
    815815
    816 #: includes/Admin/PackagingPage.php:1166
     816#: includes/Admin/PackagingPage.php:1167
    817817msgid "Category or tag"
    818818msgstr ""
    … …  
    908908msgstr ""
    909909
    910 #: includes/Admin/PackagingPage.php:1284
     910#: includes/Admin/PackagingPage.php:1285
    911911msgid "Checked selection"
    912912msgstr ""
    … …  
    917917msgstr ""
    918918
    919 #: includes/Admin/PackagingPage.php:1203
     919#: includes/Admin/PackagingPage.php:1204
    920920msgid "Choices changed. Preview again before applying."
    921921msgstr ""
    … …  
    993993msgstr ""
    994994
    995 #: includes/Packaging/BulkAssignment.php:94
     995#: includes/Packaging/BulkAssignment.php:98
    996996msgid "Choose a product category or tag."
     997msgstr ""
     998
     999#: includes/Packaging/BulkAssignment.php:92 includes/Packaging/PackagingCsv.php:391
     1000msgid "Choose a product packaging profile. Shipping packaging is added once per order, not to products."
    9971001msgstr ""
    9981002
    … …  
    11051109msgstr ""
    11061110
    1107 #: includes/Admin/CloudPage.php:59 includes/Admin/Menu.php:138 includes/Admin/Menu.php:139 includes/Licensing/Capability.php:98
     1111#: includes/Admin/CloudPage.php:59 includes/Admin/Menu.php:138 includes/Admin/Menu.php:139 includes/Licensing/Capability.php:101
    11081112msgid "Cloud sync"
    11091113msgstr ""
    … …  
    11171121msgstr ""
    11181122
     1123#: includes/Infrastructure/Cloud/CloudException.php:49
     1124msgid "Cloud sync is waiting for an active subscription. Local records remain queued and will retry after activation or renewal."
     1125msgstr ""
     1126
    11191127#: includes/Admin/PackagingPage.php:1050 includes/Admin/PackagingPage.php:635 includes/Admin/PackagingPage.php:884 includes/Denmark/ComponentFacts.php:61
    11201128msgid "Commercial"
    … …  
    11491157msgstr ""
    11501158
    1151 #: includes/Licensing/Capability.php:94
     1159#: includes/Licensing/Capability.php:97
    11521160msgid "Compliance overview"
    11531161msgstr ""
    11541162
    1155 #: includes/Admin/BelgiumPage.php:147
     1163#: includes/Admin/BelgiumPage.php:152
    11561164msgid "Compliance route"
    11571165msgstr ""
    … …  
    14191427msgstr ""
    14201428
    1421 #: includes/Licensing/Capability.php:101
     1429#: includes/Licensing/Capability.php:104
    14221430msgid "Country reports"
    14231431msgstr ""
    14241432
    1425 #: includes/Admin/PackagingPage.php:1233
     1433#: includes/Admin/PackagingPage.php:1234
    14261434msgid "Counts and sample are checked again before Apply. Background batches use the current catalogue; this preview does not freeze a product list. The preview expires after ten minutes and can be used once."
    14271435msgstr ""
    … …  
    14391447msgstr ""
    14401448
    1441 #: includes/Admin/PackagingPage.php:1137
     1449#: includes/Admin/PackagingPage.php:1138
    14421450msgid "Create and activate a packaging profile first."
    14431451msgstr ""
    … …  
    14711479msgstr ""
    14721480
    1473 #: includes/Admin/BelgiumPage.php:108 includes/Admin/CountriesPage.php:152 includes/Admin/NetherlandsPreparationPage.php:261
     1481#: includes/Admin/BelgiumPage.php:113 includes/Admin/CountriesPage.php:152 includes/Admin/NetherlandsPreparationPage.php:261
    14741482msgid "Current results"
    14751483msgstr ""
    … …  
    14831491msgstr ""
    14841492
    1485 #: includes/Admin/PackagingPage.php:1245
     1493#: includes/Admin/PackagingPage.php:1246
    14861494msgid "Currently"
    14871495msgstr ""
    … …  
    15271535msgstr ""
    15281536
    1529 #: includes/Licensing/Capability.php:95
     1537#: includes/Licensing/Capability.php:98
    15301538msgid "Data completeness & missing data"
    15311539msgstr ""
    … …  
    15551563msgstr ""
    15561564
    1557 #: includes/Licensing/Capability.php:104
     1565#: includes/Licensing/Capability.php:107
    15581566msgid "Deadline tracking"
    15591567msgstr ""
    … …  
    15711579msgstr ""
    15721580
    1573 #: includes/Admin/BelgiumPage.php:153
     1581#: includes/Admin/BelgiumPage.php:158
    15741582msgid "Declaration context"
    15751583msgstr ""
    … …  
    16551663msgstr ""
    16561664
    1657 #: includes/Admin/DeadlinesPage.php:125 includes/Admin/PackagingPage.php:1397
     1665#: includes/Admin/DeadlinesPage.php:125 includes/Admin/PackagingPage.php:1398
    16581666msgid "Detail"
    16591667msgstr ""
    … …  
    16951703msgstr ""
    16961704
    1697 #: includes/Admin/BelgiumPage.php:155
     1705#: includes/Admin/BelgiumPage.php:160
    16981706msgid "Direct IVC system status"
    16991707msgstr ""
    … …  
    17191727msgstr ""
    17201728
    1721 #: includes/Admin/BelgiumPage.php:134
     1729#: includes/Admin/BelgiumPage.php:139
    17221730msgid "Do you add shipping packaging for Belgian orders?"
    17231731msgstr ""
    17241732
    1725 #: includes/Admin/BelgiumPage.php:133
     1733#: includes/Admin/BelgiumPage.php:138
    17261734msgid "Do you import goods that are already packaged?"
    17271735msgstr ""
    … …  
    17311739msgstr ""
    17321740
    1733 #: includes/Admin/BelgiumPage.php:131
     1741#: includes/Admin/BelgiumPage.php:136
    17341742msgid "Do you sell packaged goods to Belgium?"
    17351743msgstr ""
    17361744
    1737 #: includes/Admin/BelgiumPage.php:136
     1745#: includes/Admin/BelgiumPage.php:141
    17381746msgid "Do you sell to Belgian businesses that use the products themselves?"
    17391747msgstr ""
    17401748
    1741 #: includes/Admin/BelgiumPage.php:135
     1749#: includes/Admin/BelgiumPage.php:140
    17421750msgid "Do you sell to Belgian consumers?"
    17431751msgstr ""
    17441752
    1745 #: includes/Admin/BelgiumPage.php:137
     1753#: includes/Admin/BelgiumPage.php:142
    17461754msgid "Do you sell to Belgian resellers?"
    17471755msgstr ""
    … …  
    17511759msgstr ""
    17521760
    1753 #: includes/Admin/BelgiumPage.php:138
     1761#: includes/Admin/BelgiumPage.php:143
    17541762msgid "Do you use reusable packaging?"
    17551763msgstr ""
    … …  
    17831791msgstr ""
    17841792
    1785 #: includes/Admin/BelgiumPage.php:132
     1793#: includes/Admin/BelgiumPage.php:137
    17861794msgid "Does your business have an establishment in Belgium?"
    17871795msgstr ""
    … …  
    18441852msgstr ""
    18451853
    1846 #: includes/Admin/PackagingPage.php:1493
     1854#: includes/Admin/PackagingPage.php:1494
    18471855msgid "Draft — still editable"
    18481856msgstr ""
    … …  
    19441952msgstr ""
    19451953
    1946 #: includes/Admin/PackagingPage.php:1412
     1954#: includes/Admin/PackagingPage.php:1413
    19471955msgid "Error"
    19481956msgstr ""
    … …  
    19561964msgstr ""
    19571965
    1958 #: includes/Admin/PackagingPage.php:1162 includes/Admin/PackagingPage.php:405
     1966#: includes/Admin/PackagingPage.php:1163 includes/Admin/PackagingPage.php:405
    19591967msgid "Every published product"
    19601968msgstr ""
    … …  
    19761984msgstr ""
    19771985
    1978 #: includes/Licensing/Capability.php:105
     1986#: includes/Licensing/Capability.php:108
    19791987msgid "Evidence archive"
    19801988msgstr ""
    … …  
    20082016msgstr ""
    20092017
     2018#: includes/Admin/PackagingPage.php:1232
     2019msgid "Existing assignments may be replaced. Already correct assignments are skipped."
     2020msgstr ""
     2021
    20102022#: includes/Admin/PackagingPage.php:1231
    2011 msgid "Existing assignments may be replaced. Already correct assignments are skipped."
    2012 msgstr ""
    2013 
    2014 #: includes/Admin/PackagingPage.php:1230
    20152023msgid "Existing packaging is left alone, including inherited packaging. Already correct assignments are skipped."
    20162024msgstr ""
    … …  
    20242032msgstr ""
    20252033
    2026 #: includes/Licensing/Capability.php:96
     2034#: includes/Licensing/Capability.php:99
    20272035msgid "Export your own data (CSV)"
    20282036msgstr ""
    20292037
    2030 #: includes/Admin/PackagingPage.php:1321
     2038#: includes/Admin/PackagingPage.php:1322
    20312039msgid "Export your packaging data"
    20322040msgstr ""
    … …  
    20442052msgstr ""
    20452053
    2046 #: includes/Admin/PackagingPage.php:1305 includes/Admin/PackagingPage.php:1412
     2054#: includes/Admin/PackagingPage.php:1306 includes/Admin/PackagingPage.php:1413
    20472055msgid "Failed"
    20482056msgstr ""
    … …  
    20722080msgstr ""
    20732081
    2074 #: includes/Admin/PackagingPage.php:1307
     2082#: includes/Admin/PackagingPage.php:1308
    20752083msgid "Finished"
    20762084msgstr ""
    … …  
    22732281msgstr ""
    22742282
    2275 #: includes/Admin/PackagingPage.php:1485
     2283#: includes/Admin/PackagingPage.php:1486
    22762284msgid "Grouped packaging"
    22772285msgstr ""
    … …  
    23012309msgstr ""
    23022310
    2303 #: includes/Admin/PackagingPage.php:1256
     2311#: includes/Admin/PackagingPage.php:1257
    23042312msgid "Has packaging"
    23052313msgstr ""
    … …  
    23372345msgstr ""
    23382346
    2339 #: includes/Admin/BelgiumPage.php:145
     2347#: includes/Admin/BelgiumPage.php:150
    23402348msgid "Household packaging present"
    23412349msgstr ""
    23422350
    2343 #: includes/Admin/BelgiumPage.php:148
     2351#: includes/Admin/BelgiumPage.php:153
    23442352msgid "Household route"
    23452353msgstr ""
    … …  
    24132421msgstr ""
    24142422
    2415 #: includes/Admin/PackagingPage.php:1340
     2423#: includes/Admin/PackagingPage.php:1341
    24162424msgid "Import packaging assignments"
    24172425msgstr ""
    24182426
    2419 #: includes/Admin/PackagingPage.php:1374
     2427#: includes/Admin/PackagingPage.php:1375
    24202428msgid "Import results"
    24212429msgstr ""
    … …  
    24342442msgstr ""
    24352443
    2436 #: includes/Admin/PackagingPage.php:1494
     2444#: includes/Admin/PackagingPage.php:1495
    24372445msgid "In use"
    24382446msgstr ""
    … …  
    24752483msgstr ""
    24762484
    2477 #: includes/Admin/BelgiumPage.php:146
     2485#: includes/Admin/BelgiumPage.php:151
    24782486msgid "Industrial packaging present"
    24792487msgstr ""
    24802488
    2481 #: includes/Admin/BelgiumPage.php:149
     2489#: includes/Admin/BelgiumPage.php:154
    24822490msgid "Industrial route"
    24832491msgstr ""
    24842492
    2485 #: includes/Admin/BelgiumPage.php:114
     2493#: includes/Admin/BelgiumPage.php:119
    24862494msgid "Information status"
    24872495msgstr ""
    … …  
    24962504msgstr ""
    24972505
    2498 #: includes/Admin/BelgiumPage.php:118
     2506#: includes/Admin/BelgiumPage.php:123
    24992507msgid "Internal boundary status"
    25002508msgstr ""
    … …  
    25122520msgstr ""
    25132521
    2514 #: includes/Admin/BelgiumPage.php:101
     2522#: includes/Admin/BelgiumPage.php:106
    25152523msgid "Internal readiness state"
    25162524msgstr ""
    … …  
    25202528msgstr ""
    25212529
    2522 #: includes/Admin/BelgiumPage.php:101
     2530#: includes/Admin/BelgiumPage.php:106
    25232531msgid "Internal registration state"
    25242532msgstr ""
    … …  
    25282536msgstr ""
    25292537
    2530 #: includes/Admin/BelgiumPage.php:101
     2538#: includes/Admin/BelgiumPage.php:106
    25312539msgid "Internal route state"
    25322540msgstr ""
    … …  
    25682576msgstr ""
    25692577
    2570 #: includes/Admin/BelgiumPage.php:113
     2578#: includes/Admin/BelgiumPage.php:118
    25712579msgid "Known Belgian packaging"
    25722580msgstr ""
    … …  
    26422650msgstr ""
    26432651
    2644 #: includes/Admin/PackagingPage.php:1287
     2652#: includes/Admin/PackagingPage.php:1288
    26452653msgid "Left alone"
    26462654msgstr ""
    … …  
    26742682msgstr ""
    26752683
    2676 #: includes/Admin/PackagingPage.php:1397
     2684#: includes/Admin/PackagingPage.php:1398
    26772685msgid "Line"
    26782686msgstr ""
    … …  
    26862694msgstr ""
    26872695
    2688 #: includes/Licensing/Capability.php:97
     2696#: includes/Licensing/Capability.php:100
    26892697msgid "Local audit log"
    26902698msgstr ""
    … …  
    27182726msgstr ""
    27192727
    2720 #: includes/Licensing/Capability.php:99
     2728#: includes/Licensing/Capability.php:102
    27212729msgid "Maintained compliance rules"
    27222730msgstr ""
    … …  
    27802788msgstr ""
    27812789
    2782 #: includes/Admin/BelgiumPage.php:110
     2790#: includes/Admin/BelgiumPage.php:115
    27832791msgid "Measure"
    27842792msgstr ""
    … …  
    28522860msgstr ""
    28532861
    2854 #: includes/Admin/BelgiumPage.php:139
     2862#: includes/Admin/BelgiumPage.php:144
    28552863msgid "More Belgium preparation details"
    28562864msgstr ""
    28572865
    2858 #: includes/Admin/BelgiumPage.php:116
     2866#: includes/Admin/BelgiumPage.php:121
    28592867msgid "More details"
    28602868msgstr ""
    … …  
    28802888msgstr ""
    28812889
    2882 #: includes/Licensing/Capability.php:100
     2890#: includes/Licensing/Capability.php:103
    28832891msgid "Multiple jurisdictions"
    28842892msgstr ""
    … …  
    29282936msgstr ""
    29292937
    2930 #: includes/Admin/BelgiumPage.php:114 includes/Admin/BelgiumPage.php:95 includes/Admin/CountriesPage.php:267 includes/Admin/NetherlandsPreparationPage.php:372 includes/Admin/OverviewPage.php:466
     2938#: includes/Admin/BelgiumPage.php:100 includes/Admin/BelgiumPage.php:119 includes/Admin/CountriesPage.php:267 includes/Admin/NetherlandsPreparationPage.php:372 includes/Admin/OverviewPage.php:466
    29312939msgid "Needs information"
    29322940msgstr ""
    … …  
    30613069msgstr ""
    30623070
    3063 #: includes/Admin/PackagingPage.php:1196
     3071#: includes/Admin/PackagingPage.php:1197
    30643072msgid "Never overwrite packaging that is already assigned"
    30653073msgstr ""
    … …  
    30813089msgstr ""
    30823090
     3091#: includes/Admin/BelgiumPage.php:96
     3092msgid "No Belgian rule version applies to today's date, so readiness is not evaluated. Recorded totals remain available."
     3093msgstr ""
     3094
    30833095#: includes/Compliance/AbstractEprSchemeAdapter.php:82
    30843096msgid "No EPR registration number on file for this scheme; the export will be generated but is not filing-ready."
    … …  
    31703182msgstr ""
    31713183
    3172 #: includes/Admin/PackagingPage.php:1256
     3184#: includes/Admin/PackagingPage.php:1257
    31733185msgid "No packaging"
    31743186msgstr ""
    … …  
    32503262msgstr ""
    32513263
    3252 #: includes/Admin/PackagingPage.php:1262
     3264#: includes/Admin/PackagingPage.php:1263
    32533265msgid "No — already correct"
    32543266msgstr ""
    … …  
    33423354msgstr ""
    33433355
    3344 #: includes/Admin/BelgiumPage.php:173 includes/Admin/NetherlandsPage.php:303 includes/Admin/NetherlandsPage.php:317 includes/Admin/NetherlandsPage.php:329 includes/Admin/NetherlandsPage.php:357 includes/Admin/NetherlandsPage.php:450 includes/Admin/PackagingPage.php:1044 includes/Admin/PackagingPage.php:637 includes/Admin/PackagingPage.php:878 includes/Admin/PackagingPage.php:922 includes/Admin/PackagingPage.php:963 includes/Admin/SpainPage.php:132 includes/Admin/SpainPage.php:256 includes/Austria/ComponentFacts.php:87 includes/Denmark/ComponentFacts.php:81
     3356#: includes/Admin/BelgiumPage.php:178 includes/Admin/NetherlandsPage.php:303 includes/Admin/NetherlandsPage.php:317 includes/Admin/NetherlandsPage.php:329 includes/Admin/NetherlandsPage.php:357 includes/Admin/NetherlandsPage.php:450 includes/Admin/PackagingPage.php:1044 includes/Admin/PackagingPage.php:637 includes/Admin/PackagingPage.php:878 includes/Admin/PackagingPage.php:922 includes/Admin/PackagingPage.php:963 includes/Admin/SpainPage.php:132 includes/Admin/SpainPage.php:256 includes/Austria/ComponentFacts.php:87 includes/Denmark/ComponentFacts.php:81
    33453357msgid "Not provided"
    33463358msgstr ""
    … …  
    33793391msgstr ""
    33803392
    3381 #: includes/Admin/PackagingPage.php:1153
     3393#: includes/Admin/PackagingPage.php:1154
    33823394msgid "Nothing is changed until you have seen a preview. Large selections run in the background so your browser is never waiting."
    33833395msgstr ""
    … …  
    34593471msgstr ""
    34603472
    3461 #: includes/Licensing/Capability.php:102
     3473#: includes/Licensing/Capability.php:105
    34623474msgid "Official scheme export formats"
    34633475msgstr ""
    … …  
    34913503msgstr ""
    34923504
    3493 #: includes/Admin/PackagingPage.php:1163
     3505#: includes/Admin/PackagingPage.php:1164
    34943506msgid "One category or tag"
    34953507msgstr ""
    … …  
    34993511msgstr ""
    35003512
    3501 #: includes/Repository/PackagingProfileRepository.php:114
     3513#: includes/Repository/PackagingProfileRepository.php:123
    35023514msgid "Only a draft packaging version can be activated."
    35033515msgstr ""
    … …  
    35233535msgstr ""
    35243536
    3525 #: includes/Admin/PackagingPage.php:1161
     3537#: includes/Admin/PackagingPage.php:1162
    35263538msgid "Only products with no packaging yet"
    35273539msgstr ""
    … …  
    35553567msgstr ""
    35563568
    3557 #: includes/Admin/BelgiumPage.php:152
     3569#: includes/Admin/BelgiumPage.php:157
    35583570msgid "Optional PRO member reference"
    35593571msgstr ""
    … …  
    35793591msgstr ""
    35803592
    3581 #: includes/Admin/PackagingPage.php:1194
     3593#: includes/Admin/PackagingPage.php:1195
    35823594msgid "Options"
    35833595msgstr ""
    … …  
    36513663msgstr ""
    36523664
    3653 #: includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/NetherlandsPreparationPage.php:275 includes/Admin/PackagingPage.php:1397
     3665#: includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/NetherlandsPreparationPage.php:275 includes/Admin/PackagingPage.php:1398
    36543666msgid "Outcome"
    36553667msgstr ""
    … …  
    36713683msgstr ""
    36723684
    3673 #: includes/Admin/BelgiumPage.php:150
     3685#: includes/Admin/BelgiumPage.php:155
    36743686msgid "PPWR EPR representative"
    36753687msgstr ""
    … …  
    37283740msgstr ""
    37293741
    3730 #: includes/Admin/CloudPage.php:433 includes/Admin/PackagingPage.php:1180
     3742#: includes/Admin/CloudPage.php:433 includes/Admin/PackagingPage.php:1181
    37313743msgid "Packaging profile"
    37323744msgstr ""
    … …  
    37363748msgstr ""
    37373749
    3738 #: includes/Admin/PackagingPage.php:540 includes/Admin/PackagingPage.php:81 includes/Licensing/Capability.php:92
     3750#: includes/Admin/PackagingPage.php:540 includes/Admin/PackagingPage.php:81 includes/Licensing/Capability.php:95
    37393751msgid "Packaging profiles"
    37403752msgstr ""
    37413753
    3742 #: includes/Admin/PackagingPage.php:1327
     3754#: includes/Admin/PackagingPage.php:1328
    37433755msgid "Packaging profiles and materials (CSV)"
    37443756msgstr ""
    … …  
    39263938msgstr ""
    39273939
    3928 #: includes/Admin/PackagingPage.php:1201
     3940#: includes/Admin/PackagingPage.php:1202
    39293941msgid "Preview changes"
    39303942msgstr ""
    … …  
    39433955msgstr ""
    39443956
    3945 #: includes/Admin/PackagingPage.php:1220 includes/Admin/PackagingPage.php:1374
     3957#: includes/Admin/PackagingPage.php:1221 includes/Admin/PackagingPage.php:1375
    39463958msgid "Preview — nothing has been changed"
    39473959msgstr ""
    … …  
    39713983msgstr ""
    39723984
    3973 #: includes/Admin/BelgiumPage.php:144
     3985#: includes/Admin/BelgiumPage.php:149
    39743986msgid "Private label context"
    39753987msgstr ""
    … …  
    40364048msgstr ""
    40374049
    4038 #: includes/Admin/MissingDataPage.php:343 includes/Admin/PackagingPage.php:1245 includes/Admin/PackagingPage.php:1397 includes/Admin/PackagingPage.php:755
     4050#: includes/Admin/MissingDataPage.php:343 includes/Admin/PackagingPage.php:1246 includes/Admin/PackagingPage.php:1398 includes/Admin/PackagingPage.php:755
    40394051msgid "Product"
    40404052msgstr ""
    … …  
    40444056msgstr ""
    40454057
    4046 #: includes/Admin/OrderSyncStatusMetabox.php:113 includes/Admin/PackagingPage.php:1483 includes/Admin/PackagingPage.php:934 includes/Admin/ProductPackagingMetabox.php:255 includes/Admin/ProductPackagingMetabox.php:63 includes/Admin/SetupWizardPage.php:480 includes/Admin/SpainPage.php:120 includes/Admin/SpainPage.php:275 includes/Austria/ComponentFacts.php:81
     4058#: includes/Admin/OrderSyncStatusMetabox.php:113 includes/Admin/PackagingPage.php:1484 includes/Admin/PackagingPage.php:934 includes/Admin/ProductPackagingMetabox.php:255 includes/Admin/ProductPackagingMetabox.php:63 includes/Admin/SetupWizardPage.php:480 includes/Admin/SpainPage.php:120 includes/Admin/SpainPage.php:275 includes/Austria/ComponentFacts.php:81
    40474059msgid "Product packaging"
    40484060msgstr ""
    … …  
    40534065msgstr ""
    40544066
     4067#: includes/Admin/PackagingPage.php:1227
     4068msgid "Product variations are excluded."
     4069msgstr ""
     4070
    40554071#: includes/Admin/PackagingPage.php:1226
    4056 msgid "Product variations are excluded."
    4057 msgstr ""
    4058 
    4059 #: includes/Admin/PackagingPage.php:1225
    40604072msgid "Product variations are included."
    40614073msgstr ""
    40624074
    4063 #: includes/Admin/PackagingPage.php:1326
     4075#: includes/Admin/PackagingPage.php:1327
    40644076msgid "Products and their packaging (CSV)"
    40654077msgstr ""
    … …  
    40854097msgstr ""
    40864098
    4087 #: includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1285
     4099#: includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1286
    40884100msgid "Progress"
    40894101msgstr ""
    … …  
    41574169msgstr ""
    41584170
    4159 #: includes/Admin/BelgiumPage.php:114 includes/Admin/BelgiumPage.php:95 includes/Admin/NetherlandsPreparationPage.php:368 includes/Admin/NetherlandsPreparationPage.php:369 includes/Onboarding/OnboardingState.php:51
     4171#: includes/Admin/BelgiumPage.php:100 includes/Admin/BelgiumPage.php:119 includes/Admin/NetherlandsPreparationPage.php:368 includes/Admin/NetherlandsPreparationPage.php:369 includes/Onboarding/OnboardingState.php:51
    41604172msgid "Ready"
    41614173msgstr ""
    … …  
    41854197msgstr ""
    41864198
    4187 #: includes/Admin/PackagingPage.php:1280
     4199#: includes/Admin/PackagingPage.php:1281
    41884200msgid "Recent bulk changes"
    41894201msgstr ""
    41904202
    4191 #: includes/Admin/PackagingPage.php:1290
     4203#: includes/Admin/PackagingPage.php:1291
    41924204msgid "Recent bulk packaging assignments"
    41934205msgstr ""
    … …  
    44414453msgstr ""
    44424454
    4443 #: includes/Licensing/Capability.php:103
     4455#: includes/Licensing/Capability.php:106
    44444456msgid "Registration verification"
    44454457msgstr ""
    … …  
    45434555msgstr ""
    45444556
    4545 #: includes/Admin/BelgiumPage.php:151 includes/Admin/NetherlandsPreparationPage.php:113 includes/Admin/NetherlandsPreparationPage.php:457
     4557#: includes/Admin/BelgiumPage.php:156 includes/Admin/NetherlandsPreparationPage.php:113 includes/Admin/NetherlandsPreparationPage.php:457
    45464558msgid "Reporting year"
    45474559msgstr ""
    … …  
    45594571msgstr ""
    45604572
    4561 #: includes/Admin/BelgiumPage.php:142
     4573#: includes/Admin/BelgiumPage.php:147
    45624574msgid "Responsible party type"
    45634575msgstr ""
    … …  
    45674579msgstr ""
    45684580
    4569 #: includes/Admin/PackagingPage.php:1495
     4581#: includes/Admin/PackagingPage.php:1496
    45704582msgid "Retired"
    45714583msgstr ""
    … …  
    47314743msgstr ""
    47324744
    4733 #: includes/Admin/OverviewPage.php:380 includes/Admin/PackagingPage.php:1309
     4745#: includes/Admin/OverviewPage.php:380 includes/Admin/PackagingPage.php:1310
    47344746msgid "Running in the background"
    47354747msgstr ""
    47364748
    4737 #: includes/Admin/PackagingPage.php:1246
     4749#: includes/Admin/PackagingPage.php:1247
    47384750msgid "Sample of products this bulk assignment would touch"
    47394751msgstr ""
    … …  
    47434755msgstr ""
    47444756
    4745 #: includes/Admin/BelgiumPage.php:157
     4757#: includes/Admin/BelgiumPage.php:162
    47464758msgid "Save Belgium information"
    47474759msgstr ""
    … …  
    48554867msgstr ""
    48564868
    4857 #: includes/Admin/Notices.php:142 includes/Admin/PackagingPage.php:1440 includes/Admin/Request.php:54
     4869#: includes/Admin/Notices.php:142 includes/Admin/PackagingPage.php:1441 includes/Admin/Request.php:54
    48584870msgid "Security check failed. Please reload the page and try again."
    48594871msgstr ""
    … …  
    48754887msgstr ""
    48764888
    4877 #: includes/Admin/BelgiumPage.php:184
     4889#: includes/Admin/BelgiumPage.php:189
    48784890msgid "Select every applicable type. This is neutral preparation data, not a claim about current portal requiredness."
    48794891msgstr ""
    … …  
    49144926msgstr ""
    49154927
    4916 #: includes/Admin/PackagingPage.php:1487 includes/Admin/PackagingPage.php:893 includes/Admin/PackagingPage.php:937 includes/Austria/ComponentFacts.php:84
     4928#: includes/Admin/PackagingPage.php:1488 includes/Admin/PackagingPage.php:893 includes/Admin/PackagingPage.php:937 includes/Austria/ComponentFacts.php:84
    49174929msgid "Service packaging"
    49184930msgstr ""
    … …  
    49744986msgstr ""
    49754987
    4976 #: includes/Admin/OrderSyncStatusMetabox.php:114 includes/Admin/PackagingPage.php:1484 includes/Admin/PackagingPage.php:935 includes/Admin/SetupWizardPage.php:481 includes/Austria/ComponentFacts.php:82
     4988#: includes/Admin/OrderSyncStatusMetabox.php:114 includes/Admin/PackagingPage.php:1485 includes/Admin/PackagingPage.php:935 includes/Admin/SetupWizardPage.php:481 includes/Austria/ComponentFacts.php:82
    49774989msgid "Shipping packaging"
    49784990msgstr ""
    … …  
    50315043msgstr ""
    50325044
    5033 #: includes/Admin/PackagingPage.php:1416
     5045#: includes/Admin/PackagingPage.php:1417
    50345046msgid "Skipped"
    50355047msgstr ""
    … …  
    51355147msgstr ""
    51365148
    5137 #: includes/Admin/PackagingPage.php:1283
     5149#: includes/Admin/PackagingPage.php:1284
    51385150msgid "Started (UTC)"
    51395151msgstr ""
    … …  
    51475159msgstr ""
    51485160
    5149 #: includes/Admin/CloudPage.php:211 includes/Admin/CloudPage.php:386 includes/Admin/CountriesPage.php:142 includes/Admin/CountriesPage.php:248 includes/Admin/DeadlinesPage.php:121 includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/OverviewPage.php:310 includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1288 includes/Admin/PackagingPage.php:536 includes/Admin/RegistrationsPage.php:142 includes/Admin/ReportsPage.php:464 includes/Admin/SetupWizardPage.php:572
     5161#: includes/Admin/CloudPage.php:211 includes/Admin/CloudPage.php:386 includes/Admin/CountriesPage.php:142 includes/Admin/CountriesPage.php:248 includes/Admin/DeadlinesPage.php:121 includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/OverviewPage.php:310 includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1289 includes/Admin/PackagingPage.php:536 includes/Admin/RegistrationsPage.php:142 includes/Admin/ReportsPage.php:464 includes/Admin/SetupWizardPage.php:572
    51505162msgid "Status"
    51515163msgstr ""
    … …  
    52735285msgstr ""
    52745286
    5275 #: includes/Admin/BelgiumPage.php:100 includes/Admin/CountriesPage.php:178 includes/Admin/NetherlandsPage.php:253 includes/Admin/NetherlandsPreparationPage.php:453 includes/Admin/OrderSyncStatusMetabox.php:370
     5287#: includes/Admin/BelgiumPage.php:105 includes/Admin/CountriesPage.php:178 includes/Admin/NetherlandsPage.php:253 includes/Admin/NetherlandsPreparationPage.php:453 includes/Admin/OrderSyncStatusMetabox.php:370
    52765288msgid "Technical details"
    52775289msgstr ""
    … …  
    54535465msgstr ""
    54545466
    5455 #: includes/Admin/PackagingPage.php:1369
     5467#: includes/Admin/PackagingPage.php:1370
    54565468msgid "The display language changed. Upload the CSV again to review its results in this language."
    54575469msgstr ""
    … …  
    54895501msgstr ""
    54905502
    5491 #: includes/Admin/BelgiumPage.php:117
     5503#: includes/Admin/BelgiumPage.php:122
    54925504msgid "The internal boundary check uses 300 kg exactly. Incomplete data never confirms that a merchant is below it."
    54935505msgstr ""
    … …  
    55895601msgstr ""
    55905602
    5591 #: includes/Infrastructure/Cloud/CloudException.php:52
     5603#: includes/Infrastructure/Cloud/CloudException.php:55
    55925604msgid "The service could not complete the request. Please try again later or contact Brightfern."
    55935605msgstr ""
    55945606
    5595 #: includes/Infrastructure/Cloud/CloudException.php:50
     5607#: includes/Infrastructure/Cloud/CloudException.php:53
    55965608msgid "The service could not validate the packaging record. Check the required fields and contact Brightfern with the error code."
    55975609msgstr ""
    … …  
    56095621msgstr ""
    56105622
    5611 #: includes/Infrastructure/Cloud/CloudException.php:51
     5623#: includes/Infrastructure/Cloud/CloudException.php:54
    56125624msgid "The service is busy. The plugin will retry later."
    56135625msgstr ""
    56145626
    5615 #: includes/Infrastructure/Cloud/CloudException.php:49
     5627#: includes/Infrastructure/Cloud/CloudException.php:52
    56165628msgid "The service rejected this connection. Check the Store ID and matching Secret, then test again. Contact Brightfern if it continues."
    56175629msgstr ""
    … …  
    57065718msgstr ""
    57075719
    5708 #: includes/Admin/BelgiumPage.php:140
     5720#: includes/Admin/BelgiumPage.php:145
    57095721msgid "These extra fields preserve the existing preparation model. Complete them only when you already know the answer or have checked it with your adviser."
    57105722msgstr ""
    … …  
    58115823msgstr ""
    58125824
    5813 #: includes/Admin/PackagingPage.php:1322
     5825#: includes/Admin/PackagingPage.php:1323
    58145826msgid "This is your data. Exporting it is available on every plan."
    58155827msgstr ""
    … …  
    58355847msgstr ""
    58365848
    5837 #: includes/Packaging/PackagingCsv.php:451
     5849#: includes/Packaging/PackagingCsv.php:458
    58385850msgid "This packaging assignment could not be saved. Retry this row."
    58395851msgstr ""
    … …  
    58835895msgstr ""
    58845896
    5885 #: includes/Admin/PackagingPage.php:1393
     5897#: includes/Admin/PackagingPage.php:1394
    58865898msgid "This preview is no longer available to apply. Upload the CSV to preview it again."
    58875899msgstr ""
    … …  
    58915903msgstr ""
    58925904
    5893 #: includes/Packaging/PackagingCsv.php:399
     5905#: includes/Packaging/PackagingCsv.php:406
    58945906msgid "This profile changed after the preview and the row was left unchanged. Preview it again."
    58955907msgstr ""
    … …  
    59075919msgstr ""
    59085920
    5909 #: includes/Packaging/PackagingCsv.php:413 includes/Packaging/PackagingCsv.php:445
     5921#: includes/Packaging/PackagingCsv.php:420 includes/Packaging/PackagingCsv.php:452
    59105922msgid "This row changed after the preview and was left unchanged. Preview it again."
    59115923msgstr ""
    … …  
    59315943msgstr ""
    59325944
    5933 #: includes/Admin/PackagingPage.php:1238
     5945#: includes/Admin/PackagingPage.php:1239
    59345946#, php-format
    59355947msgid "This selection matches %1$s products and %2$s variations."
    … …  
    60266038msgstr ""
    60276039
    6028 #: includes/Admin/PackagingPage.php:1486 includes/Admin/PackagingPage.php:936 includes/Austria/ComponentFacts.php:83
     6040#: includes/Admin/PackagingPage.php:1487 includes/Admin/PackagingPage.php:936 includes/Austria/ComponentFacts.php:83
    60296041msgid "Transport packaging"
    60306042msgstr ""
    … …  
    60696081msgstr ""
    60706082
    6071 #: includes/Repository/PackagingProfileRepository.php:185
     6083#: includes/Repository/PackagingProfileRepository.php:194
    60726084#, php-format
    60736085msgid "Unknown packaging profile: %d"
    … …  
    61086120msgstr ""
    61096121
    6110 #: includes/Admin/PackagingPage.php:1354
     6122#: includes/Admin/PackagingPage.php:1355
    61116123msgid "Upload and preview"
    61126124msgstr ""
    61136125
    6114 #: includes/Admin/PackagingPage.php:1344
     6126#: includes/Admin/PackagingPage.php:1345
    61156127#, php-format
    61166128msgid "Upload the assignments CSV after editing it. Columns: product_id or sku, plus profile_uuid or profile_name. Up to %d rows per file."
    … …  
    62056217msgstr ""
    62066218
    6207 #: includes/Admin/BelgiumPage.php:143
     6219#: includes/Admin/BelgiumPage.php:148
    62086220msgid "Valipac responsibility types"
    62096221msgstr ""
    62106222
    6211 #: includes/Admin/BelgiumPage.php:110 includes/Admin/DiagnosticsPage.php:44 includes/Admin/NetherlandsPreparationPage.php:265
     6223#: includes/Admin/BelgiumPage.php:115 includes/Admin/DiagnosticsPage.php:44 includes/Admin/NetherlandsPreparationPage.php:265
    62126224msgid "Value"
    62136225msgstr ""
    … …  
    62826294msgstr ""
    62836295
    6284 #: includes/Admin/BelgiumPage.php:99
     6296#: includes/Admin/BelgiumPage.php:104
    62856297msgid "We prepare an internal control sheet for manual review. Official export and automatic upload remain unavailable."
    62866298msgstr ""
    … …  
    64066418msgstr ""
    64076419
    6408 #: includes/Admin/BelgiumPage.php:130
     6420#: includes/Admin/BelgiumPage.php:135
    64096421msgid "Where is your business established? (country code)"
    64106422msgstr ""
    … …  
    64356447msgstr ""
    64366448
    6437 #: includes/Admin/PackagingPage.php:1160
     6449#: includes/Admin/PackagingPage.php:1161
    64386450msgid "Which products"
    64396451msgstr ""
    … …  
    64796491msgstr ""
    64806492
    6481 #: includes/Admin/PackagingPage.php:1414
     6493#: includes/Admin/PackagingPage.php:1415
    64826494msgid "Would assign"
    64836495msgstr ""
    64846496
    6485 #: includes/Admin/PackagingPage.php:1245
     6497#: includes/Admin/PackagingPage.php:1246
    64866498msgid "Would change"
    64876499msgstr ""
    64886500
    6489 #: includes/Admin/PackagingPage.php:1416
     6501#: includes/Admin/PackagingPage.php:1417
    64906502msgid "Would skip"
    64916503msgstr ""
    … …  
    65076519msgstr ""
    65086520
    6509 #: includes/Admin/DenmarkContextForm.php:190 includes/Admin/NetherlandsPage.php:451 includes/Admin/NetherlandsPreparationPage.php:329 includes/Admin/PackagingPage.php:1260 includes/Admin/PackagingPage.php:819 includes/Admin/PackagingPage.php:965 includes/Admin/SettingsPage.php:202 includes/Admin/SettingsPage.php:334 includes/Admin/SpainPage.php:257
     6521#: includes/Admin/DenmarkContextForm.php:190 includes/Admin/NetherlandsPage.php:451 includes/Admin/NetherlandsPreparationPage.php:329 includes/Admin/PackagingPage.php:1261 includes/Admin/PackagingPage.php:819 includes/Admin/PackagingPage.php:965 includes/Admin/SettingsPage.php:202 includes/Admin/SettingsPage.php:334 includes/Admin/SpainPage.php:257
    65106522msgid "Yes"
    65116523msgstr ""
    … …  
    65436555msgstr ""
    65446556
    6545 #: includes/Admin/PackagingPage.php:1434
     6557#: includes/Admin/PackagingPage.php:1435
    65466558msgid "You do not have permission to export this data."
    65476559msgstr ""
    … …  
    65646576msgstr ""
    65656577
    6566 #: includes/Admin/BelgiumPage.php:124
     6578#: includes/Admin/BelgiumPage.php:129
    65676579msgid "Your Belgium information"
    65686580msgstr ""
    … …  
    68416853msgstr ""
    68426854
    6843 #: includes/Admin/PackagingPage.php:1167
     6855#: includes/Admin/PackagingPage.php:1168
    68446856msgid "— Not applicable —"
    68456857msgstr ""
  • ombel-packaging-records/tags/1.0.11/ombel-packaging-records.php

    r3764769 r3765190  
    33 * Plugin Name:       Ombel Packaging Records for WooCommerce
    44 * Description:       Record WooCommerce packaging weights and review local material totals and missing data for manual preparation.
    5  * Version:           1.0.10
     5 * Version:           1.0.11
    66 * Requires at least: 6.4
    77 * Requires Plugins:  woocommerce
    … …  
    2727define( 'BRIGHTFERN_PPWR_DIR', plugin_dir_path( __FILE__ ) );
    2828define( 'BRIGHTFERN_PPWR_URL', plugin_dir_url( __FILE__ ) );
    29 define( 'BRIGHTFERN_PPWR_VERSION', '1.0.10' );
     29define( 'BRIGHTFERN_PPWR_VERSION', '1.0.11' );
    3030define( 'BRIGHTFERN_PPWR_PRIVATE_BETA', false );
    3131define( 'BRIGHTFERN_PPWR_WORDPRESS_ORG', true );
  • ombel-packaging-records/tags/1.0.11/readme.txt

    r3764769 r3765190  
    66Requires PHP: 8.1
    77Requires Plugins: woocommerce
    8 Stable tag: 1.0.10
     8Stable tag: 1.0.11
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    162162== Changelog ==
    163163
     164= 1.0.11 =
     165* Validate sales packaging consistently when assigning products and importing CSV files.
     166* Preserve distinct Dutch packaging components when legacy references overlap.
     167* Show missing Belgian rules clearly outside their validity period and preserve accurate order evidence.
     168* Improve validation and error recovery while preserving existing records.
     169
    164170= 1.0.10 =
    165171* Add the Fost Plus follow-up guidance received on 22 October.
  • ombel-packaging-records/trunk/includes/Admin/BelgiumPage.php

    r3756967 r3765190  
    3333                        ),
    3434                        BelgiumReporting::SCHEME
    35                 )['belgium_reporting'];
     35                )['belgium_reporting'] ?? null;
    3636
    3737                Ui::page_open( __( 'Belgium', 'ombel-packaging-records' ), __( 'Limited preparation support for Belgian packaging. This page does not file or submit anything.', 'ombel-packaging-records' ) );
    … …  
    9191        }
    9292
    93         private function render_readiness( array $readiness ): void {
     93        private function render_readiness( ?array $readiness ): void {
    9494                Ui::card_open( __( 'What this means', 'ombel-packaging-records' ) );
     95                if ( null === $readiness ) {
     96                        Ui::notice( 'warning', __( 'No Belgian rule version applies to today\'s date, so readiness is not evaluated. Recorded totals remain available.', 'ombel-packaging-records' ) );
     97                        Ui::card_close();
     98                        return;
     99                }
    95100                $status = 'READY' === (string) $readiness['control_sheet']['readiness'] ? __( 'Ready', 'ombel-packaging-records' ) : __( 'Needs information', 'ombel-packaging-records' );
    96101                echo '<p>';
  • ombel-packaging-records/trunk/includes/Admin/PackagingPage.php

    r3764769 r3765190  
    11241124        private function tab_assign(): void {
    11251125                $entitlements = new FeatureEntitlements();
    1126                 $profiles     = ( new PackagingProfileRepository() )->all( PackagingProfileStatus::ACTIVE );
     1126                // Shipping packaging is added once per order; only product (sales) packaging is assigned here.
     1127                $profiles = array_values( array_filter( ( new PackagingProfileRepository() )->all( PackagingProfileStatus::ACTIVE ), static fn( array $profile ): bool => PackagingType::SALES === $profile['type'] ) );
    11271128
    11281129                Ui::card_open( __( 'Assign packaging to many products at once', 'ombel-packaging-records' ) );
  • ombel-packaging-records/trunk/includes/Admin/ProductPackagingMetabox.php

    r3764769 r3765190  
    345345                if ( $has_own && (int) $current['profile_id'] === $profile_id ) {
    346346                        return; // No change — do not open a pointless new history row.
     347                }
     348                $profile = ( new PackagingProfileRepository() )->find( $profile_id );
     349                if ( null === $profile || 'active' !== $profile['status'] ) {
     350                        \WC_Admin_Meta_Boxes::add_error( __( 'Choose an active packaging profile. Draft profiles have to be activated first.', 'ombel-packaging-records' ) );
     351                        return;
     352                }
     353                if ( PackagingType::SALES !== $profile['type'] ) {
     354                        \WC_Admin_Meta_Boxes::add_error( __( 'Choose a product packaging profile. Shipping packaging is added once per order, not to products.', 'ombel-packaging-records' ) );
     355                        return;
    347356                }
    348357
  • ombel-packaging-records/trunk/includes/Cloud/SyncQueueService.php

    r3742563 r3765190  
    77use Brightfern\PPWR\Cloud\Payloads\ComplianceEventPayloadBuilder;
    88use Brightfern\PPWR\Cloud\Payloads\PackagingProfilePayloadBuilder;
     9use Brightfern\PPWR\Domain\PackagingProfileStatus;
     10use Brightfern\PPWR\Domain\SnapshotEventType;
    911use Brightfern\PPWR\Domain\SyncJobType;
     12use Brightfern\PPWR\Domain\SyncStatus;
    1013use Brightfern\PPWR\Infrastructure\Cloud\CloudApiClient;
    1114use Brightfern\PPWR\Infrastructure\Cloud\CloudConnectionSettings;
    1215use Brightfern\PPWR\Infrastructure\Cloud\CloudException;
    1316use Brightfern\PPWR\Infrastructure\Cloud\RetryPolicy;
     17use Brightfern\PPWR\Licensing\Capability;
     18use Brightfern\PPWR\Licensing\FeatureEntitlements;
     19use Brightfern\PPWR\Licensing\FreemiusConnection;
    1420use Brightfern\PPWR\Observability\Logger;
     21use Brightfern\PPWR\Repository\LedgerRepository;
    1522use Brightfern\PPWR\Repository\OrderSnapshotRepository;
    1623use Brightfern\PPWR\Repository\PackagingProfileRepository;
    … …  
    5663                }
    5764
     65                // Profiles activated in a local-only build have no upload job; queue them ahead of the event.
     66                // Unconnected stores are covered when the first send reports the missing profiles.
     67                if ( $this->settings->is_configured() ) {
     68                        $this->profiles_in_flight( $snapshot_id );
     69                }
     70
    5871                $payload = ( new ComplianceEventPayloadBuilder() )->build( $snapshot );
    5972
    … …  
    97110                        $this->dispatch_soon( $result['id'] );
    98111                }
     112        }
     113
     114        /**
     115         * Queues an upload for every recorded profile version a snapshot references that has none yet.
     116         * True while one of them is still waiting to be sent; a permanently failed upload does not count.
     117         */
     118        private function profiles_in_flight( int $snapshot_id, bool $recover_synced = false ): bool {
     119                $profiles  = new PackagingProfileRepository();
     120                $in_flight = false;
     121                $confirmed = array();
     122                $terminal  = false;
     123                try {
     124                        foreach ( ( new LedgerRepository() )->for_snapshot( $snapshot_id ) as $line ) {
     125                                $profile = empty( $line['profile_uuid'] ) ? null : $profiles->find_by_uuid( (string) $line['profile_uuid'] );
     126                                if ( null === $profile || (int) $profile['version'] !== (int) $line['profile_version'] || PackagingProfileStatus::DRAFT === $profile['status'] ) {
     127                                        continue;
     128                                }
     129                                $job = $this->queue->find_by_job_reference( SyncJobType::PACKAGING_PROFILE, (int) $profile['id'] );
     130                                if ( null === $job ) {
     131                                        $this->enqueue_packaging_profile_sync( (int) $profile['id'] );
     132                                        $in_flight = true;
     133                                } elseif ( $recover_synced && SyncStatus::SYNCED === $job['status'] ) {
     134                                        $confirmed[ (int) $job['id'] ] = true;
     135                                } elseif ( in_array( $job['status'], array( SyncStatus::FAILED, SyncStatus::DEAD_LETTER ), true ) ) {
     136                                        $terminal = true;
     137                                } elseif ( in_array( $job['status'], array( SyncStatus::PENDING, SyncStatus::PROCESSING, SyncStatus::RETRYING ), true ) ) {
     138                                        $in_flight = true;
     139                                }
     140                        }
     141                        // Recover a lost acknowledgement only after active dependencies finish, and never mask a terminal failure.
     142                        if ( $recover_synced && ! $in_flight && ! $terminal ) {
     143                                foreach ( array_keys( $confirmed ) as $id ) {
     144                                        $this->queue->requeue_synced_profile( $id );
     145                                        $in_flight = true;
     146                                }
     147                        }
     148                } catch ( \Throwable $e ) {
     149                        // Never let this repair step stop the event itself from being queued or retried.
     150                        Logger::error(
     151                                'cloud.profile_enqueue_failed',
     152                                array(
     153                                        'snapshot_id' => $snapshot_id,
     154                                        'error'       => $e->getMessage(),
     155                                )
     156                        );
     157                        return false;
     158                }
     159                return $in_flight;
     160        }
     161
     162        /** True while the market entry an adjustment deducts from is still queued locally. */
     163        private function original_in_flight( int $snapshot_id ): bool {
     164                $snapshots = new OrderSnapshotRepository();
     165                $snapshot  = $snapshots->find_by_id( $snapshot_id );
     166                $original  = null === $snapshot ? null : $snapshots->find_by_order_and_event( (int) $snapshot['wc_order_id'], SnapshotEventType::MARKET_ENTRY );
     167                $job       = null === $original ? null : $this->queue->find_by_job_reference( SyncJobType::COMPLIANCE_EVENT, (int) $original['id'] );
     168                return null !== $job && in_array( $job['status'], array( SyncStatus::PENDING, SyncStatus::PROCESSING, SyncStatus::RETRYING ), true );
    99169        }
    100170
    … …  
    147217                if ( ! $this->settings->is_configured() ) {
    148218                        return; // Stays pending — the recurring sweep will pick it up once configured.
     219                }
     220                if ( ( FreemiusConnection::enabled() || \Brightfern\PPWR\Marketplace::enabled() ) && ! ( new FeatureEntitlements() )->can( Capability::CLOUD_SYNC ) ) {
     221                        return; // Keep queued records for activation or renewal without consuming retries.
    149222                }
    150223
    … …  
    220293        private function handle_failure( array $job, CloudException $e ): void {
    221294                $previous_attempts = (int) $job['attempts'];
    222                 $attempts          = $previous_attempts + 1;
     295                if ( 403 === $e->status_code && 'subscription_required' === $e->error_code ) {
     296                        // Server access can expire before the cached license; the recurring sweep retries after renewal.
     297                        $this->queue->mark_retry( (int) $job['id'], $previous_attempts, gmdate( 'Y-m-d H:i:s', time() + 300 ), 403, $e->error_code, $e->getMessage() );
     298                        return;
     299                }
     300                if ( 503 === $e->status_code && SyncJobType::COMPLIANCE_EVENT === $job['job_type'] && (
     301                        ( 'packaging_profiles_pending' === $e->error_code && $this->profiles_in_flight( (int) $job['reference_id'], true ) )
     302                        || ( 'original_pending' === $e->error_code && $this->original_in_flight( (int) $job['reference_id'] ) ) ) ) {
     303                        // The event waits for a dependency that is still on its way without exhausting its own retries;
     304                        // the recurring sweep (at most 50 jobs per run) re-checks it, so a slow upload cannot multiply requests.
     305                        $this->queue->mark_retry( (int) $job['id'], $previous_attempts, gmdate( 'Y-m-d H:i:s', time() + 300 ), 503, $e->error_code, $e->getMessage() );
     306                        return;
     307                }
     308                $attempts = $previous_attempts + 1;
    223309
    224310                if ( $e->auth_failure ) {
  • ombel-packaging-records/trunk/includes/Infrastructure/Cloud/CloudException.php

    r3737231 r3765190  
    4646        public static function from_http_status( int $status, array $decoded_body, string $raw_body ): self {
    4747                $error_code = is_string( $decoded_body['error'] ?? null ) ? $decoded_body['error'] : null;
    48                 $message    = match ( $status ) {
     48                if ( 403 === $status && 'subscription_required' === $error_code ) {
     49                        return new self( __( 'Cloud sync is waiting for an active subscription. Local records remain queued and will retry after activation or renewal.', 'ombel-packaging-records' ), $status, $error_code, true, false );
     50                }
     51                $message = match ( $status ) {
    4952                        401, 403 => __( 'The service rejected this connection. Check the Store ID and matching Secret, then test again. Contact Brightfern if it continues.', 'ombel-packaging-records' ),
    5053                        422 => __( 'The service could not validate the packaging record. Check the required fields and contact Brightfern with the error code.', 'ombel-packaging-records' ),
  • ombel-packaging-records/trunk/includes/Licensing/Capability.php

    r3735022 r3765190  
    4646        /** @return array<int, string> */
    4747        public static function all(): array {
    48                 return array_merge( self::free(), self::pro() );
     48                return array_values( array_unique( array_merge( self::free(), self::pro() ) ) );
    4949        }
    5050
    … …  
    6565                                array( self::MULTI_COUNTRY, self::COUNTRY_REPORTING, self::OFFICIAL_EXPORTS, self::REGISTRATION_VERIFICATION, self::DEADLINE_TRACKING, self::EVIDENCE_ARCHIVE, self::ADVANCED_AUDIT )
    6666                        );
     67                }
     68                if ( FreemiusConnection::enabled() ) {
     69                        $capabilities = array_merge( $capabilities, array( self::MULTI_COUNTRY, self::COUNTRY_REPORTING, self::REGISTRATION_VERIFICATION, self::DEADLINE_TRACKING, self::EVIDENCE_ARCHIVE, self::ADVANCED_AUDIT ) );
    6770                }
    6871                return $capabilities;
  • ombel-packaging-records/trunk/includes/Packaging/BulkAssignment.php

    r3737231 r3765190  
    8787                                'only_missing'       => false,
    8888                        );
     89                }
     90
     91                if ( PackagingType::SALES !== $profile['type'] ) {
     92                        throw new \InvalidArgumentException( __( 'Choose a product packaging profile. Shipping packaging is added once per order, not to products.', 'ombel-packaging-records' ) );
    8993                }
    9094
  • ombel-packaging-records/trunk/includes/Packaging/PackagingCsv.php

    r3764769 r3765190  
    383383                                'product' => $label,
    384384                                'message' => __( 'No active packaging profile matches this row. Check the name or ID, and that the profile is activated.', 'ombel-packaging-records' ),
     385                        );
     386                }
     387                if ( PackagingType::SALES !== $profile['type'] ) {
     388                        return array(
     389                                'outcome' => 'error',
     390                                'product' => $label,
     391                                'message' => __( 'Choose a product packaging profile. Shipping packaging is added once per order, not to products.', 'ombel-packaging-records' ),
    385392                        );
    386393                }
  • ombel-packaging-records/trunk/includes/Repository/PackagingProfileRepository.php

    r3745524 r3765190  
    2727                $row = $this->db->get_row(
    2828                        $this->db->prepare( "SELECT * FROM {$this->table()} WHERE id = %d", $id ), // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
     29                        ARRAY_A
     30                );
     31
     32                return $row ? $row : null;
     33        }
     34
     35        public function find_by_uuid( string $uuid ): ?array {
     36                $row = $this->db->get_row(
     37                        $this->db->prepare( "SELECT * FROM {$this->table()} WHERE uuid = %s", $uuid ), // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
    2938                        ARRAY_A
    3039                );
  • ombel-packaging-records/trunk/includes/Repository/SyncQueueRepository.php

    r3735022 r3765190  
    66
    77use Brightfern\PPWR\Domain\SyncStatus;
     8use Brightfern\PPWR\Domain\SyncJobType;
    89use Brightfern\PPWR\Support\Uuid;
    910
    … …  
    105106         * Jobs due for an attempt right now: pending, retrying with a due
    106107         * next_attempt_at, or a processing job whose worker lease expired. Ordered oldest-queued
    107          * first so a backlog drains in the order it was created, not
    108          * newest-first.
     108         * first within each class; profile uploads and originals must precede
     109         * events waiting for those dependencies, even when a batch is full.
    109110         */
    110111        public function find_due( int $limit = 20 ): array {
    … …  
    114115                                'WHERE (status IN (%s, %s) AND (next_attempt_at IS NULL OR next_attempt_at <= %s))
    115116                                 OR (status = %s AND (last_attempted_at IS NULL OR last_attempted_at <= %s))
    116                                  ORDER BY queued_at ASC LIMIT %d',
     117                                 ORDER BY CASE WHEN job_type = %s THEN 0 WHEN last_error_code IN (%s, %s) THEN 2 ELSE 1 END, queued_at ASC, id ASC LIMIT %d',
    117118                                SyncStatus::PENDING,
    118119                                SyncStatus::RETRYING,
    … …  
    120121                                SyncStatus::PROCESSING,
    121122                                gmdate( 'Y-m-d H:i:s', time() - self::PROCESSING_LEASE_SECONDS ),
     123                                SyncJobType::PACKAGING_PROFILE,
     124                                'packaging_profiles_pending',
     125                                'original_pending',
    122126                                $limit
    123127                        ),
    … …  
    208212        }
    209213
    210         /** Merchant-triggered "retry now" for a failed/dead_letter row. */
     214        /** Merchant-triggered "retry now" for a failed/dead_letter row; it starts a fresh retry budget. */
    211215        public function reset_for_manual_retry( int $id ): void {
    212216                $this->db->update(
    … …  
    214218                        array(
    215219                                'status'          => SyncStatus::PENDING,
     220                                'attempts'        => 0,
    216221                                'next_attempt_at' => null,
    217222                                'updated_at'      => $this->now(),
    … …  
    219224                        array( 'id' => $id )
    220225                );
     226        }
     227
     228        /** Only a confirmed upload can be requeued; never take another worker's active lease. */
     229        public function requeue_synced_profile( int $id ): bool {
     230                $result = $this->db->query(
     231                        $this->db->prepare(
     232                                "UPDATE {$this->table()} SET status = %s, attempts = 0, remote_id = NULL, synced_at = NULL, next_attempt_at = NULL, updated_at = %s
     233                                 WHERE id = %d AND job_type = %s AND status = %s",
     234                                SyncStatus::PENDING,
     235                                $this->now(),
     236                                $id,
     237                                SyncJobType::PACKAGING_PROFILE,
     238                                SyncStatus::SYNCED
     239                        )
     240                );
     241                if ( false === $result ) {
     242                        throw new \RuntimeException( 'Could not requeue the confirmed packaging profile.' );
     243                }
     244                return 1 === $result;
    221245        }
    222246
  • ombel-packaging-records/trunk/includes/Rules/LocalRules.php

    r3735022 r3765190  
    3838                        }
    3939                        $content = json_decode( $row['content_json'], true, 32, JSON_THROW_ON_ERROR );
     40                        // The bundled fallback has a fixed validity window; past it, report the gap like other markets do.
     41                        $date  = (string) ( $event['event_date'] ?? '' );
     42                        $until = $content['effective_until'] ?? null;
     43                        if ( null === $version && PackValidator::date( $date ) && ( $date < (string) ( $content['effective_from'] ?? '' ) || ( is_string( $until ) && $date >= $until ) ) ) {
     44                                return self::without_rule_pack( $event, $scheme );
     45                        }
     46                        $event = self::known_transition_context( $event, $content );
    4047                        return ( new Evaluator( $content ) )->evaluate( $event ) + array(
    4148                                'checksum' => $row['content_hash'],
    … …  
    4754                        : $this->repository->exact( $event['destination_country'], $scheme, $version );
    4855                if ( ! $row ) {
    49                         return array(
    50                                 'schema_version'        => 1,
    51                                 'jurisdiction'          => $event['destination_country'],
    52                                 'scheme'                => $scheme,
    53                                 'rule_version'          => null,
    54                                 'applicable'            => null,
    55                                 'registration_required' => null,
    56                                 'reporting_period'      => null,
    57                                 'issues'                => array(),
    58                                 'warnings'              => array( 'no_valid_rule_pack' ),
    59                                 'input'                 => $event,
    60                         );
     56                        return self::without_rule_pack( $event, $scheme );
    6157                }
    6258                if ( ! hash_equals( $row['content_hash'], hash( 'sha256', $row['content_json'] ) ) ) {
    … …  
    8581                );
    8682        }
     83
     84        /** Same filtering as the generic path: German transition answers are unknown to other packs. */
     85        private static function known_transition_context( array $event, array $content ): array {
     86                if ( isset( $event['transition_context'] ) && is_array( $event['transition_context'] ) ) {
     87                        $event['transition_context'] = array_intersect_key( $event['transition_context'], array_flip( Transitions::context_keys( $content ) ) );
     88                }
     89                return $event;
     90        }
     91
     92        private static function without_rule_pack( array $event, string $scheme ): array {
     93                return array(
     94                        'schema_version'        => 1,
     95                        'jurisdiction'          => $event['destination_country'],
     96                        'scheme'                => $scheme,
     97                        'rule_version'          => null,
     98                        'applicable'            => null,
     99                        'registration_required' => null,
     100                        'reporting_period'      => null,
     101                        'issues'                => array(),
     102                        'warnings'              => array( 'no_valid_rule_pack' ),
     103                        'input'                 => $event,
     104                );
     105        }
    87106}
  • ombel-packaging-records/trunk/includes/Woo/OrderSnapshotBuilder.php

    r3746155 r3765190  
    355355                        'order_value_minor' => (int) round( (float) $order->get_total() * 100 ),
    356356                        'order_ref'         => $order_ref,
    357                         'rule_version'      => $compliance['rule_version'] ?? ( -1 === $direction ? ( $original['rule_version'] ?? null ) : ( $rule_version['version'] ?? null ) ),
     357                        'rule_version'      => $has_m2_rules ? ( $compliance['rule_version'] ?? null ) : ( $compliance['rule_version'] ?? ( -1 === $direction ? ( $original['rule_version'] ?? null ) : ( $rule_version['version'] ?? null ) ) ),
    358358                        'compliance_json'   => $compliance_json,
    359359                        'adjustment_json'   => isset( $overrides['adjustment'] ) ? wp_json_encode( $overrides['adjustment'] ) : null,
    … …  
    385385                                foreach ( $ledger_lines as &$line ) {
    386386                                        $line['snapshot_id'] = $result['id'];
    387                                         unset( $line['_component_ref'], $line['_france'], $line['_netherlands'], $line['_spain'], $line['_austria'], $line['_sales_units'], $line['_unit_weight_mg'], $line['_denmark'] );
     387                                        unset( $line['_component_ref'], $line['_component_id'], $line['_france'], $line['_netherlands'], $line['_spain'], $line['_austria'], $line['_sales_units'], $line['_unit_weight_mg'], $line['_denmark'] );
    388388                                }
    389389                                unset( $line );
    … …  
    487487                $commercial_event_type = strtolower( $event_type );
    488488                $defaults              = \Brightfern\PPWR\Netherlands\Context::supply_defaults();
    489                 $event                 = array(
     489                $packaging             = array_map(
     490                        static fn( array $line ): array => array(
     491                                'component_ref'   => ( null === $line['order_item_id'] ? 'shipping' : (string) $line['order_item_id'] ) . ':' . ( $line['_component_ref'] ?? '' ),
     492                                'product_ref'     => (string) ( $line['product_ref'] ?? '' ),
     493                                'profile_uuid'    => $line['profile_uuid'],
     494                                'profile_version' => (int) $line['profile_version'],
     495                                'material'        => $line['material_code'],
     496                                'quantity'        => (int) $line['quantity'],
     497                                'weight_mg'       => (int) $line['weight_mg'],
     498                                'unit_weight_mg'  => (int) ( $line['_unit_weight_mg'] ?? $line['weight_mg'] ),
     499                                'category'        => $line['packaging_role'],
     500                                'netherlands'     => array_merge(
     501                                        array( 'packaging_function' => PackagingType::ECOMMERCE === $line['packaging_role'] ? 'shipment' : $line['packaging_role'] ),
     502                                        $line['_netherlands'] ?? array()
     503                                ),
     504                        ),
     505                        $ledger_lines
     506                );
     507                // Components saved under the same (or no) name share a key; the row id keeps each one classifiable.
     508                $references = array_count_values( array_column( $packaging, 'component_ref' ) );
     509                foreach ( $packaging as $index => $component ) {
     510                        if ( $references[ $component['component_ref'] ] > 1 ) {
     511                                $suffix    = '#' . (int) ( $ledger_lines[ $index ]['_component_id'] ?? 0 );
     512                                $reference = $component['component_ref'] . $suffix;
     513                                while ( isset( $references[ $reference ] ) ) {
     514                                        $reference .= $suffix;
     515                                }
     516                                $packaging[ $index ]['component_ref'] = $reference;
     517                                $references[ $reference ]             = 1;
     518                        }
     519                }
     520                $event = array(
    490521                        'source_identity'       => array(
    491522                                'order_ref'    => $order_ref,
    … …  
    505536                                'basis'            => 'merchant_default',
    506537                        ),
    507                         'packaging'             => array_map(
    508                                 static fn( array $line ): array => array(
    509                                         'component_ref'   => ( null === $line['order_item_id'] ? 'shipping' : (string) $line['order_item_id'] ) . ':' . ( $line['_component_ref'] ?? '' ),
    510                                         'product_ref'     => (string) ( $line['product_ref'] ?? '' ),
    511                                         'profile_uuid'    => $line['profile_uuid'],
    512                                         'profile_version' => (int) $line['profile_version'],
    513                                         'material'        => $line['material_code'],
    514                                         'quantity'        => (int) $line['quantity'],
    515                                         'weight_mg'       => (int) $line['weight_mg'],
    516                                         'unit_weight_mg'  => (int) ( $line['_unit_weight_mg'] ?? $line['weight_mg'] ),
    517                                         'category'        => $line['packaging_role'],
    518                                         'netherlands'     => array_merge(
    519                                                 array( 'packaging_function' => PackagingType::ECOMMERCE === $line['packaging_role'] ? 'shipment' : $line['packaging_role'] ),
    520                                                 $line['_netherlands'] ?? array()
    521                                         ),
    522                                 ),
    523                                 $ledger_lines
    524                         ),
     538                        'packaging'             => $packaging,
    525539                );
    526540                try {
    … …  
    599613                                        'profile_version' => (int) $resolved['profile']['version'],
    600614                                        '_component_ref'  => (string) ( $component['component_key'] ?? '' ) . ( $freeze_denmark ? '#' . $component['id'] : '' ),
     615                                        '_component_id'   => (int) $component['id'],
    601616                                        '_unit_weight_mg' => (int) $component['weight_mg'],
    602617                                        '_denmark'        => $freeze_denmark ? (string) ( $component['scheme_override_json'] ?? '' ) : null,
    … …  
    630645                                        'profile_version' => (int) $shipping['profile']['version'],
    631646                                        '_component_ref'  => (string) ( $component['component_key'] ?? '' ) . ( $freeze_denmark ? '#' . $component['id'] : '' ),
     647                                        '_component_id'   => (int) $component['id'],
    632648                                        '_unit_weight_mg' => (int) $component['weight_mg'],
    633649                                        '_denmark'        => $freeze_denmark ? (string) ( $component['scheme_override_json'] ?? '' ) : null,
  • ombel-packaging-records/trunk/languages/ombel-packaging-records-nl_NL.po

    r3764769 r3765190  
    256256msgstr "Een gebruikte profielversie of de Deense componentgegevens ontbreken of zijn onbekend."
    257257
    258 #: includes/Woo/OrderSnapshotBuilder.php:683
     258#: includes/Woo/OrderSnapshotBuilder.php:693
    259259msgid "A valid destination country is required before recording packaging."
    260260msgstr "Een geldig bestemmingsland is vereist voordat verpakkingen kunnen worden geregistreerd."
    … …  
    320320msgstr "Nog een component toevoegen"
    321321
    322 #: includes/Repository/PackagingProfileRepository.php:118
     322#: includes/Repository/PackagingProfileRepository.php:127
    323323msgid "Add at least one material before activating this version."
    324324msgstr "Voeg minstens één materiaal toe voordat je deze versie activeert."
    … …  
    400400msgstr "Uitgebreide overgangsgegevens voor Duitsland"
    401401
    402 #: includes/Licensing/Capability.php:106
     402#: includes/Licensing/Capability.php:109
    403403msgid "Advanced audit history"
    404404msgstr "Uitgebreide controlehistorie"
    … …  
    424424msgstr "Alle materialen"
    425425
    426 #: includes/Packaging/PackagingCsv.php:424
     426#: includes/Packaging/PackagingCsv.php:431
    427427msgid "Already assigned to this profile."
    428428msgstr "Al toegewezen aan dit profiel."
    … …  
    432432msgstr "Al verzonden"
    433433
    434 #: includes/Admin/PackagingPage.php:1195
     434#: includes/Admin/PackagingPage.php:1196
    435435msgid "Also assign to product variations"
    436436msgstr "Ook toewijzen aan productvariaties"
    … …  
    489489msgstr "Een andere partij"
    490490
    491 #: includes/Admin/BelgiumPage.php:125
     491#: includes/Admin/BelgiumPage.php:130
    492492msgid "Answer facts about how you sell and package goods. Leave anything you do not know as “Not provided”; the plugin will not turn a guess into a legal conclusion."
    493493msgstr "Beantwoord vragen over hoe je goederen verkoopt en verpakt. Laat wat je niet weet op ‘Niet ingevuld’ staan; de plugin maakt van een aanname geen juridische conclusie."
    … …  
    513513msgstr "Vul eerst in waar je bedrijf is gevestigd; tot die tijd blijft dit open."
    514514
    515 #: includes/Admin/PackagingPage.php:1414
     515#: includes/Admin/PackagingPage.php:1415
    516516msgid "Applied"
    517517msgstr "Toegepast"
    … …  
    525525msgstr "Toegepaste versie van bedrijfscontext"
    526526
    527 #: includes/Admin/PackagingPage.php:1202
     527#: includes/Admin/PackagingPage.php:1203
    528528msgid "Apply in the background"
    529529msgstr "Op de achtergrond toepassen"
    530530
    531 #: includes/Admin/PackagingPage.php:1390
     531#: includes/Admin/PackagingPage.php:1391
    532532msgid "Apply this preview"
    533533msgstr "Deze voorvertoning toepassen"
    534534
    535 #: includes/Admin/PackagingPage.php:1385
     535#: includes/Admin/PackagingPage.php:1386
    536536msgid "Apply this preview without uploading again. It expires after 10 minutes and can be used once. Changed products, profiles or assignments require a new preview. Rows with errors will not be assigned."
    537537msgstr "Pas deze voorvertoning toe zonder opnieuw te uploaden. Deze verloopt na 10 minuten en kan één keer worden gebruikt. Gewijzigde producten, profielen of toewijzingen vereisen een nieuwe voorvertoning. Rijen met fouten worden niet toegewezen."
    … …  
    561561msgstr "Bewijs voor de beoordeling"
    562562
    563 #: includes/Packaging/PackagingCsv.php:469
     563#: includes/Packaging/PackagingCsv.php:476
    564564#, php-format
    565565msgid "Assign %s"
    … …  
    574574msgstr "In bulk toewijzen"
    575575
    576 #: includes/Admin/PackagingPage.php:1128
     576#: includes/Admin/PackagingPage.php:1129
    577577msgid "Assign packaging to many products at once"
    578578msgstr "Verpakking aan meerdere producten tegelijk toewijzen"
    … …  
    582582msgstr "Wijs verpakking toe aan de variatie, of aan het hoofdproduct zodat elke variatie deze overneemt."
    583583
    584 #: includes/Admin/PackagingPage.php:1286
     584#: includes/Admin/PackagingPage.php:1287
    585585msgid "Assigned"
    586586msgstr "Toegewezen"
    … …  
    670670msgstr "Voordat je in Denemarken rapporteert"
    671671
    672 #: includes/Admin/BelgiumPage.php:111
     672#: includes/Admin/BelgiumPage.php:116
    673673msgid "Belgian annual totals"
    674674msgstr "Belgische jaartotalen"
    … …  
    734734msgstr "Werk je LUCID-registratiegegevens bij"
    735735
    736 #: includes/Licensing/Capability.php:93
     736#: includes/Licensing/Capability.php:96
    737737msgid "Bulk packaging assignment"
    738738msgstr "Verpakkingen in bulk toewijzen"
    … …  
    762762msgstr "Bedrijven"
    763763
    764 #: includes/Admin/PackagingPage.php:1352
     764#: includes/Admin/PackagingPage.php:1353
    765765msgid "CSV file"
    766766msgstr "CSV-bestand"
    767767
    768 #: includes/Admin/PackagingPage.php:1398
     768#: includes/Admin/PackagingPage.php:1399
    769769msgid "CSV import result"
    770770msgstr "CSV-importresultaat"
    … …  
    778778msgstr "Berekend"
    779779
    780 #: includes/Admin/BelgiumPage.php:154
     780#: includes/Admin/BelgiumPage.php:159
    781781msgid "Calculation method"
    782782msgstr "Berekeningsmethode"
    … …  
    814814msgstr "Categorieën met ontbrekende gegevens"
    815815
    816 #: includes/Admin/PackagingPage.php:1166
     816#: includes/Admin/PackagingPage.php:1167
    817817msgid "Category or tag"
    818818msgstr "Categorie of tag"
    … …  
    908908msgstr "Gecontroleerd in het officiële register"
    909909
    910 #: includes/Admin/PackagingPage.php:1284
     910#: includes/Admin/PackagingPage.php:1285
    911911msgid "Checked selection"
    912912msgstr "Gecontroleerde selectie"
    … …  
    917917msgstr "Gecontroleerd. Je abonnement is: %s."
    918918
    919 #: includes/Admin/PackagingPage.php:1203
     919#: includes/Admin/PackagingPage.php:1204
    920920msgid "Choices changed. Preview again before applying."
    921921msgstr "De keuzes zijn gewijzigd. Bekijk opnieuw een voorvertoning voordat je toepast."
    … …  
    993993msgstr "Kies een voorbereidingsperiode binnen één kalenderjaar."
    994994
    995 #: includes/Packaging/BulkAssignment.php:94
     995#: includes/Packaging/BulkAssignment.php:98
    996996msgid "Choose a product category or tag."
    997997msgstr "Kies een productcategorie of tag."
     998
     999#: includes/Packaging/BulkAssignment.php:92 includes/Packaging/PackagingCsv.php:391
     1000msgid "Choose a product packaging profile. Shipping packaging is added once per order, not to products."
     1001msgstr "Kies een profiel voor productverpakking. Verzendverpakking wordt één keer per order toegevoegd, niet aan producten."
    9981002
    9991003#: includes/Admin/SwedenPage.php:63
    … …  
    11051109msgstr "Cloudabonnementen zijn nog niet ingesteld. De lokale administratie en CSV-exports blijven beschikbaar."
    11061110
    1107 #: includes/Admin/CloudPage.php:59 includes/Admin/Menu.php:138 includes/Admin/Menu.php:139 includes/Licensing/Capability.php:98
     1111#: includes/Admin/CloudPage.php:59 includes/Admin/Menu.php:138 includes/Admin/Menu.php:139 includes/Licensing/Capability.php:101
    11081112msgid "Cloud sync"
    11091113msgstr "Cloudsynchronisatie"
    … …  
    11171121msgstr "Cloudsynchronisatie is niet verbonden, dus de voorbereidingsweergave van de dienst kan niet worden gecontroleerd."
    11181122
     1123#: includes/Infrastructure/Cloud/CloudException.php:49
     1124msgid "Cloud sync is waiting for an active subscription. Local records remain queued and will retry after activation or renewal."
     1125msgstr "Cloudsynchronisatie wacht op een actief abonnement. Lokale records blijven in de wachtrij en worden na activering of verlenging opnieuw aangeboden."
     1126
    11191127#: includes/Admin/PackagingPage.php:1050 includes/Admin/PackagingPage.php:635 includes/Admin/PackagingPage.php:884 includes/Denmark/ComponentFacts.php:61
    11201128msgid "Commercial"
    … …  
    11491157msgstr "Volledigheid is niet vastgelegd voor deze historische order"
    11501158
    1151 #: includes/Licensing/Capability.php:94
     1159#: includes/Licensing/Capability.php:97
    11521160msgid "Compliance overview"
    11531161msgstr "Overzicht verpakkingsadministratie"
    11541162
    1155 #: includes/Admin/BelgiumPage.php:147
     1163#: includes/Admin/BelgiumPage.php:152
    11561164msgid "Compliance route"
    11571165msgstr "Route voor naleving"
    … …  
    14191427msgstr "Vestigingsland (twee hoofdletters)"
    14201428
    1421 #: includes/Licensing/Capability.php:101
     1429#: includes/Licensing/Capability.php:104
    14221430msgid "Country reports"
    14231431msgstr "Landrapporten"
    14241432
    1425 #: includes/Admin/PackagingPage.php:1233
     1433#: includes/Admin/PackagingPage.php:1234
    14261434msgid "Counts and sample are checked again before Apply. Background batches use the current catalogue; this preview does not freeze a product list. The preview expires after ten minutes and can be used once."
    14271435msgstr "Aantallen en steekproef worden vóór toepassen opnieuw gecontroleerd. Achtergrondbatches gebruiken de actuele catalogus; deze voorvertoning bevriest geen productlijst. De voorvertoning verloopt na tien minuten en kan één keer worden gebruikt."
    … …  
    14391447msgstr "Een verpakkingsprofiel aanmaken"
    14401448
    1441 #: includes/Admin/PackagingPage.php:1137
     1449#: includes/Admin/PackagingPage.php:1138
    14421450msgid "Create and activate a packaging profile first."
    14431451msgstr "Maak eerst een verpakkingsprofiel aan en activeer het."
    … …  
    14711479msgstr "Huidige productdekking voor verpakking"
    14721480
    1473 #: includes/Admin/BelgiumPage.php:108 includes/Admin/CountriesPage.php:152 includes/Admin/NetherlandsPreparationPage.php:261
     1481#: includes/Admin/BelgiumPage.php:113 includes/Admin/CountriesPage.php:152 includes/Admin/NetherlandsPreparationPage.php:261
    14741482msgid "Current results"
    14751483msgstr "Huidige resultaten"
    … …  
    14831491msgstr "Huidige versie"
    14841492
    1485 #: includes/Admin/PackagingPage.php:1245
     1493#: includes/Admin/PackagingPage.php:1246
    14861494msgid "Currently"
    14871495msgstr "Momenteel"
    … …  
    15271535msgstr "Gegevensvolledigheid"
    15281536
    1529 #: includes/Licensing/Capability.php:95
     1537#: includes/Licensing/Capability.php:98
    15301538msgid "Data completeness & missing data"
    15311539msgstr "Volledigheid en ontbrekende gegevens"
    … …  
    15551563msgstr "De plugin deactiveren"
    15561564
    1557 #: includes/Licensing/Capability.php:104
     1565#: includes/Licensing/Capability.php:107
    15581566msgid "Deadline tracking"
    15591567msgstr "Termijnen bijhouden"
    … …  
    15711579msgstr "Aangifte"
    15721580
    1573 #: includes/Admin/BelgiumPage.php:153
     1581#: includes/Admin/BelgiumPage.php:158
    15741582msgid "Declaration context"
    15751583msgstr "Aangiftecontext"
    … …  
    16551663msgstr "Statiegeldsysteem"
    16561664
    1657 #: includes/Admin/DeadlinesPage.php:125 includes/Admin/PackagingPage.php:1397
     1665#: includes/Admin/DeadlinesPage.php:125 includes/Admin/PackagingPage.php:1398
    16581666msgid "Detail"
    16591667msgstr "Detail"
    … …  
    16951703msgstr "Veranderde je producentrol rond de overgang in augustus 2026?"
    16961704
    1697 #: includes/Admin/BelgiumPage.php:155
     1705#: includes/Admin/BelgiumPage.php:160
    16981706msgid "Direct IVC system status"
    16991707msgstr "Directe IVC-systeemstatus"
    … …  
    17191727msgstr "Verbinding verbroken. Er zijn geen lokale gegevens verwijderd en je webshop blijft orders vastleggen zoals voorheen."
    17201728
    1721 #: includes/Admin/BelgiumPage.php:134
     1729#: includes/Admin/BelgiumPage.php:139
    17221730msgid "Do you add shipping packaging for Belgian orders?"
    17231731msgstr "Voeg je verzendverpakking toe aan Belgische orders?"
    17241732
    1725 #: includes/Admin/BelgiumPage.php:133
     1733#: includes/Admin/BelgiumPage.php:138
    17261734msgid "Do you import goods that are already packaged?"
    17271735msgstr "Importeer je goederen die al verpakt zijn?"
    … …  
    17311739msgstr "Verkoop je rechtstreeks aan eindgebruikers in Spanje?"
    17321740
    1733 #: includes/Admin/BelgiumPage.php:131
     1741#: includes/Admin/BelgiumPage.php:136
    17341742msgid "Do you sell packaged goods to Belgium?"
    17351743msgstr "Verkoop je verpakte goederen aan België?"
    17361744
    1737 #: includes/Admin/BelgiumPage.php:136
     1745#: includes/Admin/BelgiumPage.php:141
    17381746msgid "Do you sell to Belgian businesses that use the products themselves?"
    17391747msgstr "Verkoop je aan Belgische bedrijven die de producten zelf gebruiken?"
    17401748
    1741 #: includes/Admin/BelgiumPage.php:135
     1749#: includes/Admin/BelgiumPage.php:140
    17421750msgid "Do you sell to Belgian consumers?"
    17431751msgstr "Verkoop je aan Belgische consumenten?"
    17441752
    1745 #: includes/Admin/BelgiumPage.php:137
     1753#: includes/Admin/BelgiumPage.php:142
    17461754msgid "Do you sell to Belgian resellers?"
    17471755msgstr "Verkoop je aan Belgische wederverkopers?"
    … …  
    17511759msgstr "Verzend je zelf rechtstreeks naar Nederlandse klanten (verkoop op afstand), in plaats van via een Nederlandse importeur of wederverkoper?"
    17521760
    1753 #: includes/Admin/BelgiumPage.php:138
     1761#: includes/Admin/BelgiumPage.php:143
    17541762msgid "Do you use reusable packaging?"
    17551763msgstr "Gebruik je herbruikbare verpakking?"
    … …  
    17831791msgstr "Heeft je bedrijf een vestiging of andere inrichting in Nederland?"
    17841792
    1785 #: includes/Admin/BelgiumPage.php:132
     1793#: includes/Admin/BelgiumPage.php:137
    17861794msgid "Does your business have an establishment in Belgium?"
    17871795msgstr "Heeft je bedrijf een vestiging in België?"
    … …  
    18441852msgstr "Concept"
    18451853
    1846 #: includes/Admin/PackagingPage.php:1493
     1854#: includes/Admin/PackagingPage.php:1494
    18471855msgid "Draft — still editable"
    18481856msgstr "Concept — nog bewerkbaar"
    … …  
    19441952msgstr "Omgeving"
    19451953
    1946 #: includes/Admin/PackagingPage.php:1412
     1954#: includes/Admin/PackagingPage.php:1413
    19471955msgid "Error"
    19481956msgstr "Fout"
    … …  
    19561964msgstr "Gebeurtenissen met ontbrekende verpakking"
    19571965
    1958 #: includes/Admin/PackagingPage.php:1162 includes/Admin/PackagingPage.php:405
     1966#: includes/Admin/PackagingPage.php:1163 includes/Admin/PackagingPage.php:405
    19591967msgid "Every published product"
    19601968msgstr "Elk gepubliceerd product"
    … …  
    19761984msgstr "Bewijs"
    19771985
    1978 #: includes/Licensing/Capability.php:105
     1986#: includes/Licensing/Capability.php:108
    19791987msgid "Evidence archive"
    19801988msgstr "Bewijsarchief"
    … …  
    20082016msgstr "Voorbeeld — ‘Kleine pakketdoos’: kartonnen doos 115 g, papieren vulmateriaal 20 g, plastic tape 6 g. Totaal 141 g per order."
    20092017
    2010 #: includes/Admin/PackagingPage.php:1231
     2018#: includes/Admin/PackagingPage.php:1232
    20112019msgid "Existing assignments may be replaced. Already correct assignments are skipped."
    20122020msgstr "Bestaande toewijzingen kunnen worden vervangen. Toewijzingen die al juist zijn worden overgeslagen."
    20132021
    2014 #: includes/Admin/PackagingPage.php:1230
     2022#: includes/Admin/PackagingPage.php:1231
    20152023msgid "Existing packaging is left alone, including inherited packaging. Already correct assignments are skipped."
    20162024msgstr "Bestaande verpakking blijft behouden, ook overgenomen verpakking. Toewijzingen die al juist zijn worden overgeslagen."
    … …  
    20242032msgstr "Verlopen — werkt als Free"
    20252033
    2026 #: includes/Licensing/Capability.php:96
     2034#: includes/Licensing/Capability.php:99
    20272035msgid "Export your own data (CSV)"
    20282036msgstr "Je eigen gegevens exporteren (CSV)"
    20292037
    2030 #: includes/Admin/PackagingPage.php:1321
     2038#: includes/Admin/PackagingPage.php:1322
    20312039msgid "Export your packaging data"
    20322040msgstr "Je verpakkingsgegevens exporteren"
    … …  
    20442052msgstr "Bedrijfsgegevens die nodig zijn voor de Nederlandse verpakkingsregels. Alleen ter voorbereiding: dit is geen Verpact-registratie, aangifte, export of upload."
    20452053
    2046 #: includes/Admin/PackagingPage.php:1305 includes/Admin/PackagingPage.php:1412
     2054#: includes/Admin/PackagingPage.php:1306 includes/Admin/PackagingPage.php:1413
    20472055msgid "Failed"
    20482056msgstr "Mislukt"
    … …  
    20722080msgstr "Instellen afronden"
    20732081
    2074 #: includes/Admin/PackagingPage.php:1307
     2082#: includes/Admin/PackagingPage.php:1308
    20752083msgid "Finished"
    20762084msgstr "Afgerond"
    … …  
    22732281msgstr "Brutogewichten, vastgelegde verrekeningen en nettogewichten komen uit de verpakkingsadministratie. Ze zijn niet ingedeeld als Deense huishoudelijke of bedrijfsverpakkingen. De verrekeningen zijn niet gecontroleerd als aftrekposten voor Deense rapportages."
    22742282
    2275 #: includes/Admin/PackagingPage.php:1485
     2283#: includes/Admin/PackagingPage.php:1486
    22762284msgid "Grouped packaging"
    22772285msgstr "Groepsverpakking"
    … …  
    23012309msgstr "Heeft een autoriteit je om een volledigheidsverklaring gevraagd?"
    23022310
    2303 #: includes/Admin/PackagingPage.php:1256
     2311#: includes/Admin/PackagingPage.php:1257
    23042312msgid "Has packaging"
    23052313msgstr "Heeft verpakking"
    … …  
    23372345msgstr "Huishoudelijk en bedrijfsmatig verwijzen naar de opgegeven uiteindelijke afvalgebruiker, niet naar de naam van de koper of een zakelijke factuur. Dit zijn niet geverifieerde fysieke gewichten; de nationale rapportagebehandeling en de volledigheid van het bedrijfsvolume moeten nog worden beoordeeld."
    23382346
    2339 #: includes/Admin/BelgiumPage.php:145
     2347#: includes/Admin/BelgiumPage.php:150
    23402348msgid "Household packaging present"
    23412349msgstr "Huishoudelijke verpakking aanwezig"
    23422350
    2343 #: includes/Admin/BelgiumPage.php:148
     2351#: includes/Admin/BelgiumPage.php:153
    23442352msgid "Household route"
    23452353msgstr "Huishoudelijke route"
    … …  
    24132421msgstr "Import en export"
    24142422
    2415 #: includes/Admin/PackagingPage.php:1340
     2423#: includes/Admin/PackagingPage.php:1341
    24162424msgid "Import packaging assignments"
    24172425msgstr "Verpakkingstoewijzingen importeren"
    24182426
    2419 #: includes/Admin/PackagingPage.php:1374
     2427#: includes/Admin/PackagingPage.php:1375
    24202428msgid "Import results"
    24212429msgstr "Importresultaten"
    … …  
    24342442msgstr "Importeur"
    24352443
    2436 #: includes/Admin/PackagingPage.php:1494
     2444#: includes/Admin/PackagingPage.php:1495
    24372445msgid "In use"
    24382446msgstr "In gebruik"
    … …  
    24752483msgstr "Industrieel of bedrijfsmatig"
    24762484
    2477 #: includes/Admin/BelgiumPage.php:146
     2485#: includes/Admin/BelgiumPage.php:151
    24782486msgid "Industrial packaging present"
    24792487msgstr "Industriële verpakking aanwezig"
    24802488
    2481 #: includes/Admin/BelgiumPage.php:149
     2489#: includes/Admin/BelgiumPage.php:154
    24822490msgid "Industrial route"
    24832491msgstr "Industriële route"
    24842492
    2485 #: includes/Admin/BelgiumPage.php:114
     2493#: includes/Admin/BelgiumPage.php:119
    24862494msgid "Information status"
    24872495msgstr "Informatiestatus"
    … …  
    24962504msgstr "Beoogd gebruik"
    24972505
    2498 #: includes/Admin/BelgiumPage.php:118
     2506#: includes/Admin/BelgiumPage.php:123
    24992507msgid "Internal boundary status"
    25002508msgstr "Interne afbakeningsstatus"
    … …  
    25122520msgstr "Alleen interne voorbereiding. Officiële exports, indieningen, tarieven en automatische keuzes voor de rapportageroute zijn niet beschikbaar."
    25132521
    2514 #: includes/Admin/BelgiumPage.php:101
     2522#: includes/Admin/BelgiumPage.php:106
    25152523msgid "Internal readiness state"
    25162524msgstr "Interne gereedheidsstatus"
    … …  
    25202528msgstr "Interne redencodes"
    25212529
    2522 #: includes/Admin/BelgiumPage.php:101
     2530#: includes/Admin/BelgiumPage.php:106
    25232531msgid "Internal registration state"
    25242532msgstr "Interne registratiestatus"
    … …  
    25282536msgstr "Interne releasestatus"
    25292537
    2530 #: includes/Admin/BelgiumPage.php:101
     2538#: includes/Admin/BelgiumPage.php:106
    25312539msgid "Internal route state"
    25322540msgstr "Interne routestatus"
    … …  
    25682576msgstr "Item"
    25692577
    2570 #: includes/Admin/BelgiumPage.php:113
     2578#: includes/Admin/BelgiumPage.php:118
    25712579msgid "Known Belgian packaging"
    25722580msgstr "Bekende Belgische verpakking"
    … …  
    26422650msgstr "Laat dit op ‘niet bepaald’ staan totdat iemand het heeft gecontroleerd. De plugin doet geen aannames over je rol; bij een onbekende rol meldt hij wat niet bekend is."
    26432651
    2644 #: includes/Admin/PackagingPage.php:1287
     2652#: includes/Admin/PackagingPage.php:1288
    26452653msgid "Left alone"
    26462654msgstr "Ongewijzigd gelaten"
    … …  
    26742682msgstr "Beperkte ondersteuning voor voorbereiding van Belgische verpakkingen. Deze pagina dient niets in."
    26752683
    2676 #: includes/Admin/PackagingPage.php:1397
     2684#: includes/Admin/PackagingPage.php:1398
    26772685msgid "Line"
    26782686msgstr "Regel"
    … …  
    26862694msgstr "Lokale vastlegging voor Nederland staat uit voor nieuwe orders. Onderstaande resultaten (indien aanwezig) betreffen alleen orders die zijn vastgelegd vóór het uitschakelen."
    26872695
    2688 #: includes/Licensing/Capability.php:97
     2696#: includes/Licensing/Capability.php:100
    26892697msgid "Local audit log"
    26902698msgstr "Lokaal controlelogboek"
    … …  
    27182726msgstr "ONTBREEKT — achtergrondtaken kunnen niet worden uitgevoerd"
    27192727
    2720 #: includes/Licensing/Capability.php:99
     2728#: includes/Licensing/Capability.php:102
    27212729msgid "Maintained compliance rules"
    27222730msgstr "Onderhouden regels voor naleving"
    … …  
    27802788msgstr "Materialen in dit profiel"
    27812789
    2782 #: includes/Admin/BelgiumPage.php:110
     2790#: includes/Admin/BelgiumPage.php:115
    27832791msgid "Measure"
    27842792msgstr "Meten"
    … …  
    28522860msgstr "Maandabonnement afrekenen"
    28532861
    2854 #: includes/Admin/BelgiumPage.php:139
     2862#: includes/Admin/BelgiumPage.php:144
    28552863msgid "More Belgium preparation details"
    28562864msgstr "Meer voorbereidingsgegevens voor België"
    28572865
    2858 #: includes/Admin/BelgiumPage.php:116
     2866#: includes/Admin/BelgiumPage.php:121
    28592867msgid "More details"
    28602868msgstr "Meer details"
    … …  
    28802888msgstr "Toekomstige toewijzingen naar deze versie verplaatsen"
    28812889
    2882 #: includes/Licensing/Capability.php:100
     2890#: includes/Licensing/Capability.php:103
    28832891msgid "Multiple jurisdictions"
    28842892msgstr "Meerdere rechtsgebieden"
    … …  
    29282936msgstr "Aandacht nodig"
    29292937
    2930 #: includes/Admin/BelgiumPage.php:114 includes/Admin/BelgiumPage.php:95 includes/Admin/CountriesPage.php:267 includes/Admin/NetherlandsPreparationPage.php:372 includes/Admin/OverviewPage.php:466
     2938#: includes/Admin/BelgiumPage.php:100 includes/Admin/BelgiumPage.php:119 includes/Admin/CountriesPage.php:267 includes/Admin/NetherlandsPreparationPage.php:372 includes/Admin/OverviewPage.php:466
    29312939msgid "Needs information"
    29322940msgstr "Informatie nodig"
    … …  
    30613069msgstr "Nooit gecontroleerd bij de dienst"
    30623070
    3063 #: includes/Admin/PackagingPage.php:1196
     3071#: includes/Admin/PackagingPage.php:1197
    30643072msgid "Never overwrite packaging that is already assigned"
    30653073msgstr "Al toegewezen verpakking nooit overschrijven"
    … …  
    30813089msgstr "Nee"
    30823090
     3091#: includes/Admin/BelgiumPage.php:96
     3092msgid "No Belgian rule version applies to today's date, so readiness is not evaluated. Recorded totals remain available."
     3093msgstr "Voor de datum van vandaag geldt geen Belgische regelversie, dus de gereedheid wordt niet beoordeeld. Vastgelegde totalen blijven beschikbaar."
     3094
    30833095#: includes/Compliance/AbstractEprSchemeAdapter.php:82
    30843096msgid "No EPR registration number on file for this scheme; the export will be generated but is not filing-ready."
    … …  
    31703182msgstr "Er zijn nog geen orders voor dit land vastgelegd. Resultaten verschijnen nadat een WooCommerce-order je status voor verzending bereikt."
    31713183
    3172 #: includes/Admin/PackagingPage.php:1256
     3184#: includes/Admin/PackagingPage.php:1257
    31733185msgid "No packaging"
    31743186msgstr "Geen verpakking"
    … …  
    32503262msgstr "Er zijn nog geen taken afgeleid uit je regels. Gebruik hieronder ‘Mijn regels opnieuw controleren’, of verbind de cloudregeldienst als je dat nog niet hebt gedaan."
    32513263
    3252 #: includes/Admin/PackagingPage.php:1262
     3264#: includes/Admin/PackagingPage.php:1263
    32533265msgid "No — already correct"
    32543266msgstr "Nee — al juist"
    … …  
    33423354msgstr "Niet inbegrepen"
    33433355
    3344 #: includes/Admin/BelgiumPage.php:173 includes/Admin/NetherlandsPage.php:303 includes/Admin/NetherlandsPage.php:317 includes/Admin/NetherlandsPage.php:329 includes/Admin/NetherlandsPage.php:357 includes/Admin/NetherlandsPage.php:450 includes/Admin/PackagingPage.php:1044 includes/Admin/PackagingPage.php:637 includes/Admin/PackagingPage.php:878 includes/Admin/PackagingPage.php:922 includes/Admin/PackagingPage.php:963 includes/Admin/SpainPage.php:132 includes/Admin/SpainPage.php:256 includes/Austria/ComponentFacts.php:87 includes/Denmark/ComponentFacts.php:81
     3356#: includes/Admin/BelgiumPage.php:178 includes/Admin/NetherlandsPage.php:303 includes/Admin/NetherlandsPage.php:317 includes/Admin/NetherlandsPage.php:329 includes/Admin/NetherlandsPage.php:357 includes/Admin/NetherlandsPage.php:450 includes/Admin/PackagingPage.php:1044 includes/Admin/PackagingPage.php:637 includes/Admin/PackagingPage.php:878 includes/Admin/PackagingPage.php:922 includes/Admin/PackagingPage.php:963 includes/Admin/SpainPage.php:132 includes/Admin/SpainPage.php:256 includes/Austria/ComponentFacts.php:87 includes/Denmark/ComponentFacts.php:81
    33453357msgid "Not provided"
    33463358msgstr "Niet ingevuld"
    … …  
    33793391msgstr "Er is nog niets verstuurd."
    33803392
    3381 #: includes/Admin/PackagingPage.php:1153
     3393#: includes/Admin/PackagingPage.php:1154
    33823394msgid "Nothing is changed until you have seen a preview. Large selections run in the background so your browser is never waiting."
    33833395msgstr "Er wordt niets gewijzigd voordat je een voorvertoning hebt gezien. Grote selecties worden op de achtergrond verwerkt zodat je browser niet hoeft te wachten."
    … …  
    34593471msgstr "Officieel register gecontroleerd"
    34603472
    3461 #: includes/Licensing/Capability.php:102
     3473#: includes/Licensing/Capability.php:105
    34623474msgid "Official scheme export formats"
    34633475msgstr "Officiële exportformaten van het systeem"
    … …  
    34913503msgstr "Eén keer per jaar"
    34923504
    3493 #: includes/Admin/PackagingPage.php:1163
     3505#: includes/Admin/PackagingPage.php:1164
    34943506msgid "One category or tag"
    34953507msgstr "Eén categorie of tag"
    … …  
    34993511msgstr "Alleen .csv-bestanden kunnen worden geïmporteerd."
    35003512
    3501 #: includes/Repository/PackagingProfileRepository.php:114
     3513#: includes/Repository/PackagingProfileRepository.php:123
    35023514msgid "Only a draft packaging version can be activated."
    35033515msgstr "Alleen een conceptversie van een verpakking kan worden geactiveerd."
    … …  
    35233535msgstr "Alleen als je de clouddienst verbindt: een gepseudonimiseerde orderverwijzing, het bestemmingsland, verpakkingsmaterialen en gewichten, en versienummers. Nooit een klantnaam, e-mailadres, telefoonnummer of adres."
    35243536
    3525 #: includes/Admin/PackagingPage.php:1161
     3537#: includes/Admin/PackagingPage.php:1162
    35263538msgid "Only products with no packaging yet"
    35273539msgstr "Alleen producten zonder verpakking"
    … …  
    35553567msgstr "Het officiële register openen"
    35563568
    3557 #: includes/Admin/BelgiumPage.php:152
     3569#: includes/Admin/BelgiumPage.php:157
    35583570msgid "Optional PRO member reference"
    35593571msgstr "Optionele PRO-lidverwijzing"
    … …  
    35793591msgstr "Optioneel."
    35803592
    3581 #: includes/Admin/PackagingPage.php:1194
     3593#: includes/Admin/PackagingPage.php:1195
    35823594msgid "Options"
    35833595msgstr "Opties"
    … …  
    36513663msgstr "Andere bijzondere stroom"
    36523664
    3653 #: includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/NetherlandsPreparationPage.php:275 includes/Admin/PackagingPage.php:1397
     3665#: includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/NetherlandsPreparationPage.php:275 includes/Admin/PackagingPage.php:1398
    36543666msgid "Outcome"
    36553667msgstr "Resultaat"
    … …  
    36713683msgstr "Overzicht PPWR en EPR"
    36723684
    3673 #: includes/Admin/BelgiumPage.php:150
     3685#: includes/Admin/BelgiumPage.php:155
    36743686msgid "PPWR EPR representative"
    36753687msgstr "PPWR/EPR-vertegenwoordiger"
    … …  
    37283740msgstr "Verpakking dit jaar op de markt gebracht"
    37293741
    3730 #: includes/Admin/CloudPage.php:433 includes/Admin/PackagingPage.php:1180
     3742#: includes/Admin/CloudPage.php:433 includes/Admin/PackagingPage.php:1181
    37313743msgid "Packaging profile"
    37323744msgstr "Verpakkingsprofiel"
    … …  
    37363748msgstr "Verpakkingsprofiel niet gevonden."
    37373749
    3738 #: includes/Admin/PackagingPage.php:540 includes/Admin/PackagingPage.php:81 includes/Licensing/Capability.php:92
     3750#: includes/Admin/PackagingPage.php:540 includes/Admin/PackagingPage.php:81 includes/Licensing/Capability.php:95
    37393751msgid "Packaging profiles"
    37403752msgstr "Verpakkingsprofielen"
    37413753
    3742 #: includes/Admin/PackagingPage.php:1327
     3754#: includes/Admin/PackagingPage.php:1328
    37433755msgid "Packaging profiles and materials (CSV)"
    37443756msgstr "Verpakkingsprofielen en materialen (CSV)"
    … …  
    39263938msgstr "Een rapport voorbereiden bevriest je totalen voor die periode. Er wordt niets geüpload of ingediend; een technisch geldig bestand garandeert niet dat het systeem het accepteert."
    39273939
    3928 #: includes/Admin/PackagingPage.php:1201
     3940#: includes/Admin/PackagingPage.php:1202
    39293941msgid "Preview changes"
    39303942msgstr "Wijzigingen vooraf bekijken"
    … …  
    39433955msgstr "Versiemigratie vooraf bekijken"
    39443956
    3945 #: includes/Admin/PackagingPage.php:1220 includes/Admin/PackagingPage.php:1374
     3957#: includes/Admin/PackagingPage.php:1221 includes/Admin/PackagingPage.php:1375
    39463958msgid "Preview — nothing has been changed"
    39473959msgstr "Voorvertoning — er is niets gewijzigd"
    … …  
    39713983msgstr "Besloten bèta"
    39723984
    3973 #: includes/Admin/BelgiumPage.php:144
     3985#: includes/Admin/BelgiumPage.php:149
    39743986msgid "Private label context"
    39753987msgstr "Huismerkcontext"
    … …  
    40364048msgstr "Producenten die nieuw verplicht zijn onder § 6(1) Satz 1 en eerder niet verplicht waren, moeten de wettelijke datum voor nieuwe registratie gebruiken die in de ondertekende regels staat."
    40374049
    4038 #: includes/Admin/MissingDataPage.php:343 includes/Admin/PackagingPage.php:1245 includes/Admin/PackagingPage.php:1397 includes/Admin/PackagingPage.php:755
     4050#: includes/Admin/MissingDataPage.php:343 includes/Admin/PackagingPage.php:1246 includes/Admin/PackagingPage.php:1398 includes/Admin/PackagingPage.php:755
    40394051msgid "Product"
    40404052msgstr "Product"
    … …  
    40444056msgstr "Product- / verkoopverpakking"
    40454057
    4046 #: includes/Admin/OrderSyncStatusMetabox.php:113 includes/Admin/PackagingPage.php:1483 includes/Admin/PackagingPage.php:934 includes/Admin/ProductPackagingMetabox.php:255 includes/Admin/ProductPackagingMetabox.php:63 includes/Admin/SetupWizardPage.php:480 includes/Admin/SpainPage.php:120 includes/Admin/SpainPage.php:275 includes/Austria/ComponentFacts.php:81
     4058#: includes/Admin/OrderSyncStatusMetabox.php:113 includes/Admin/PackagingPage.php:1484 includes/Admin/PackagingPage.php:934 includes/Admin/ProductPackagingMetabox.php:255 includes/Admin/ProductPackagingMetabox.php:63 includes/Admin/SetupWizardPage.php:480 includes/Admin/SpainPage.php:120 includes/Admin/SpainPage.php:275 includes/Austria/ComponentFacts.php:81
    40474059msgid "Product packaging"
    40484060msgstr "Productverpakking"
    … …  
    40534065msgstr "Productverpakking ontbreekt voor orderregel #%d"
    40544066
    4055 #: includes/Admin/PackagingPage.php:1226
     4067#: includes/Admin/PackagingPage.php:1227
    40564068msgid "Product variations are excluded."
    40574069msgstr "Productvariaties zijn uitgesloten."
    40584070
    4059 #: includes/Admin/PackagingPage.php:1225
     4071#: includes/Admin/PackagingPage.php:1226
    40604072msgid "Product variations are included."
    40614073msgstr "Productvariaties zijn inbegrepen."
    40624074
    4063 #: includes/Admin/PackagingPage.php:1326
     4075#: includes/Admin/PackagingPage.php:1327
    40644076msgid "Products and their packaging (CSV)"
    40654077msgstr "Producten en hun verpakking (CSV)"
    … …  
    40854097msgstr "Profielen zonder bewijs"
    40864098
    4087 #: includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1285
     4099#: includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1286
    40884100msgid "Progress"
    40894101msgstr "Voortgang"
    … …  
    41574169msgstr "Leest je opgeslagen regels opnieuw en bouwt deze lijst opnieuw op. Alles wat je al hebt gemarkeerd blijft gemarkeerd."
    41584170
    4159 #: includes/Admin/BelgiumPage.php:114 includes/Admin/BelgiumPage.php:95 includes/Admin/NetherlandsPreparationPage.php:368 includes/Admin/NetherlandsPreparationPage.php:369 includes/Onboarding/OnboardingState.php:51
     4171#: includes/Admin/BelgiumPage.php:100 includes/Admin/BelgiumPage.php:119 includes/Admin/NetherlandsPreparationPage.php:368 includes/Admin/NetherlandsPreparationPage.php:369 includes/Onboarding/OnboardingState.php:51
    41604172msgid "Ready"
    41614173msgstr "Gereed"
    … …  
    41854197msgstr "Recente activiteit"
    41864198
    4187 #: includes/Admin/PackagingPage.php:1280
     4199#: includes/Admin/PackagingPage.php:1281
    41884200msgid "Recent bulk changes"
    41894201msgstr "Recente bulkwijzigingen"
    41904202
    4191 #: includes/Admin/PackagingPage.php:1290
     4203#: includes/Admin/PackagingPage.php:1291
    41924204msgid "Recent bulk packaging assignments"
    41934205msgstr "Recente bulktoewijzingen van verpakking"
    … …  
    44414453msgstr "Registratie opgeslagen. Voeg er nog een toe, of ga verder."
    44424454
    4443 #: includes/Licensing/Capability.php:103
     4455#: includes/Licensing/Capability.php:106
    44444456msgid "Registration verification"
    44454457msgstr "Registratiecontrole"
    … …  
    45434555msgstr "Rapportageroute"
    45444556
    4545 #: includes/Admin/BelgiumPage.php:151 includes/Admin/NetherlandsPreparationPage.php:113 includes/Admin/NetherlandsPreparationPage.php:457
     4557#: includes/Admin/BelgiumPage.php:156 includes/Admin/NetherlandsPreparationPage.php:113 includes/Admin/NetherlandsPreparationPage.php:457
    45464558msgid "Reporting year"
    45474559msgstr "Rapportagejaar"
    … …  
    45594571msgstr "Wederverkoper"
    45604572
    4561 #: includes/Admin/BelgiumPage.php:142
     4573#: includes/Admin/BelgiumPage.php:147
    45624574msgid "Responsible party type"
    45634575msgstr "Type verantwoordelijke partij"
    … …  
    45674579msgstr "Vingerafdruk van resultaat"
    45684580
    4569 #: includes/Admin/PackagingPage.php:1495
     4581#: includes/Admin/PackagingPage.php:1496
    45704582msgid "Retired"
    45714583msgstr "Ingetrokken"
    … …  
    47314743msgstr "Regels"
    47324744
    4733 #: includes/Admin/OverviewPage.php:380 includes/Admin/PackagingPage.php:1309
     4745#: includes/Admin/OverviewPage.php:380 includes/Admin/PackagingPage.php:1310
    47344746msgid "Running in the background"
    47354747msgstr "Wordt op de achtergrond uitgevoerd"
    47364748
    4737 #: includes/Admin/PackagingPage.php:1246
     4749#: includes/Admin/PackagingPage.php:1247
    47384750msgid "Sample of products this bulk assignment would touch"
    47394751msgstr "Steekproef van producten die deze bulktoewijzing zou wijzigen"
    … …  
    47434755msgstr "Opslaan"
    47444756
    4745 #: includes/Admin/BelgiumPage.php:157
     4757#: includes/Admin/BelgiumPage.php:162
    47464758msgid "Save Belgium information"
    47474759msgstr "Belgische informatie opslaan"
    … …  
    48554867msgstr "Geheime sleutel"
    48564868
    4857 #: includes/Admin/Notices.php:142 includes/Admin/PackagingPage.php:1440 includes/Admin/Request.php:54
     4869#: includes/Admin/Notices.php:142 includes/Admin/PackagingPage.php:1441 includes/Admin/Request.php:54
    48584870msgid "Security check failed. Please reload the page and try again."
    48594871msgstr "Beveiligingscontrole mislukt. Vernieuw de pagina en probeer opnieuw."
    … …  
    48754887msgstr "Kies een rapporttype"
    48764888
    4877 #: includes/Admin/BelgiumPage.php:184
     4889#: includes/Admin/BelgiumPage.php:189
    48784890msgid "Select every applicable type. This is neutral preparation data, not a claim about current portal requiredness."
    48794891msgstr "Selecteer elk toepasselijk type. Dit zijn neutrale voorbereidingsgegevens, geen uitspraak over wat het huidige portaal vereist."
    … …  
    49144926msgstr "Dienstadres"
    49154927
    4916 #: includes/Admin/PackagingPage.php:1487 includes/Admin/PackagingPage.php:893 includes/Admin/PackagingPage.php:937 includes/Austria/ComponentFacts.php:84
     4928#: includes/Admin/PackagingPage.php:1488 includes/Admin/PackagingPage.php:893 includes/Admin/PackagingPage.php:937 includes/Austria/ComponentFacts.php:84
    49174929msgid "Service packaging"
    49184930msgstr "Serviceverpakking"
    … …  
    49744986msgstr "De verzendkeuze is bevroren voor deze order. Latere wijzigingen herschrijven de vastgelegde verpakking niet. Correcties vereisen een afzonderlijke aanpassing met bewijs; deze keuzelijst kan die niet maken."
    49754987
    4976 #: includes/Admin/OrderSyncStatusMetabox.php:114 includes/Admin/PackagingPage.php:1484 includes/Admin/PackagingPage.php:935 includes/Admin/SetupWizardPage.php:481 includes/Austria/ComponentFacts.php:82
     4988#: includes/Admin/OrderSyncStatusMetabox.php:114 includes/Admin/PackagingPage.php:1485 includes/Admin/PackagingPage.php:935 includes/Admin/SetupWizardPage.php:481 includes/Austria/ComponentFacts.php:82
    49774989msgid "Shipping packaging"
    49784990msgstr "Verzendverpakking"
    … …  
    50315043msgstr "Voorlopig overslaan"
    50325044
    5033 #: includes/Admin/PackagingPage.php:1416
     5045#: includes/Admin/PackagingPage.php:1417
    50345046msgid "Skipped"
    50355047msgstr "Overgeslagen"
    … …  
    51355147msgstr "Beginnen met instellen"
    51365148
    5137 #: includes/Admin/PackagingPage.php:1283
     5149#: includes/Admin/PackagingPage.php:1284
    51385150msgid "Started (UTC)"
    51395151msgstr "Gestart (UTC)"
    … …  
    51475159msgstr "Toestand"
    51485160
    5149 #: includes/Admin/CloudPage.php:211 includes/Admin/CloudPage.php:386 includes/Admin/CountriesPage.php:142 includes/Admin/CountriesPage.php:248 includes/Admin/DeadlinesPage.php:121 includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/OverviewPage.php:310 includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1288 includes/Admin/PackagingPage.php:536 includes/Admin/RegistrationsPage.php:142 includes/Admin/ReportsPage.php:464 includes/Admin/SetupWizardPage.php:572
     5161#: includes/Admin/CloudPage.php:211 includes/Admin/CloudPage.php:386 includes/Admin/CountriesPage.php:142 includes/Admin/CountriesPage.php:248 includes/Admin/DeadlinesPage.php:121 includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/OverviewPage.php:310 includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1289 includes/Admin/PackagingPage.php:536 includes/Admin/RegistrationsPage.php:142 includes/Admin/ReportsPage.php:464 includes/Admin/SetupWizardPage.php:572
    51505162msgid "Status"
    51515163msgstr "Status"
    … …  
    52735285msgstr "Taakstatus"
    52745286
    5275 #: includes/Admin/BelgiumPage.php:100 includes/Admin/CountriesPage.php:178 includes/Admin/NetherlandsPage.php:253 includes/Admin/NetherlandsPreparationPage.php:453 includes/Admin/OrderSyncStatusMetabox.php:370
     5287#: includes/Admin/BelgiumPage.php:105 includes/Admin/CountriesPage.php:178 includes/Admin/NetherlandsPage.php:253 includes/Admin/NetherlandsPreparationPage.php:453 includes/Admin/OrderSyncStatusMetabox.php:370
    52765288msgid "Technical details"
    52775289msgstr "Technische details"
    … …  
    54535465msgstr "Gegevens die deze plugin niet zelfstandig uit je webshop kan afleiden."
    54545466
    5455 #: includes/Admin/PackagingPage.php:1369
     5467#: includes/Admin/PackagingPage.php:1370
    54565468msgid "The display language changed. Upload the CSV again to review its results in this language."
    54575469msgstr "De weergavetaal is gewijzigd. Upload de CSV opnieuw om de resultaten in deze taal te bekijken."
    … …  
    54895501msgstr "De eerste route betreft eenvoudige rechtstreekse verkoop van een Nederlands bedrijf aan Spaanse eindgebruikers. Andere handelsroutes vragen om een afzonderlijke beoordeling."
    54905502
    5491 #: includes/Admin/BelgiumPage.php:117
     5503#: includes/Admin/BelgiumPage.php:122
    54925504msgid "The internal boundary check uses 300 kg exactly. Incomplete data never confirms that a merchant is below it."
    54935505msgstr "De interne afbakeningscontrole gebruikt precies 300 kg. Onvolledige gegevens bevestigen nooit dat een gebruiker hieronder blijft."
    … …  
    55895601msgstr "De geselecteerde rapportageroute of ecomodulatie moet afzonderlijk worden beoordeeld."
    55905602
    5591 #: includes/Infrastructure/Cloud/CloudException.php:52
     5603#: includes/Infrastructure/Cloud/CloudException.php:55
    55925604msgid "The service could not complete the request. Please try again later or contact Brightfern."
    55935605msgstr "De dienst kon het verzoek niet afronden. Probeer later opnieuw of neem contact op met Brightfern."
    55945606
    5595 #: includes/Infrastructure/Cloud/CloudException.php:50
     5607#: includes/Infrastructure/Cloud/CloudException.php:53
    55965608msgid "The service could not validate the packaging record. Check the required fields and contact Brightfern with the error code."
    55975609msgstr "De dienst kon de verpakkingsgegevens niet valideren. Controleer de verplichte velden en neem contact op met Brightfern met de foutcode."
    … …  
    56095621msgstr "De dienst gaf geen geldig adres voor de betaalpagina van Freemius terug."
    56105622
    5611 #: includes/Infrastructure/Cloud/CloudException.php:51
     5623#: includes/Infrastructure/Cloud/CloudException.php:54
    56125624msgid "The service is busy. The plugin will retry later."
    56135625msgstr "De dienst is bezig. De plugin probeert het later opnieuw."
    56145626
    5615 #: includes/Infrastructure/Cloud/CloudException.php:49
     5627#: includes/Infrastructure/Cloud/CloudException.php:52
    56165628msgid "The service rejected this connection. Check the Store ID and matching Secret, then test again. Contact Brightfern if it continues."
    56175629msgstr "De dienst heeft deze verbinding geweigerd. Controleer het webshop-ID en de bijbehorende geheime sleutel en test opnieuw. Neem contact op met Brightfern als dit blijft gebeuren."
    … …  
    57065718msgstr "Deze aantallen registraties kunnen overlappen. Vastgelegde correctiegewichten blijven apart en worden niet aan een gebruiksgroep toegewezen of als Deense aftrek behandeld."
    57075719
    5708 #: includes/Admin/BelgiumPage.php:140
     5720#: includes/Admin/BelgiumPage.php:145
    57095721msgid "These extra fields preserve the existing preparation model. Complete them only when you already know the answer or have checked it with your adviser."
    57105722msgstr "Deze extra velden behouden het bestaande voorbereidingsmodel. Vul ze alleen in als je het antwoord al weet of met je adviseur hebt gecontroleerd."
    … …  
    58115823msgstr "Dit wordt alleen als gegeven vastgelegd. Of de drempel van 50.000 kg vervolgens per bedrijf of voor de gehele fiscale eenheid geldt, is niet vastgesteld in de bronnen. Bijbehorende plichten en de bijdrage blijven daarom onbekend totdat dit is vastgesteld."
    58125824
    5813 #: includes/Admin/PackagingPage.php:1322
     5825#: includes/Admin/PackagingPage.php:1323
    58145826msgid "This is your data. Exporting it is available on every plan."
    58155827msgstr "Dit zijn jouw gegevens. Exporteren is beschikbaar bij elk abonnement."
    … …  
    58355847msgstr "Deze oudere versie heeft geen vastgelegde koppeling naar een voorganger. De relatie kan niet veilig uit de naam worden afgeleid. Bestaande toewijzingen blijven ongewijzigd; gebruik de gewone voorvertoning voor producttoewijzingen om expliciet producten te selecteren."
    58365848
    5837 #: includes/Packaging/PackagingCsv.php:451
     5849#: includes/Packaging/PackagingCsv.php:458
    58385850msgid "This packaging assignment could not be saved. Retry this row."
    58395851msgstr "Deze verpakkingstoewijzing kon niet worden opgeslagen. Probeer deze rij opnieuw."
    … …  
    58835895msgstr "Deze voorvertoning is al gebruikt. Bekijk opnieuw een voorvertoning."
    58845896
    5885 #: includes/Admin/PackagingPage.php:1393
     5897#: includes/Admin/PackagingPage.php:1394
    58865898msgid "This preview is no longer available to apply. Upload the CSV to preview it again."
    58875899msgstr "Deze voorvertoning kan niet meer worden toegepast. Upload de CSV om opnieuw een voorvertoning te bekijken."
    … …  
    58915903msgstr "Deze voorvertoning is te groot om op te slaan. Splits de CSV in kleinere bestanden."
    58925904
    5893 #: includes/Packaging/PackagingCsv.php:399
     5905#: includes/Packaging/PackagingCsv.php:406
    58945906msgid "This profile changed after the preview and the row was left unchanged. Preview it again."
    58955907msgstr "Dit profiel is na de voorvertoning gewijzigd en de rij is ongewijzigd gelaten. Bekijk opnieuw een voorvertoning."
    … …  
    59075919msgstr "Dit rapport corrigeert een eerder rapport over dezelfde periode."
    59085920
    5909 #: includes/Packaging/PackagingCsv.php:413 includes/Packaging/PackagingCsv.php:445
     5921#: includes/Packaging/PackagingCsv.php:420 includes/Packaging/PackagingCsv.php:452
    59105922msgid "This row changed after the preview and was left unchanged. Preview it again."
    59115923msgstr "Deze rij is na de voorvertoning gewijzigd en ongewijzigd gelaten. Bekijk opnieuw een voorvertoning."
    … …  
    59315943msgstr "Deze selectie heeft geen bijbehorende ongebruikte voorvertoning. Bekijk de huidige keuzes vooraf voordat je ze toepast."
    59325944
    5933 #: includes/Admin/PackagingPage.php:1238
     5945#: includes/Admin/PackagingPage.php:1239
    59345946#, php-format
    59355947msgid "This selection matches %1$s products and %2$s variations."
    … …  
    60266038msgstr "Totalen zijn voor deze periode bevroren vanuit je register."
    60276039
    6028 #: includes/Admin/PackagingPage.php:1486 includes/Admin/PackagingPage.php:936 includes/Austria/ComponentFacts.php:83
     6040#: includes/Admin/PackagingPage.php:1487 includes/Admin/PackagingPage.php:936 includes/Austria/ComponentFacts.php:83
    60296041msgid "Transport packaging"
    60306042msgstr "Transportverpakking"
    … …  
    60696081msgstr "Onbekend probleemtype."
    60706082
    6071 #: includes/Repository/PackagingProfileRepository.php:185
     6083#: includes/Repository/PackagingProfileRepository.php:194
    60726084#, php-format
    60736085msgid "Unknown packaging profile: %d"
    … …  
    61086120msgstr "Verbinding bijwerken"
    61096121
    6110 #: includes/Admin/PackagingPage.php:1354
     6122#: includes/Admin/PackagingPage.php:1355
    61116123msgid "Upload and preview"
    61126124msgstr "Uploaden en vooraf bekijken"
    61136125
    6114 #: includes/Admin/PackagingPage.php:1344
     6126#: includes/Admin/PackagingPage.php:1345
    61156127#, php-format
    61166128msgid "Upload the assignments CSV after editing it. Columns: product_id or sku, plus profile_uuid or profile_name. Up to %d rows per file."
    … …  
    62056217msgstr "Validatie mislukt"
    62066218
    6207 #: includes/Admin/BelgiumPage.php:143
     6219#: includes/Admin/BelgiumPage.php:148
    62086220msgid "Valipac responsibility types"
    62096221msgstr "Valipac-verantwoordelijkheidstypen"
    62106222
    6211 #: includes/Admin/BelgiumPage.php:110 includes/Admin/DiagnosticsPage.php:44 includes/Admin/NetherlandsPreparationPage.php:265
     6223#: includes/Admin/BelgiumPage.php:115 includes/Admin/DiagnosticsPage.php:44 includes/Admin/NetherlandsPreparationPage.php:265
    62126224msgid "Value"
    62136225msgstr "Waarde"
    … …  
    62826294msgstr "Wacht op verzending"
    62836295
    6284 #: includes/Admin/BelgiumPage.php:99
     6296#: includes/Admin/BelgiumPage.php:104
    62856297msgid "We prepare an internal control sheet for manual review. Official export and automatic upload remain unavailable."
    62866298msgstr "We bereiden een intern controleblad voor dat je zelf kunt beoordelen. Officiële export en automatische upload blijven niet beschikbaar."
    … …  
    64066418msgstr "Waar verkoop je?"
    64076419
    6408 #: includes/Admin/BelgiumPage.php:130
     6420#: includes/Admin/BelgiumPage.php:135
    64096421msgid "Where is your business established? (country code)"
    64106422msgstr "Waar is je bedrijf gevestigd? (landcode)"
    … …  
    64356447msgstr "Of deze voortzetting geldt, kan niet worden bepaald. Het wettelijke maximum is %s, behoudens afwijkende particuliere afspraken. Dit is geen contractgarantie of indieningstermijn."
    64366448
    6437 #: includes/Admin/PackagingPage.php:1160
     6449#: includes/Admin/PackagingPage.php:1161
    64386450msgid "Which products"
    64396451msgstr "Welke producten"
    … …  
    64796491msgstr "WordPress"
    64806492
    6481 #: includes/Admin/PackagingPage.php:1414
     6493#: includes/Admin/PackagingPage.php:1415
    64826494msgid "Would assign"
    64836495msgstr "Zou toewijzen"
    64846496
    6485 #: includes/Admin/PackagingPage.php:1245
     6497#: includes/Admin/PackagingPage.php:1246
    64866498msgid "Would change"
    64876499msgstr "Zou wijzigen"
    64886500
    6489 #: includes/Admin/PackagingPage.php:1416
     6501#: includes/Admin/PackagingPage.php:1417
    64906502msgid "Would skip"
    64916503msgstr "Zou overslaan"
    … …  
    65076519msgstr "Jaarabonnement afrekenen"
    65086520
    6509 #: includes/Admin/DenmarkContextForm.php:190 includes/Admin/NetherlandsPage.php:451 includes/Admin/NetherlandsPreparationPage.php:329 includes/Admin/PackagingPage.php:1260 includes/Admin/PackagingPage.php:819 includes/Admin/PackagingPage.php:965 includes/Admin/SettingsPage.php:202 includes/Admin/SettingsPage.php:334 includes/Admin/SpainPage.php:257
     6521#: includes/Admin/DenmarkContextForm.php:190 includes/Admin/NetherlandsPage.php:451 includes/Admin/NetherlandsPreparationPage.php:329 includes/Admin/PackagingPage.php:1261 includes/Admin/PackagingPage.php:819 includes/Admin/PackagingPage.php:965 includes/Admin/SettingsPage.php:202 includes/Admin/SettingsPage.php:334 includes/Admin/SpainPage.php:257
    65106522msgid "Yes"
    65116523msgstr "Ja"
    … …  
    65436555msgstr "Je hebt geen toestemming om rapporten te exporteren."
    65446556
    6545 #: includes/Admin/PackagingPage.php:1434
     6557#: includes/Admin/PackagingPage.php:1435
    65466558msgid "You do not have permission to export this data."
    65476559msgstr "Je hebt geen toestemming om deze gegevens te exporteren."
    … …  
    65646576msgstr "Je hebt bevestigingsverwijzing %s vastgelegd. Deze plugin heeft niets namens jou ingediend."
    65656577
    6566 #: includes/Admin/BelgiumPage.php:124
     6578#: includes/Admin/BelgiumPage.php:129
    65676579msgid "Your Belgium information"
    65686580msgstr "Je Belgische informatie"
    … …  
    68416853msgstr "— Geen —"
    68426854
    6843 #: includes/Admin/PackagingPage.php:1167
     6855#: includes/Admin/PackagingPage.php:1168
    68446856msgid "— Not applicable —"
    68456857msgstr "— Niet van toepassing —"
  • ombel-packaging-records/trunk/languages/ombel-packaging-records.pot

    r3764769 r3765190  
    256256msgstr ""
    257257
    258 #: includes/Woo/OrderSnapshotBuilder.php:683
     258#: includes/Woo/OrderSnapshotBuilder.php:693
    259259msgid "A valid destination country is required before recording packaging."
    260260msgstr ""
    … …  
    320320msgstr ""
    321321
    322 #: includes/Repository/PackagingProfileRepository.php:118
     322#: includes/Repository/PackagingProfileRepository.php:127
    323323msgid "Add at least one material before activating this version."
    324324msgstr ""
    … …  
    400400msgstr ""
    401401
    402 #: includes/Licensing/Capability.php:106
     402#: includes/Licensing/Capability.php:109
    403403msgid "Advanced audit history"
    404404msgstr ""
    … …  
    424424msgstr ""
    425425
    426 #: includes/Packaging/PackagingCsv.php:424
     426#: includes/Packaging/PackagingCsv.php:431
    427427msgid "Already assigned to this profile."
    428428msgstr ""
    … …  
    432432msgstr ""
    433433
    434 #: includes/Admin/PackagingPage.php:1195
     434#: includes/Admin/PackagingPage.php:1196
    435435msgid "Also assign to product variations"
    436436msgstr ""
    … …  
    489489msgstr ""
    490490
    491 #: includes/Admin/BelgiumPage.php:125
     491#: includes/Admin/BelgiumPage.php:130
    492492msgid "Answer facts about how you sell and package goods. Leave anything you do not know as “Not provided”; the plugin will not turn a guess into a legal conclusion."
    493493msgstr ""
    … …  
    513513msgstr ""
    514514
    515 #: includes/Admin/PackagingPage.php:1414
     515#: includes/Admin/PackagingPage.php:1415
    516516msgid "Applied"
    517517msgstr ""
    … …  
    525525msgstr ""
    526526
    527 #: includes/Admin/PackagingPage.php:1202
     527#: includes/Admin/PackagingPage.php:1203
    528528msgid "Apply in the background"
    529529msgstr ""
    530530
    531 #: includes/Admin/PackagingPage.php:1390
     531#: includes/Admin/PackagingPage.php:1391
    532532msgid "Apply this preview"
    533533msgstr ""
    534534
    535 #: includes/Admin/PackagingPage.php:1385
     535#: includes/Admin/PackagingPage.php:1386
    536536msgid "Apply this preview without uploading again. It expires after 10 minutes and can be used once. Changed products, profiles or assignments require a new preview. Rows with errors will not be assigned."
    537537msgstr ""
    … …  
    561561msgstr ""
    562562
    563 #: includes/Packaging/PackagingCsv.php:469
     563#: includes/Packaging/PackagingCsv.php:476
    564564#, php-format
    565565msgid "Assign %s"
    … …  
    574574msgstr ""
    575575
    576 #: includes/Admin/PackagingPage.php:1128
     576#: includes/Admin/PackagingPage.php:1129
    577577msgid "Assign packaging to many products at once"
    578578msgstr ""
    … …  
    582582msgstr ""
    583583
    584 #: includes/Admin/PackagingPage.php:1286
     584#: includes/Admin/PackagingPage.php:1287
    585585msgid "Assigned"
    586586msgstr ""
    … …  
    670670msgstr ""
    671671
    672 #: includes/Admin/BelgiumPage.php:111
     672#: includes/Admin/BelgiumPage.php:116
    673673msgid "Belgian annual totals"
    674674msgstr ""
    … …  
    734734msgstr ""
    735735
    736 #: includes/Licensing/Capability.php:93
     736#: includes/Licensing/Capability.php:96
    737737msgid "Bulk packaging assignment"
    738738msgstr ""
    … …  
    762762msgstr ""
    763763
    764 #: includes/Admin/PackagingPage.php:1352
     764#: includes/Admin/PackagingPage.php:1353
    765765msgid "CSV file"
    766766msgstr ""
    767767
    768 #: includes/Admin/PackagingPage.php:1398
     768#: includes/Admin/PackagingPage.php:1399
    769769msgid "CSV import result"
    770770msgstr ""
    … …  
    778778msgstr ""
    779779
    780 #: includes/Admin/BelgiumPage.php:154
     780#: includes/Admin/BelgiumPage.php:159
    781781msgid "Calculation method"
    782782msgstr ""
    … …  
    814814msgstr ""
    815815
    816 #: includes/Admin/PackagingPage.php:1166
     816#: includes/Admin/PackagingPage.php:1167
    817817msgid "Category or tag"
    818818msgstr ""
    … …  
    908908msgstr ""
    909909
    910 #: includes/Admin/PackagingPage.php:1284
     910#: includes/Admin/PackagingPage.php:1285
    911911msgid "Checked selection"
    912912msgstr ""
    … …  
    917917msgstr ""
    918918
    919 #: includes/Admin/PackagingPage.php:1203
     919#: includes/Admin/PackagingPage.php:1204
    920920msgid "Choices changed. Preview again before applying."
    921921msgstr ""
    … …  
    993993msgstr ""
    994994
    995 #: includes/Packaging/BulkAssignment.php:94
     995#: includes/Packaging/BulkAssignment.php:98
    996996msgid "Choose a product category or tag."
     997msgstr ""
     998
     999#: includes/Packaging/BulkAssignment.php:92 includes/Packaging/PackagingCsv.php:391
     1000msgid "Choose a product packaging profile. Shipping packaging is added once per order, not to products."
    9971001msgstr ""
    9981002
    … …  
    11051109msgstr ""
    11061110
    1107 #: includes/Admin/CloudPage.php:59 includes/Admin/Menu.php:138 includes/Admin/Menu.php:139 includes/Licensing/Capability.php:98
     1111#: includes/Admin/CloudPage.php:59 includes/Admin/Menu.php:138 includes/Admin/Menu.php:139 includes/Licensing/Capability.php:101
    11081112msgid "Cloud sync"
    11091113msgstr ""
    … …  
    11171121msgstr ""
    11181122
     1123#: includes/Infrastructure/Cloud/CloudException.php:49
     1124msgid "Cloud sync is waiting for an active subscription. Local records remain queued and will retry after activation or renewal."
     1125msgstr ""
     1126
    11191127#: includes/Admin/PackagingPage.php:1050 includes/Admin/PackagingPage.php:635 includes/Admin/PackagingPage.php:884 includes/Denmark/ComponentFacts.php:61
    11201128msgid "Commercial"
    … …  
    11491157msgstr ""
    11501158
    1151 #: includes/Licensing/Capability.php:94
     1159#: includes/Licensing/Capability.php:97
    11521160msgid "Compliance overview"
    11531161msgstr ""
    11541162
    1155 #: includes/Admin/BelgiumPage.php:147
     1163#: includes/Admin/BelgiumPage.php:152
    11561164msgid "Compliance route"
    11571165msgstr ""
    … …  
    14191427msgstr ""
    14201428
    1421 #: includes/Licensing/Capability.php:101
     1429#: includes/Licensing/Capability.php:104
    14221430msgid "Country reports"
    14231431msgstr ""
    14241432
    1425 #: includes/Admin/PackagingPage.php:1233
     1433#: includes/Admin/PackagingPage.php:1234
    14261434msgid "Counts and sample are checked again before Apply. Background batches use the current catalogue; this preview does not freeze a product list. The preview expires after ten minutes and can be used once."
    14271435msgstr ""
    … …  
    14391447msgstr ""
    14401448
    1441 #: includes/Admin/PackagingPage.php:1137
     1449#: includes/Admin/PackagingPage.php:1138
    14421450msgid "Create and activate a packaging profile first."
    14431451msgstr ""
    … …  
    14711479msgstr ""
    14721480
    1473 #: includes/Admin/BelgiumPage.php:108 includes/Admin/CountriesPage.php:152 includes/Admin/NetherlandsPreparationPage.php:261
     1481#: includes/Admin/BelgiumPage.php:113 includes/Admin/CountriesPage.php:152 includes/Admin/NetherlandsPreparationPage.php:261
    14741482msgid "Current results"
    14751483msgstr ""
    … …  
    14831491msgstr ""
    14841492
    1485 #: includes/Admin/PackagingPage.php:1245
     1493#: includes/Admin/PackagingPage.php:1246
    14861494msgid "Currently"
    14871495msgstr ""
    … …  
    15271535msgstr ""
    15281536
    1529 #: includes/Licensing/Capability.php:95
     1537#: includes/Licensing/Capability.php:98
    15301538msgid "Data completeness & missing data"
    15311539msgstr ""
    … …  
    15551563msgstr ""
    15561564
    1557 #: includes/Licensing/Capability.php:104
     1565#: includes/Licensing/Capability.php:107
    15581566msgid "Deadline tracking"
    15591567msgstr ""
    … …  
    15711579msgstr ""
    15721580
    1573 #: includes/Admin/BelgiumPage.php:153
     1581#: includes/Admin/BelgiumPage.php:158
    15741582msgid "Declaration context"
    15751583msgstr ""
    … …  
    16551663msgstr ""
    16561664
    1657 #: includes/Admin/DeadlinesPage.php:125 includes/Admin/PackagingPage.php:1397
     1665#: includes/Admin/DeadlinesPage.php:125 includes/Admin/PackagingPage.php:1398
    16581666msgid "Detail"
    16591667msgstr ""
    … …  
    16951703msgstr ""
    16961704
    1697 #: includes/Admin/BelgiumPage.php:155
     1705#: includes/Admin/BelgiumPage.php:160
    16981706msgid "Direct IVC system status"
    16991707msgstr ""
    … …  
    17191727msgstr ""
    17201728
    1721 #: includes/Admin/BelgiumPage.php:134
     1729#: includes/Admin/BelgiumPage.php:139
    17221730msgid "Do you add shipping packaging for Belgian orders?"
    17231731msgstr ""
    17241732
    1725 #: includes/Admin/BelgiumPage.php:133
     1733#: includes/Admin/BelgiumPage.php:138
    17261734msgid "Do you import goods that are already packaged?"
    17271735msgstr ""
    … …  
    17311739msgstr ""
    17321740
    1733 #: includes/Admin/BelgiumPage.php:131
     1741#: includes/Admin/BelgiumPage.php:136
    17341742msgid "Do you sell packaged goods to Belgium?"
    17351743msgstr ""
    17361744
    1737 #: includes/Admin/BelgiumPage.php:136
     1745#: includes/Admin/BelgiumPage.php:141
    17381746msgid "Do you sell to Belgian businesses that use the products themselves?"
    17391747msgstr ""
    17401748
    1741 #: includes/Admin/BelgiumPage.php:135
     1749#: includes/Admin/BelgiumPage.php:140
    17421750msgid "Do you sell to Belgian consumers?"
    17431751msgstr ""
    17441752
    1745 #: includes/Admin/BelgiumPage.php:137
     1753#: includes/Admin/BelgiumPage.php:142
    17461754msgid "Do you sell to Belgian resellers?"
    17471755msgstr ""
    … …  
    17511759msgstr ""
    17521760
    1753 #: includes/Admin/BelgiumPage.php:138
     1761#: includes/Admin/BelgiumPage.php:143
    17541762msgid "Do you use reusable packaging?"
    17551763msgstr ""
    … …  
    17831791msgstr ""
    17841792
    1785 #: includes/Admin/BelgiumPage.php:132
     1793#: includes/Admin/BelgiumPage.php:137
    17861794msgid "Does your business have an establishment in Belgium?"
    17871795msgstr ""
    … …  
    18441852msgstr ""
    18451853
    1846 #: includes/Admin/PackagingPage.php:1493
     1854#: includes/Admin/PackagingPage.php:1494
    18471855msgid "Draft — still editable"
    18481856msgstr ""
    … …  
    19441952msgstr ""
    19451953
    1946 #: includes/Admin/PackagingPage.php:1412
     1954#: includes/Admin/PackagingPage.php:1413
    19471955msgid "Error"
    19481956msgstr ""
    … …  
    19561964msgstr ""
    19571965
    1958 #: includes/Admin/PackagingPage.php:1162 includes/Admin/PackagingPage.php:405
     1966#: includes/Admin/PackagingPage.php:1163 includes/Admin/PackagingPage.php:405
    19591967msgid "Every published product"
    19601968msgstr ""
    … …  
    19761984msgstr ""
    19771985
    1978 #: includes/Licensing/Capability.php:105
     1986#: includes/Licensing/Capability.php:108
    19791987msgid "Evidence archive"
    19801988msgstr ""
    … …  
    20082016msgstr ""
    20092017
     2018#: includes/Admin/PackagingPage.php:1232
     2019msgid "Existing assignments may be replaced. Already correct assignments are skipped."
     2020msgstr ""
     2021
    20102022#: includes/Admin/PackagingPage.php:1231
    2011 msgid "Existing assignments may be replaced. Already correct assignments are skipped."
    2012 msgstr ""
    2013 
    2014 #: includes/Admin/PackagingPage.php:1230
    20152023msgid "Existing packaging is left alone, including inherited packaging. Already correct assignments are skipped."
    20162024msgstr ""
    … …  
    20242032msgstr ""
    20252033
    2026 #: includes/Licensing/Capability.php:96
     2034#: includes/Licensing/Capability.php:99
    20272035msgid "Export your own data (CSV)"
    20282036msgstr ""
    20292037
    2030 #: includes/Admin/PackagingPage.php:1321
     2038#: includes/Admin/PackagingPage.php:1322
    20312039msgid "Export your packaging data"
    20322040msgstr ""
    … …  
    20442052msgstr ""
    20452053
    2046 #: includes/Admin/PackagingPage.php:1305 includes/Admin/PackagingPage.php:1412
     2054#: includes/Admin/PackagingPage.php:1306 includes/Admin/PackagingPage.php:1413
    20472055msgid "Failed"
    20482056msgstr ""
    … …  
    20722080msgstr ""
    20732081
    2074 #: includes/Admin/PackagingPage.php:1307
     2082#: includes/Admin/PackagingPage.php:1308
    20752083msgid "Finished"
    20762084msgstr ""
    … …  
    22732281msgstr ""
    22742282
    2275 #: includes/Admin/PackagingPage.php:1485
     2283#: includes/Admin/PackagingPage.php:1486
    22762284msgid "Grouped packaging"
    22772285msgstr ""
    … …  
    23012309msgstr ""
    23022310
    2303 #: includes/Admin/PackagingPage.php:1256
     2311#: includes/Admin/PackagingPage.php:1257
    23042312msgid "Has packaging"
    23052313msgstr ""
    … …  
    23372345msgstr ""
    23382346
    2339 #: includes/Admin/BelgiumPage.php:145
     2347#: includes/Admin/BelgiumPage.php:150
    23402348msgid "Household packaging present"
    23412349msgstr ""
    23422350
    2343 #: includes/Admin/BelgiumPage.php:148
     2351#: includes/Admin/BelgiumPage.php:153
    23442352msgid "Household route"
    23452353msgstr ""
    … …  
    24132421msgstr ""
    24142422
    2415 #: includes/Admin/PackagingPage.php:1340
     2423#: includes/Admin/PackagingPage.php:1341
    24162424msgid "Import packaging assignments"
    24172425msgstr ""
    24182426
    2419 #: includes/Admin/PackagingPage.php:1374
     2427#: includes/Admin/PackagingPage.php:1375
    24202428msgid "Import results"
    24212429msgstr ""
    … …  
    24342442msgstr ""
    24352443
    2436 #: includes/Admin/PackagingPage.php:1494
     2444#: includes/Admin/PackagingPage.php:1495
    24372445msgid "In use"
    24382446msgstr ""
    … …  
    24752483msgstr ""
    24762484
    2477 #: includes/Admin/BelgiumPage.php:146
     2485#: includes/Admin/BelgiumPage.php:151
    24782486msgid "Industrial packaging present"
    24792487msgstr ""
    24802488
    2481 #: includes/Admin/BelgiumPage.php:149
     2489#: includes/Admin/BelgiumPage.php:154
    24822490msgid "Industrial route"
    24832491msgstr ""
    24842492
    2485 #: includes/Admin/BelgiumPage.php:114
     2493#: includes/Admin/BelgiumPage.php:119
    24862494msgid "Information status"
    24872495msgstr ""
    … …  
    24962504msgstr ""
    24972505
    2498 #: includes/Admin/BelgiumPage.php:118
     2506#: includes/Admin/BelgiumPage.php:123
    24992507msgid "Internal boundary status"
    25002508msgstr ""
    … …  
    25122520msgstr ""
    25132521
    2514 #: includes/Admin/BelgiumPage.php:101
     2522#: includes/Admin/BelgiumPage.php:106
    25152523msgid "Internal readiness state"
    25162524msgstr ""
    … …  
    25202528msgstr ""
    25212529
    2522 #: includes/Admin/BelgiumPage.php:101
     2530#: includes/Admin/BelgiumPage.php:106
    25232531msgid "Internal registration state"
    25242532msgstr ""
    … …  
    25282536msgstr ""
    25292537
    2530 #: includes/Admin/BelgiumPage.php:101
     2538#: includes/Admin/BelgiumPage.php:106
    25312539msgid "Internal route state"
    25322540msgstr ""
    … …  
    25682576msgstr ""
    25692577
    2570 #: includes/Admin/BelgiumPage.php:113
     2578#: includes/Admin/BelgiumPage.php:118
    25712579msgid "Known Belgian packaging"
    25722580msgstr ""
    … …  
    26422650msgstr ""
    26432651
    2644 #: includes/Admin/PackagingPage.php:1287
     2652#: includes/Admin/PackagingPage.php:1288
    26452653msgid "Left alone"
    26462654msgstr ""
    … …  
    26742682msgstr ""
    26752683
    2676 #: includes/Admin/PackagingPage.php:1397
     2684#: includes/Admin/PackagingPage.php:1398
    26772685msgid "Line"
    26782686msgstr ""
    … …  
    26862694msgstr ""
    26872695
    2688 #: includes/Licensing/Capability.php:97
     2696#: includes/Licensing/Capability.php:100
    26892697msgid "Local audit log"
    26902698msgstr ""
    … …  
    27182726msgstr ""
    27192727
    2720 #: includes/Licensing/Capability.php:99
     2728#: includes/Licensing/Capability.php:102
    27212729msgid "Maintained compliance rules"
    27222730msgstr ""
    … …  
    27802788msgstr ""
    27812789
    2782 #: includes/Admin/BelgiumPage.php:110
     2790#: includes/Admin/BelgiumPage.php:115
    27832791msgid "Measure"
    27842792msgstr ""
    … …  
    28522860msgstr ""
    28532861
    2854 #: includes/Admin/BelgiumPage.php:139
     2862#: includes/Admin/BelgiumPage.php:144
    28552863msgid "More Belgium preparation details"
    28562864msgstr ""
    28572865
    2858 #: includes/Admin/BelgiumPage.php:116
     2866#: includes/Admin/BelgiumPage.php:121
    28592867msgid "More details"
    28602868msgstr ""
    … …  
    28802888msgstr ""
    28812889
    2882 #: includes/Licensing/Capability.php:100
     2890#: includes/Licensing/Capability.php:103
    28832891msgid "Multiple jurisdictions"
    28842892msgstr ""
    … …  
    29282936msgstr ""
    29292937
    2930 #: includes/Admin/BelgiumPage.php:114 includes/Admin/BelgiumPage.php:95 includes/Admin/CountriesPage.php:267 includes/Admin/NetherlandsPreparationPage.php:372 includes/Admin/OverviewPage.php:466
     2938#: includes/Admin/BelgiumPage.php:100 includes/Admin/BelgiumPage.php:119 includes/Admin/CountriesPage.php:267 includes/Admin/NetherlandsPreparationPage.php:372 includes/Admin/OverviewPage.php:466
    29312939msgid "Needs information"
    29322940msgstr ""
    … …  
    30613069msgstr ""
    30623070
    3063 #: includes/Admin/PackagingPage.php:1196
     3071#: includes/Admin/PackagingPage.php:1197
    30643072msgid "Never overwrite packaging that is already assigned"
    30653073msgstr ""
    … …  
    30813089msgstr ""
    30823090
     3091#: includes/Admin/BelgiumPage.php:96
     3092msgid "No Belgian rule version applies to today's date, so readiness is not evaluated. Recorded totals remain available."
     3093msgstr ""
     3094
    30833095#: includes/Compliance/AbstractEprSchemeAdapter.php:82
    30843096msgid "No EPR registration number on file for this scheme; the export will be generated but is not filing-ready."
    … …  
    31703182msgstr ""
    31713183
    3172 #: includes/Admin/PackagingPage.php:1256
     3184#: includes/Admin/PackagingPage.php:1257
    31733185msgid "No packaging"
    31743186msgstr ""
    … …  
    32503262msgstr ""
    32513263
    3252 #: includes/Admin/PackagingPage.php:1262
     3264#: includes/Admin/PackagingPage.php:1263
    32533265msgid "No — already correct"
    32543266msgstr ""
    … …  
    33423354msgstr ""
    33433355
    3344 #: includes/Admin/BelgiumPage.php:173 includes/Admin/NetherlandsPage.php:303 includes/Admin/NetherlandsPage.php:317 includes/Admin/NetherlandsPage.php:329 includes/Admin/NetherlandsPage.php:357 includes/Admin/NetherlandsPage.php:450 includes/Admin/PackagingPage.php:1044 includes/Admin/PackagingPage.php:637 includes/Admin/PackagingPage.php:878 includes/Admin/PackagingPage.php:922 includes/Admin/PackagingPage.php:963 includes/Admin/SpainPage.php:132 includes/Admin/SpainPage.php:256 includes/Austria/ComponentFacts.php:87 includes/Denmark/ComponentFacts.php:81
     3356#: includes/Admin/BelgiumPage.php:178 includes/Admin/NetherlandsPage.php:303 includes/Admin/NetherlandsPage.php:317 includes/Admin/NetherlandsPage.php:329 includes/Admin/NetherlandsPage.php:357 includes/Admin/NetherlandsPage.php:450 includes/Admin/PackagingPage.php:1044 includes/Admin/PackagingPage.php:637 includes/Admin/PackagingPage.php:878 includes/Admin/PackagingPage.php:922 includes/Admin/PackagingPage.php:963 includes/Admin/SpainPage.php:132 includes/Admin/SpainPage.php:256 includes/Austria/ComponentFacts.php:87 includes/Denmark/ComponentFacts.php:81
    33453357msgid "Not provided"
    33463358msgstr ""
    … …  
    33793391msgstr ""
    33803392
    3381 #: includes/Admin/PackagingPage.php:1153
     3393#: includes/Admin/PackagingPage.php:1154
    33823394msgid "Nothing is changed until you have seen a preview. Large selections run in the background so your browser is never waiting."
    33833395msgstr ""
    … …  
    34593471msgstr ""
    34603472
    3461 #: includes/Licensing/Capability.php:102
     3473#: includes/Licensing/Capability.php:105
    34623474msgid "Official scheme export formats"
    34633475msgstr ""
    … …  
    34913503msgstr ""
    34923504
    3493 #: includes/Admin/PackagingPage.php:1163
     3505#: includes/Admin/PackagingPage.php:1164
    34943506msgid "One category or tag"
    34953507msgstr ""
    … …  
    34993511msgstr ""
    35003512
    3501 #: includes/Repository/PackagingProfileRepository.php:114
     3513#: includes/Repository/PackagingProfileRepository.php:123
    35023514msgid "Only a draft packaging version can be activated."
    35033515msgstr ""
    … …  
    35233535msgstr ""
    35243536
    3525 #: includes/Admin/PackagingPage.php:1161
     3537#: includes/Admin/PackagingPage.php:1162
    35263538msgid "Only products with no packaging yet"
    35273539msgstr ""
    … …  
    35553567msgstr ""
    35563568
    3557 #: includes/Admin/BelgiumPage.php:152
     3569#: includes/Admin/BelgiumPage.php:157
    35583570msgid "Optional PRO member reference"
    35593571msgstr ""
    … …  
    35793591msgstr ""
    35803592
    3581 #: includes/Admin/PackagingPage.php:1194
     3593#: includes/Admin/PackagingPage.php:1195
    35823594msgid "Options"
    35833595msgstr ""
    … …  
    36513663msgstr ""
    36523664
    3653 #: includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/NetherlandsPreparationPage.php:275 includes/Admin/PackagingPage.php:1397
     3665#: includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/NetherlandsPreparationPage.php:275 includes/Admin/PackagingPage.php:1398
    36543666msgid "Outcome"
    36553667msgstr ""
    … …  
    36713683msgstr ""
    36723684
    3673 #: includes/Admin/BelgiumPage.php:150
     3685#: includes/Admin/BelgiumPage.php:155
    36743686msgid "PPWR EPR representative"
    36753687msgstr ""
    … …  
    37283740msgstr ""
    37293741
    3730 #: includes/Admin/CloudPage.php:433 includes/Admin/PackagingPage.php:1180
     3742#: includes/Admin/CloudPage.php:433 includes/Admin/PackagingPage.php:1181
    37313743msgid "Packaging profile"
    37323744msgstr ""
    … …  
    37363748msgstr ""
    37373749
    3738 #: includes/Admin/PackagingPage.php:540 includes/Admin/PackagingPage.php:81 includes/Licensing/Capability.php:92
     3750#: includes/Admin/PackagingPage.php:540 includes/Admin/PackagingPage.php:81 includes/Licensing/Capability.php:95
    37393751msgid "Packaging profiles"
    37403752msgstr ""
    37413753
    3742 #: includes/Admin/PackagingPage.php:1327
     3754#: includes/Admin/PackagingPage.php:1328
    37433755msgid "Packaging profiles and materials (CSV)"
    37443756msgstr ""
    … …  
    39263938msgstr ""
    39273939
    3928 #: includes/Admin/PackagingPage.php:1201
     3940#: includes/Admin/PackagingPage.php:1202
    39293941msgid "Preview changes"
    39303942msgstr ""
    … …  
    39433955msgstr ""
    39443956
    3945 #: includes/Admin/PackagingPage.php:1220 includes/Admin/PackagingPage.php:1374
     3957#: includes/Admin/PackagingPage.php:1221 includes/Admin/PackagingPage.php:1375
    39463958msgid "Preview — nothing has been changed"
    39473959msgstr ""
    … …  
    39713983msgstr ""
    39723984
    3973 #: includes/Admin/BelgiumPage.php:144
     3985#: includes/Admin/BelgiumPage.php:149
    39743986msgid "Private label context"
    39753987msgstr ""
    … …  
    40364048msgstr ""
    40374049
    4038 #: includes/Admin/MissingDataPage.php:343 includes/Admin/PackagingPage.php:1245 includes/Admin/PackagingPage.php:1397 includes/Admin/PackagingPage.php:755
     4050#: includes/Admin/MissingDataPage.php:343 includes/Admin/PackagingPage.php:1246 includes/Admin/PackagingPage.php:1398 includes/Admin/PackagingPage.php:755
    40394051msgid "Product"
    40404052msgstr ""
    … …  
    40444056msgstr ""
    40454057
    4046 #: includes/Admin/OrderSyncStatusMetabox.php:113 includes/Admin/PackagingPage.php:1483 includes/Admin/PackagingPage.php:934 includes/Admin/ProductPackagingMetabox.php:255 includes/Admin/ProductPackagingMetabox.php:63 includes/Admin/SetupWizardPage.php:480 includes/Admin/SpainPage.php:120 includes/Admin/SpainPage.php:275 includes/Austria/ComponentFacts.php:81
     4058#: includes/Admin/OrderSyncStatusMetabox.php:113 includes/Admin/PackagingPage.php:1484 includes/Admin/PackagingPage.php:934 includes/Admin/ProductPackagingMetabox.php:255 includes/Admin/ProductPackagingMetabox.php:63 includes/Admin/SetupWizardPage.php:480 includes/Admin/SpainPage.php:120 includes/Admin/SpainPage.php:275 includes/Austria/ComponentFacts.php:81
    40474059msgid "Product packaging"
    40484060msgstr ""
    … …  
    40534065msgstr ""
    40544066
     4067#: includes/Admin/PackagingPage.php:1227
     4068msgid "Product variations are excluded."
     4069msgstr ""
     4070
    40554071#: includes/Admin/PackagingPage.php:1226
    4056 msgid "Product variations are excluded."
    4057 msgstr ""
    4058 
    4059 #: includes/Admin/PackagingPage.php:1225
    40604072msgid "Product variations are included."
    40614073msgstr ""
    40624074
    4063 #: includes/Admin/PackagingPage.php:1326
     4075#: includes/Admin/PackagingPage.php:1327
    40644076msgid "Products and their packaging (CSV)"
    40654077msgstr ""
    … …  
    40854097msgstr ""
    40864098
    4087 #: includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1285
     4099#: includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1286
    40884100msgid "Progress"
    40894101msgstr ""
    … …  
    41574169msgstr ""
    41584170
    4159 #: includes/Admin/BelgiumPage.php:114 includes/Admin/BelgiumPage.php:95 includes/Admin/NetherlandsPreparationPage.php:368 includes/Admin/NetherlandsPreparationPage.php:369 includes/Onboarding/OnboardingState.php:51
     4171#: includes/Admin/BelgiumPage.php:100 includes/Admin/BelgiumPage.php:119 includes/Admin/NetherlandsPreparationPage.php:368 includes/Admin/NetherlandsPreparationPage.php:369 includes/Onboarding/OnboardingState.php:51
    41604172msgid "Ready"
    41614173msgstr ""
    … …  
    41854197msgstr ""
    41864198
    4187 #: includes/Admin/PackagingPage.php:1280
     4199#: includes/Admin/PackagingPage.php:1281
    41884200msgid "Recent bulk changes"
    41894201msgstr ""
    41904202
    4191 #: includes/Admin/PackagingPage.php:1290
     4203#: includes/Admin/PackagingPage.php:1291
    41924204msgid "Recent bulk packaging assignments"
    41934205msgstr ""
    … …  
    44414453msgstr ""
    44424454
    4443 #: includes/Licensing/Capability.php:103
     4455#: includes/Licensing/Capability.php:106
    44444456msgid "Registration verification"
    44454457msgstr ""
    … …  
    45434555msgstr ""
    45444556
    4545 #: includes/Admin/BelgiumPage.php:151 includes/Admin/NetherlandsPreparationPage.php:113 includes/Admin/NetherlandsPreparationPage.php:457
     4557#: includes/Admin/BelgiumPage.php:156 includes/Admin/NetherlandsPreparationPage.php:113 includes/Admin/NetherlandsPreparationPage.php:457
    45464558msgid "Reporting year"
    45474559msgstr ""
    … …  
    45594571msgstr ""
    45604572
    4561 #: includes/Admin/BelgiumPage.php:142
     4573#: includes/Admin/BelgiumPage.php:147
    45624574msgid "Responsible party type"
    45634575msgstr ""
    … …  
    45674579msgstr ""
    45684580
    4569 #: includes/Admin/PackagingPage.php:1495
     4581#: includes/Admin/PackagingPage.php:1496
    45704582msgid "Retired"
    45714583msgstr ""
    … …  
    47314743msgstr ""
    47324744
    4733 #: includes/Admin/OverviewPage.php:380 includes/Admin/PackagingPage.php:1309
     4745#: includes/Admin/OverviewPage.php:380 includes/Admin/PackagingPage.php:1310
    47344746msgid "Running in the background"
    47354747msgstr ""
    47364748
    4737 #: includes/Admin/PackagingPage.php:1246
     4749#: includes/Admin/PackagingPage.php:1247
    47384750msgid "Sample of products this bulk assignment would touch"
    47394751msgstr ""
    … …  
    47434755msgstr ""
    47444756
    4745 #: includes/Admin/BelgiumPage.php:157
     4757#: includes/Admin/BelgiumPage.php:162
    47464758msgid "Save Belgium information"
    47474759msgstr ""
    … …  
    48554867msgstr ""
    48564868
    4857 #: includes/Admin/Notices.php:142 includes/Admin/PackagingPage.php:1440 includes/Admin/Request.php:54
     4869#: includes/Admin/Notices.php:142 includes/Admin/PackagingPage.php:1441 includes/Admin/Request.php:54
    48584870msgid "Security check failed. Please reload the page and try again."
    48594871msgstr ""
    … …  
    48754887msgstr ""
    48764888
    4877 #: includes/Admin/BelgiumPage.php:184
     4889#: includes/Admin/BelgiumPage.php:189
    48784890msgid "Select every applicable type. This is neutral preparation data, not a claim about current portal requiredness."
    48794891msgstr ""
    … …  
    49144926msgstr ""
    49154927
    4916 #: includes/Admin/PackagingPage.php:1487 includes/Admin/PackagingPage.php:893 includes/Admin/PackagingPage.php:937 includes/Austria/ComponentFacts.php:84
     4928#: includes/Admin/PackagingPage.php:1488 includes/Admin/PackagingPage.php:893 includes/Admin/PackagingPage.php:937 includes/Austria/ComponentFacts.php:84
    49174929msgid "Service packaging"
    49184930msgstr ""
    … …  
    49744986msgstr ""
    49754987
    4976 #: includes/Admin/OrderSyncStatusMetabox.php:114 includes/Admin/PackagingPage.php:1484 includes/Admin/PackagingPage.php:935 includes/Admin/SetupWizardPage.php:481 includes/Austria/ComponentFacts.php:82
     4988#: includes/Admin/OrderSyncStatusMetabox.php:114 includes/Admin/PackagingPage.php:1485 includes/Admin/PackagingPage.php:935 includes/Admin/SetupWizardPage.php:481 includes/Austria/ComponentFacts.php:82
    49774989msgid "Shipping packaging"
    49784990msgstr ""
    … …  
    50315043msgstr ""
    50325044
    5033 #: includes/Admin/PackagingPage.php:1416
     5045#: includes/Admin/PackagingPage.php:1417
    50345046msgid "Skipped"
    50355047msgstr ""
    … …  
    51355147msgstr ""
    51365148
    5137 #: includes/Admin/PackagingPage.php:1283
     5149#: includes/Admin/PackagingPage.php:1284
    51385150msgid "Started (UTC)"
    51395151msgstr ""
    … …  
    51475159msgstr ""
    51485160
    5149 #: includes/Admin/CloudPage.php:211 includes/Admin/CloudPage.php:386 includes/Admin/CountriesPage.php:142 includes/Admin/CountriesPage.php:248 includes/Admin/DeadlinesPage.php:121 includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/OverviewPage.php:310 includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1288 includes/Admin/PackagingPage.php:536 includes/Admin/RegistrationsPage.php:142 includes/Admin/ReportsPage.php:464 includes/Admin/SetupWizardPage.php:572
     5161#: includes/Admin/CloudPage.php:211 includes/Admin/CloudPage.php:386 includes/Admin/CountriesPage.php:142 includes/Admin/CountriesPage.php:248 includes/Admin/DeadlinesPage.php:121 includes/Admin/NetherlandsPreparationPage.php:265 includes/Admin/OverviewPage.php:310 includes/Admin/OverviewPage.php:382 includes/Admin/PackagingPage.php:1289 includes/Admin/PackagingPage.php:536 includes/Admin/RegistrationsPage.php:142 includes/Admin/ReportsPage.php:464 includes/Admin/SetupWizardPage.php:572
    51505162msgid "Status"
    51515163msgstr ""
    … …  
    52735285msgstr ""
    52745286
    5275 #: includes/Admin/BelgiumPage.php:100 includes/Admin/CountriesPage.php:178 includes/Admin/NetherlandsPage.php:253 includes/Admin/NetherlandsPreparationPage.php:453 includes/Admin/OrderSyncStatusMetabox.php:370
     5287#: includes/Admin/BelgiumPage.php:105 includes/Admin/CountriesPage.php:178 includes/Admin/NetherlandsPage.php:253 includes/Admin/NetherlandsPreparationPage.php:453 includes/Admin/OrderSyncStatusMetabox.php:370
    52765288msgid "Technical details"
    52775289msgstr ""
    … …  
    54535465msgstr ""
    54545466
    5455 #: includes/Admin/PackagingPage.php:1369
     5467#: includes/Admin/PackagingPage.php:1370
    54565468msgid "The display language changed. Upload the CSV again to review its results in this language."
    54575469msgstr ""
    … …  
    54895501msgstr ""
    54905502
    5491 #: includes/Admin/BelgiumPage.php:117
     5503#: includes/Admin/BelgiumPage.php:122
    54925504msgid "The internal boundary check uses 300 kg exactly. Incomplete data never confirms that a merchant is below it."
    54935505msgstr ""
    … …  
    55895601msgstr ""
    55905602
    5591 #: includes/Infrastructure/Cloud/CloudException.php:52
     5603#: includes/Infrastructure/Cloud/CloudException.php:55
    55925604msgid "The service could not complete the request. Please try again later or contact Brightfern."
    55935605msgstr ""
    55945606
    5595 #: includes/Infrastructure/Cloud/CloudException.php:50
     5607#: includes/Infrastructure/Cloud/CloudException.php:53
    55965608msgid "The service could not validate the packaging record. Check the required fields and contact Brightfern with the error code."
    55975609msgstr ""
    … …  
    56095621msgstr ""
    56105622
    5611 #: includes/Infrastructure/Cloud/CloudException.php:51
     5623#: includes/Infrastructure/Cloud/CloudException.php:54
    56125624msgid "The service is busy. The plugin will retry later."
    56135625msgstr ""
    56145626
    5615 #: includes/Infrastructure/Cloud/CloudException.php:49
     5627#: includes/Infrastructure/Cloud/CloudException.php:52
    56165628msgid "The service rejected this connection. Check the Store ID and matching Secret, then test again. Contact Brightfern if it continues."
    56175629msgstr ""
    … …  
    57065718msgstr ""
    57075719
    5708 #: includes/Admin/BelgiumPage.php:140
     5720#: includes/Admin/BelgiumPage.php:145
    57095721msgid "These extra fields preserve the existing preparation model. Complete them only when you already know the answer or have checked it with your adviser."
    57105722msgstr ""
    … …  
    58115823msgstr ""
    58125824
    5813 #: includes/Admin/PackagingPage.php:1322
     5825#: includes/Admin/PackagingPage.php:1323
    58145826msgid "This is your data. Exporting it is available on every plan."
    58155827msgstr ""
    … …  
    58355847msgstr ""
    58365848
    5837 #: includes/Packaging/PackagingCsv.php:451
     5849#: includes/Packaging/PackagingCsv.php:458
    58385850msgid "This packaging assignment could not be saved. Retry this row."
    58395851msgstr ""
    … …  
    58835895msgstr ""
    58845896
    5885 #: includes/Admin/PackagingPage.php:1393
     5897#: includes/Admin/PackagingPage.php:1394
    58865898msgid "This preview is no longer available to apply. Upload the CSV to preview it again."
    58875899msgstr ""
    … …  
    58915903msgstr ""
    58925904
    5893 #: includes/Packaging/PackagingCsv.php:399
     5905#: includes/Packaging/PackagingCsv.php:406
    58945906msgid "This profile changed after the preview and the row was left unchanged. Preview it again."
    58955907msgstr ""
    … …  
    59075919msgstr ""
    59085920
    5909 #: includes/Packaging/PackagingCsv.php:413 includes/Packaging/PackagingCsv.php:445
     5921#: includes/Packaging/PackagingCsv.php:420 includes/Packaging/PackagingCsv.php:452
    59105922msgid "This row changed after the preview and was left unchanged. Preview it again."
    59115923msgstr ""
    … …  
    59315943msgstr ""
    59325944
    5933 #: includes/Admin/PackagingPage.php:1238
     5945#: includes/Admin/PackagingPage.php:1239
    59345946#, php-format
    59355947msgid "This selection matches %1$s products and %2$s variations."
    … …  
    60266038msgstr ""
    60276039
    6028 #: includes/Admin/PackagingPage.php:1486 includes/Admin/PackagingPage.php:936 includes/Austria/ComponentFacts.php:83
     6040#: includes/Admin/PackagingPage.php:1487 includes/Admin/PackagingPage.php:936 includes/Austria/ComponentFacts.php:83
    60296041msgid "Transport packaging"
    60306042msgstr ""
    … …  
    60696081msgstr ""
    60706082
    6071 #: includes/Repository/PackagingProfileRepository.php:185
     6083#: includes/Repository/PackagingProfileRepository.php:194
    60726084#, php-format
    60736085msgid "Unknown packaging profile: %d"
    … …  
    61086120msgstr ""
    61096121
    6110 #: includes/Admin/PackagingPage.php:1354
     6122#: includes/Admin/PackagingPage.php:1355
    61116123msgid "Upload and preview"
    61126124msgstr ""
    61136125
    6114 #: includes/Admin/PackagingPage.php:1344
     6126#: includes/Admin/PackagingPage.php:1345
    61156127#, php-format
    61166128msgid "Upload the assignments CSV after editing it. Columns: product_id or sku, plus profile_uuid or profile_name. Up to %d rows per file."
    … …  
    62056217msgstr ""
    62066218
    6207 #: includes/Admin/BelgiumPage.php:143
     6219#: includes/Admin/BelgiumPage.php:148
    62086220msgid "Valipac responsibility types"
    62096221msgstr ""
    62106222
    6211 #: includes/Admin/BelgiumPage.php:110 includes/Admin/DiagnosticsPage.php:44 includes/Admin/NetherlandsPreparationPage.php:265
     6223#: includes/Admin/BelgiumPage.php:115 includes/Admin/DiagnosticsPage.php:44 includes/Admin/NetherlandsPreparationPage.php:265
    62126224msgid "Value"
    62136225msgstr ""
    … …  
    62826294msgstr ""
    62836295
    6284 #: includes/Admin/BelgiumPage.php:99
     6296#: includes/Admin/BelgiumPage.php:104
    62856297msgid "We prepare an internal control sheet for manual review. Official export and automatic upload remain unavailable."
    62866298msgstr ""
    … …  
    64066418msgstr ""
    64076419
    6408 #: includes/Admin/BelgiumPage.php:130
     6420#: includes/Admin/BelgiumPage.php:135
    64096421msgid "Where is your business established? (country code)"
    64106422msgstr ""
    … …  
    64356447msgstr ""
    64366448
    6437 #: includes/Admin/PackagingPage.php:1160
     6449#: includes/Admin/PackagingPage.php:1161
    64386450msgid "Which products"
    64396451msgstr ""
    … …  
    64796491msgstr ""
    64806492
    6481 #: includes/Admin/PackagingPage.php:1414
     6493#: includes/Admin/PackagingPage.php:1415
    64826494msgid "Would assign"
    64836495msgstr ""
    64846496
    6485 #: includes/Admin/PackagingPage.php:1245
     6497#: includes/Admin/PackagingPage.php:1246
    64866498msgid "Would change"
    64876499msgstr ""
    64886500
    6489 #: includes/Admin/PackagingPage.php:1416
     6501#: includes/Admin/PackagingPage.php:1417
    64906502msgid "Would skip"
    64916503msgstr ""
    … …  
    65076519msgstr ""
    65086520
    6509 #: includes/Admin/DenmarkContextForm.php:190 includes/Admin/NetherlandsPage.php:451 includes/Admin/NetherlandsPreparationPage.php:329 includes/Admin/PackagingPage.php:1260 includes/Admin/PackagingPage.php:819 includes/Admin/PackagingPage.php:965 includes/Admin/SettingsPage.php:202 includes/Admin/SettingsPage.php:334 includes/Admin/SpainPage.php:257
     6521#: includes/Admin/DenmarkContextForm.php:190 includes/Admin/NetherlandsPage.php:451 includes/Admin/NetherlandsPreparationPage.php:329 includes/Admin/PackagingPage.php:1261 includes/Admin/PackagingPage.php:819 includes/Admin/PackagingPage.php:965 includes/Admin/SettingsPage.php:202 includes/Admin/SettingsPage.php:334 includes/Admin/SpainPage.php:257
    65106522msgid "Yes"
    65116523msgstr ""
    … …  
    65436555msgstr ""
    65446556
    6545 #: includes/Admin/PackagingPage.php:1434
     6557#: includes/Admin/PackagingPage.php:1435
    65466558msgid "You do not have permission to export this data."
    65476559msgstr ""
    … …  
    65646576msgstr ""
    65656577
    6566 #: includes/Admin/BelgiumPage.php:124
     6578#: includes/Admin/BelgiumPage.php:129
    65676579msgid "Your Belgium information"
    65686580msgstr ""
    … …  
    68416853msgstr ""
    68426854
    6843 #: includes/Admin/PackagingPage.php:1167
     6855#: includes/Admin/PackagingPage.php:1168
    68446856msgid "— Not applicable —"
    68456857msgstr ""
  • ombel-packaging-records/trunk/ombel-packaging-records.php

    r3764769 r3765190  
    33 * Plugin Name:       Ombel Packaging Records for WooCommerce
    44 * Description:       Record WooCommerce packaging weights and review local material totals and missing data for manual preparation.
    5  * Version:           1.0.10
     5 * Version:           1.0.11
    66 * Requires at least: 6.4
    77 * Requires Plugins:  woocommerce
    … …  
    2727define( 'BRIGHTFERN_PPWR_DIR', plugin_dir_path( __FILE__ ) );
    2828define( 'BRIGHTFERN_PPWR_URL', plugin_dir_url( __FILE__ ) );
    29 define( 'BRIGHTFERN_PPWR_VERSION', '1.0.10' );
     29define( 'BRIGHTFERN_PPWR_VERSION', '1.0.11' );
    3030define( 'BRIGHTFERN_PPWR_PRIVATE_BETA', false );
    3131define( 'BRIGHTFERN_PPWR_WORDPRESS_ORG', true );
  • ombel-packaging-records/trunk/readme.txt

    r3764769 r3765190  
    66Requires PHP: 8.1
    77Requires Plugins: woocommerce
    8 Stable tag: 1.0.10
     8Stable tag: 1.0.11
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    162162== Changelog ==
    163163
     164= 1.0.11 =
     165* Validate sales packaging consistently when assigning products and importing CSV files.
     166* Preserve distinct Dutch packaging components when legacy references overlap.
     167* Show missing Belgian rules clearly outside their validity period and preserve accurate order evidence.
     168* Improve validation and error recovery while preserving existing records.
     169
    164170= 1.0.10 =
    165171* Add the Fost Plus follow-up guidance received on 22 October.
Note: See TracChangeset for help on using the changeset viewer.