Plugin Directory

Changeset 3732190


Ignore:
Timestamp:
10/07/2026 09:01:45 AM (3 weeks ago)
Author:
ukto
Message:

Release 1.7.6 - bundled French translation realigned with translate.wordpress.org (glossary terms, non-breaking spaces, inclusive forms for customer)

Location:
ukto-invoice-sync-for-pennylane
Files:
10 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ukto-invoice-sync-for-pennylane/tags/1.7.6/languages/ukto-invoice-sync-for-pennylane-fr_FR.po

    r3713298 r3732190  
    1 # Copyright (C) 2026 Sébastien DUBOIS
    2 # This file is distributed under the GPL-2.0-or-later license.
    31msgid ""
    42msgstr ""
    53"Project-Id-Version: ukto-invoice-sync-for-pennylane\n"
     4"Language: fr_FR\n"
    65"MIME-Version: 1.0\n"
    76"Content-Type: text/plain; charset=UTF-8\n"
    87"Content-Transfer-Encoding: 8bit\n"
    9 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
     8"Plural-Forms: nplurals=2; plural=(n > 1);\n"
    109"X-Domain: ukto-invoice-sync-for-pennylane\n"
    1110
    … …  
    1918
    2019#: includes/class-isfp-checkout-fields.php:147 includes/class-isfp-checkout-fields.php:216
    21 msgid "Company ID / SIRET (businesses)"
    22 msgstr "SIRET (entreprises)"
     20msgid "SIRET (French businesses)"
     21msgstr "SIRET (entreprises françaises)"
    2322
    2423#: includes/class-isfp-checkout-fields.php:154 includes/class-isfp-checkout-fields.php:222
    … …  
    216215#: includes/class-isfp-settings.php:298
    217216msgid "No invoice, customer or credit note is created. Full payloads are written to the logs so you can review them. Use this to validate your configuration before going live."
    218 msgstr "Aucune facture, aucun client, aucun avoir n’est créé. Les payloads complets sont écrits dans les journaux pour vérification. À utiliser pour valider la configuration avant la mise en production."
     217msgstr "Aucune facture, aucune fiche client, aucun avoir n’est créé. Les payloads complets sont écrits dans les journaux pour vérification. À utiliser pour valider la configuration avant la mise en production."
    219218
    220219#: includes/class-isfp-settings.php:302
    … …  
    235234
    236235#: includes/class-isfp-settings.php:314
    237 msgid "B2B checkout — company ID"
     236msgid "B2B checkout — SIRET (French company ID)"
    238237msgstr "Commande B2B — SIRET"
    239238
    … …  
    244243#: includes/class-isfp-settings.php:318
    245244msgid "Uses the free public French company lookup API (data.gouv.fr). Fields already filled in by the customer are never overwritten."
    246 msgstr "Via l’API publique Recherche d’entreprises (data.gouv.fr, gratuite). Les champs déjà remplis par le client ne sont pas écrasés."
     245msgstr "Via l’API publique Recherche d’entreprises (data.gouv.fr, gratuite). Les champs déjà remplis par le client ou la cliente ne sont pas écrasés."
    247246
    248247#: includes/class-isfp-settings.php:322
    … …  
    256255#: includes/class-isfp-settings.php:326
    257256msgid "Intra-Community supply: the customer pays without VAT and the invoice carries the legal exemption mention. Requires filing the EC Sales List (état récapitulatif TVA) for these sales — check with your accountant before enabling. With VIES validation on, the exemption is only granted when VIES confirms the number; if VIES is unreachable, VAT is charged and the invoice follows the money."
    258 msgstr "Livraison intracommunautaire : le client paie hors taxe et la facture porte la mention légale d’exonération. Ces ventes imposent le dépôt de l’état récapitulatif TVA — vérifiez avec votre comptable avant d’activer. Avec la validation VIES active, l’exonération n’est accordée que si le VIES confirme le numéro ; si le VIES est injoignable, la TVA est facturée et la facture suit l’encaissé."
     257msgstr "Livraison intracommunautaire : le client ou la cliente paie hors taxe et la facture porte la mention légale d’exonération. Ces ventes imposent le dépôt de l’état récapitulatif TVA — vérifiez avec votre comptable avant d’activer. Avec la validation VIES active, l’exonération n’est accordée que si le VIES confirme le numéro ; si le VIES est injoignable, la TVA est facturée et la facture suit l’encaissé."
    259258
    260259#: includes/class-isfp-settings.php:330
    … …  
    268267#: includes/class-isfp-settings.php:334
    269268msgid "Leave unchecked if your EU consumer sales stay under €10,000 per year: French VAT is then charged to all EU customers and invoices carry French VAT codes. Tick it only if you are OSS-registered and WooCommerce charges each customer their own country rate."
    270 msgstr "Laissez décoché si vos ventes aux particuliers de l’UE restent sous 10 000 € par an : la TVA française est alors facturée à tous les clients UE et les factures portent des codes de TVA français. Ne cochez que si vous êtes immatriculé OSS et que WooCommerce applique à chaque client le taux de son pays."
     269msgstr "Laissez décoché si vos ventes aux particuliers de l’UE restent sous 10 000 € par an : la TVA française est alors facturée à toute la clientèle UE et les factures portent des codes de TVA français. Cochez uniquement si vous êtes immatriculé OSS et que WooCommerce applique à chaque client le taux de son pays."
    271270
    272271#: includes/class-isfp-settings.php:350
    … …  
    276275#: includes/class-isfp-settings.php:353
    277276msgid "The Pro extension adds automatic invoicing on status change, credit notes on refunds, payment reconciliation, invoice e-mailing to the customer, product mapping, bulk actions, backfill of past orders, integrity checks, weekly summary and failure alerts."
    278 msgstr "L’extension Pro ajoute la facturation automatique au changement de statut, les avoirs sur remboursement, le rapprochement des paiements, l’envoi des factures au client par e-mail, la correspondance des produits, les actions groupées, le rattrapage des commandes passées, les contrôles d’intégrité, le récapitulatif hebdomadaire et les alertes d’échec."
     277msgstr "L’extension Pro ajoute la facturation automatique au changement d’état, les avoirs sur remboursement, le rapprochement des paiements, l’envoi des factures à la clientèle par e-mail, la correspondance des produits, les actions groupées, le rattrapage des commandes passées, les contrôles d’intégrité, le récapitulatif hebdomadaire et les alertes d’échec."
    279278
    280279#: includes/class-isfp-settings.php:354
    … …  
    308307#: includes/class-isfp-settings.php:370
    309308msgid "Automatic (based on the customer country)"
    310 msgstr "Auto (selon le pays du client)"
     309msgstr "Auto (selon le pays de la clientèle)"
    311310
    312311#: includes/class-isfp-settings.php:383
    … …  
    364363#: includes/class-isfp-settings.php:461
    365364msgid "No token saved yet — save the settings first."
    366 msgstr "Aucun jeton enregistré — enregistrer d’abord."
     365msgstr "Aucun jeton enregistré — enregistrez d’abord les réglages."
    367366
    368367#: includes/class-isfp-settings.php:465
    … …  
    399398
    400399#: includes/class-isfp-siret-autocomplete.php:52
    401 msgid "Invalid company ID."
     400msgid "Invalid SIRET."
    402401msgstr "SIRET invalide."
    403402
    … …  
    412411#: includes/class-isfp-vat-mapper.php:86
    413412msgid "Pennylane: VAT was collected on this order although the customer has a valid EU VAT number — the invoice is issued WITH the collected VAT (no reverse-charge mention). To sell VAT-free to EU businesses, enable the B2B exemption option in the Invoicing settings, then refund and re-order if needed."
    414 msgstr "Pennylane : de la TVA a été encaissée alors que le client a un n° de TVA intracommunautaire valide — la facture est émise AVEC la TVA perçue (pas de mention intracommunautaire). Pour vendre HT aux pros UE, activez l’option d’exonération B2B dans les réglages Facturation, puis remboursez et refaites la commande si nécessaire."
     413msgstr "Pennylane : de la TVA a été encaissée alors que le client ou la cliente a un n° de TVA intracommunautaire valide — la facture est émise AVEC la TVA perçue (pas de mention intracommunautaire). Pour vendre HT aux pros UE, activez l’option d’exonération B2B dans les réglages Facturation, puis remboursez et refaites la commande si nécessaire."
    415414
    416415#: includes/class-isfp-vat-mapper.php:163
    … …  
    428427#: includes/class-isfp-vies.php:161
    429428msgid "Pennylane: VIES unreachable, VAT number %s could not be checked — reverse charge applied on format only. Please verify."
    430 msgstr "Pennylane : VIES injoignable, n° TVA %s non vérifié — autoliquidation appliquée sur la base du format. À contrôler."
     429msgstr "Pennylane : VIES injoignable, n° TVA %s non vérifié — autoliquidation appliquée uniquement sur la base du format. Veuillez vérifier."
    431430
    432431#: includes/class-isfp-vies.php:166
    … …  
    434433msgstr "Pennylane : n° TVA validé par le VIES (%s)."
    435434
    436 #: ukto-invoice-sync-for-pennylane.php:115
     435#: ukto-invoice-sync-for-pennylane.php:144
    437436msgid "Invoice Sync for Pennylane requires WooCommerce to be installed and active."
    438437msgstr "Invoice Sync for Pennylane nécessite WooCommerce installé et actif."
    439 
    440 #. En-tete de l'extension (page Extensions de l'administration).
    441 msgid "UKTO Invoice Sync for Pennylane"
    442 msgstr "UKTO Invoice Sync for Pennylane"
    443 
    444 msgid "Sébastien DUBOIS"
    445 msgstr "Sébastien DUBOIS"
    446 
    447 msgid "https://ukto.fr"
    448 msgstr "https://ukto.fr"
    449 
    450 msgid "https://ukto.fr/pennylane.php"
    451 msgstr "https://ukto.fr/pennylane.php"
    452 
    453 msgid "Send your WooCommerce orders to Pennylane as compliant invoices: one-click invoicing from the order screen, full VAT/OSS mapping, EU VAT number validation (VIES) and company ID at checkout, invoice PDF in My Account."
    454 msgstr "Envoyez vos commandes WooCommerce vers Pennylane sous forme de factures conformes : facturation en un clic depuis la commande, gestion complète de la TVA et de l’OSS, validation du numéro de TVA intracommunautaire (VIES) et SIRET lors de la commande, PDF de facture dans « Mon compte »."
    455 
    456 msgid "Send your WooCommerce orders to Pennylane as compliant invoices: one-click invoicing from the order screen, full VAT/OSS mapping, EU VAT number validation (VIES) and SIRET at checkout, invoice PDF in My Account."
    457 msgstr "Envoyez vos commandes WooCommerce vers Pennylane sous forme de factures conformes : facturation en un clic depuis la commande, gestion complète de la TVA et de l’OSS, validation du numéro de TVA intracommunautaire (VIES) et SIRET lors de la commande, PDF de facture dans « Mon compte »."
    458 
    459 msgid "SIRET (French businesses)"
    460 msgstr "SIRET (entreprises françaises)"
    461 
    462 msgid "B2B checkout — SIRET (French company ID)"
    463 msgstr "Commande B2B — SIRET"
    464 
    465 msgid "Invalid SIRET."
    466 msgstr "SIRET invalide."
  • ukto-invoice-sync-for-pennylane/tags/1.7.6/languages/ukto-invoice-sync-for-pennylane.pot

    r3713298 r3732190  
    11# Copyright (C) 2026 Sébastien DUBOIS
    2 # This file is distributed under the GPL-2.0-or-later.
     2# This file is distributed under the GPL-2.0-or-later license.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: UKTO Invoice Sync for Pennylane 1.7.4\n"
    6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ukto-invoice-sync-for-pennylane\n"
    7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    8 "Language-Team: LANGUAGE <LL@li.org>\n"
     5"Project-Id-Version: ukto-invoice-sync-for-pennylane\n"
    96"MIME-Version: 1.0\n"
    107"Content-Type: text/plain; charset=UTF-8\n"
    118"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-09-25T16:00:50+00:00\n"
    13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    14 "X-Generator: WP-CLI 2.12.0\n"
     9"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    1510"X-Domain: ukto-invoice-sync-for-pennylane\n"
    1611
    17 #. Plugin Name of the plugin
    18 #: ukto-invoice-sync-for-pennylane.php
    19 msgid "UKTO Invoice Sync for Pennylane"
    20 msgstr ""
    21 
    22 #. Plugin URI of the plugin
    23 #: ukto-invoice-sync-for-pennylane.php
    24 msgid "https://ukto.fr/pennylane.php"
    25 msgstr ""
    26 
    27 #. Description of the plugin
    28 #: ukto-invoice-sync-for-pennylane.php
    29 msgid "Send your WooCommerce orders to Pennylane as compliant invoices: one-click invoicing from the order screen, full VAT/OSS mapping, EU VAT number validation (VIES) and SIRET at checkout, invoice PDF in My Account."
    30 msgstr ""
    31 
    32 #. Author of the plugin
    33 #: ukto-invoice-sync-for-pennylane.php
    34 msgid "Sébastien DUBOIS"
    35 msgstr ""
    36 
    37 #. Author URI of the plugin
    38 #: ukto-invoice-sync-for-pennylane.php
    39 msgid "https://ukto.fr"
    40 msgstr ""
    41 
    42 #: includes/class-isfp-api-client.php:114
    43 #: includes/class-isfp-invoice-service.php:81
     12#: includes/class-isfp-api-client.php:114 includes/class-isfp-invoice-service.php:81
    4413msgid "No Pennylane API token configured."
    4514msgstr ""
    … …  
    4918msgstr ""
    5019
    51 #: includes/class-isfp-checkout-fields.php:147
    52 #: includes/class-isfp-checkout-fields.php:216
     20#: includes/class-isfp-checkout-fields.php:147 includes/class-isfp-checkout-fields.php:216
    5321msgid "SIRET (French businesses)"
    5422msgstr ""
    5523
    56 #: includes/class-isfp-checkout-fields.php:154
    57 #: includes/class-isfp-checkout-fields.php:222
     24#: includes/class-isfp-checkout-fields.php:154 includes/class-isfp-checkout-fields.php:222
    5825msgid "EU VAT number"
    5926msgstr ""
    6027
    61 #: includes/class-isfp-checkout-fields.php:163
    62 #: includes/class-isfp-checkout-fields.php:235
     28#: includes/class-isfp-checkout-fields.php:163 includes/class-isfp-checkout-fields.php:235
    6329msgid "The SIRET number must be 14 digits."
    6430msgstr ""
    6531
    66 #: includes/class-isfp-checkout-fields.php:167
    67 #: includes/class-isfp-checkout-fields.php:240
     32#: includes/class-isfp-checkout-fields.php:167 includes/class-isfp-checkout-fields.php:240
    6833msgid "The EU VAT number looks invalid (e.g. FR12345678901)."
    6934msgstr ""
    … …  
    7338msgstr ""
    7439
    75 #. translators: %s: raw JSON response returned by Pennylane.
    7640#: includes/class-isfp-customer-sync.php:66
    77 #, php-format
    7841msgid "Pennylane response contained no customer ID: %s"
    7942msgstr ""
    8043
    81 #. translators: %d: WooCommerce order number.
    8244#: includes/class-isfp-invoice-service.php:42
    83 #, php-format
    8445msgid "Invoicing is already running for order #%d."
    8546msgstr ""
    8647
    87 #. translators: %s: error message returned by the Pennylane API.
    8848#: includes/class-isfp-invoice-service.php:55
    89 #, php-format
    9049msgid "Pennylane: invoicing failed — %s"
    9150msgstr ""
    … …  
    9554msgstr ""
    9655
    97 #. translators: %s: raw JSON response returned by Pennylane.
    9856#: includes/class-isfp-invoice-service.php:110
    99 #, php-format
    10057msgid "Pennylane response contained no invoice ID: %s"
    10158msgstr ""
    10259
    103 #. translators: %s: Pennylane invoice number.
    10460#: includes/class-isfp-invoice-service.php:143
    105 #, php-format
    10661msgid "Pennylane: invoice %s created and finalized."
    10762msgstr ""
    … …  
    11166msgstr ""
    11267
    113 #: includes/class-isfp-my-account.php:34
    114 #: includes/class-isfp-my-account.php:39
     68#: includes/class-isfp-my-account.php:34 includes/class-isfp-my-account.php:39
    11569msgid "Access denied."
    11670msgstr ""
    … …  
    12478msgstr ""
    12579
    126 #. translators: file name prefix for the downloaded invoice PDF.
    12780#: includes/class-isfp-my-account.php:54
    12881msgid "invoice"
    … …  
    14598msgstr ""
    14699
    147 #. translators: %s: link to the Pennylane app.
    148100#: includes/class-isfp-order-metabox.php:61
    149 #, php-format
    150101msgid "Connected to %s"
    151102msgstr ""
    152103
    153 #. translators: %s: Pennylane invoice number.
    154104#: includes/class-isfp-order-metabox.php:69
    155 #, php-format
    156105msgid "no. %s"
    157106msgstr ""
    … …  
    213162msgstr ""
    214163
    215 #: includes/class-isfp-plugin.php:81
    216 #: includes/class-isfp-settings.php:245
     164#: includes/class-isfp-plugin.php:81 includes/class-isfp-settings.php:245
    217165msgid "Documentation"
    218166msgstr ""
    … …  
    254202msgstr ""
    255203
    256 #: includes/class-isfp-settings.php:288
    257 #: includes/class-isfp-settings.php:387
     204#: includes/class-isfp-settings.php:288 includes/class-isfp-settings.php:387
    258205msgid "Test mode (dry run)"
    259206msgstr ""
    260207
    261 #. translators: %s: bold "without sending anything to Pennylane".
    262208#: includes/class-isfp-settings.php:294
    263 #, php-format
    264209msgid "Build and log payloads %s"
    265210msgstr ""
    … …  
    457402msgstr ""
    458403
    459 #: includes/class-isfp-siret-autocomplete.php:58
    460 #: includes/class-isfp-siret-autocomplete.php:77
     404#: includes/class-isfp-siret-autocomplete.php:58 includes/class-isfp-siret-autocomplete.php:77
    461405msgid "Company not found."
    462406msgstr ""
    … …  
    482426msgstr ""
    483427
    484 #. translators: %s: EU VAT number.
    485428#: includes/class-isfp-vies.php:161
    486 #, php-format
    487429msgid "Pennylane: VIES unreachable, VAT number %s could not be checked — reverse charge applied on format only. Please verify."
    488430msgstr ""
    489431
    490 #. translators: %s: company name returned by VIES.
    491432#: includes/class-isfp-vies.php:166
    492 #, php-format
    493433msgid "Pennylane: VAT number validated by VIES (%s)."
    494434msgstr ""
  • ukto-invoice-sync-for-pennylane/tags/1.7.6/readme.txt

    r3713298 r3732190  
    66Requires PHP: 7.4
    77Requires Plugins: woocommerce
    8 Stable tag: 1.7.5
     8Stable tag: 1.7.6
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    165165== Changelog ==
    166166
     167= 1.7.6 =
     168* The bundled French translation was out of sync with the one reviewed on translate.wordpress.org:
     169  the shipped file still carried glossary terms that had already been corrected there. Both are now
     170  identical, including the non-breaking spaces.
     171* French translation switched to inclusive forms for "customer", following the fr_FR glossary and a
     172  review request from the WordPress French translation team.
     173
    167174= 1.7.5 =
    168175* The checkout field is now called SIRET everywhere, which is what it actually is: a French
    … …  
    217224== Upgrade Notice ==
    218225
     226= 1.7.6 =
     227French translation realigned with the reviewed version on translate.wordpress.org.
     228
    219229= 1.7.5 =
    220230Clearer wording: the checkout field is a French SIRET, and says so.
  • ukto-invoice-sync-for-pennylane/tags/1.7.6/ukto-invoice-sync-for-pennylane.php

    r3713298 r3732190  
    44 * Plugin URI:        https://ukto.fr/pennylane.php
    55 * Description:       Send your WooCommerce orders to Pennylane as compliant invoices: one-click invoicing from the order screen, full VAT/OSS mapping, EU VAT number validation (VIES) and SIRET at checkout, invoice PDF in My Account.
    6  * Version:           1.7.5
     6 * Version:           1.7.6
    77 * Requires at least: 5.8
    88 * Requires PHP:      7.4
    … …  
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 define( 'ISFP_VERSION', '1.7.5' ); // Doit égaler l'en-tête Version — vérifié par build.ps1.
     22define( 'ISFP_VERSION', '1.7.6' ); // Doit égaler l'en-tête Version — vérifié par build.ps1.
    2323
    2424/**
  • ukto-invoice-sync-for-pennylane/trunk/languages/ukto-invoice-sync-for-pennylane-fr_FR.po

    r3713298 r3732190  
    1 # Copyright (C) 2026 Sébastien DUBOIS
    2 # This file is distributed under the GPL-2.0-or-later license.
    31msgid ""
    42msgstr ""
    53"Project-Id-Version: ukto-invoice-sync-for-pennylane\n"
     4"Language: fr_FR\n"
    65"MIME-Version: 1.0\n"
    76"Content-Type: text/plain; charset=UTF-8\n"
    87"Content-Transfer-Encoding: 8bit\n"
    9 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
     8"Plural-Forms: nplurals=2; plural=(n > 1);\n"
    109"X-Domain: ukto-invoice-sync-for-pennylane\n"
    1110
    … …  
    1918
    2019#: includes/class-isfp-checkout-fields.php:147 includes/class-isfp-checkout-fields.php:216
    21 msgid "Company ID / SIRET (businesses)"
    22 msgstr "SIRET (entreprises)"
     20msgid "SIRET (French businesses)"
     21msgstr "SIRET (entreprises françaises)"
    2322
    2423#: includes/class-isfp-checkout-fields.php:154 includes/class-isfp-checkout-fields.php:222
    … …  
    216215#: includes/class-isfp-settings.php:298
    217216msgid "No invoice, customer or credit note is created. Full payloads are written to the logs so you can review them. Use this to validate your configuration before going live."
    218 msgstr "Aucune facture, aucun client, aucun avoir n’est créé. Les payloads complets sont écrits dans les journaux pour vérification. À utiliser pour valider la configuration avant la mise en production."
     217msgstr "Aucune facture, aucune fiche client, aucun avoir n’est créé. Les payloads complets sont écrits dans les journaux pour vérification. À utiliser pour valider la configuration avant la mise en production."
    219218
    220219#: includes/class-isfp-settings.php:302
    … …  
    235234
    236235#: includes/class-isfp-settings.php:314
    237 msgid "B2B checkout — company ID"
     236msgid "B2B checkout — SIRET (French company ID)"
    238237msgstr "Commande B2B — SIRET"
    239238
    … …  
    244243#: includes/class-isfp-settings.php:318
    245244msgid "Uses the free public French company lookup API (data.gouv.fr). Fields already filled in by the customer are never overwritten."
    246 msgstr "Via l’API publique Recherche d’entreprises (data.gouv.fr, gratuite). Les champs déjà remplis par le client ne sont pas écrasés."
     245msgstr "Via l’API publique Recherche d’entreprises (data.gouv.fr, gratuite). Les champs déjà remplis par le client ou la cliente ne sont pas écrasés."
    247246
    248247#: includes/class-isfp-settings.php:322
    … …  
    256255#: includes/class-isfp-settings.php:326
    257256msgid "Intra-Community supply: the customer pays without VAT and the invoice carries the legal exemption mention. Requires filing the EC Sales List (état récapitulatif TVA) for these sales — check with your accountant before enabling. With VIES validation on, the exemption is only granted when VIES confirms the number; if VIES is unreachable, VAT is charged and the invoice follows the money."
    258 msgstr "Livraison intracommunautaire : le client paie hors taxe et la facture porte la mention légale d’exonération. Ces ventes imposent le dépôt de l’état récapitulatif TVA — vérifiez avec votre comptable avant d’activer. Avec la validation VIES active, l’exonération n’est accordée que si le VIES confirme le numéro ; si le VIES est injoignable, la TVA est facturée et la facture suit l’encaissé."
     257msgstr "Livraison intracommunautaire : le client ou la cliente paie hors taxe et la facture porte la mention légale d’exonération. Ces ventes imposent le dépôt de l’état récapitulatif TVA — vérifiez avec votre comptable avant d’activer. Avec la validation VIES active, l’exonération n’est accordée que si le VIES confirme le numéro ; si le VIES est injoignable, la TVA est facturée et la facture suit l’encaissé."
    259258
    260259#: includes/class-isfp-settings.php:330
    … …  
    268267#: includes/class-isfp-settings.php:334
    269268msgid "Leave unchecked if your EU consumer sales stay under €10,000 per year: French VAT is then charged to all EU customers and invoices carry French VAT codes. Tick it only if you are OSS-registered and WooCommerce charges each customer their own country rate."
    270 msgstr "Laissez décoché si vos ventes aux particuliers de l’UE restent sous 10 000 € par an : la TVA française est alors facturée à tous les clients UE et les factures portent des codes de TVA français. Ne cochez que si vous êtes immatriculé OSS et que WooCommerce applique à chaque client le taux de son pays."
     269msgstr "Laissez décoché si vos ventes aux particuliers de l’UE restent sous 10 000 € par an : la TVA française est alors facturée à toute la clientèle UE et les factures portent des codes de TVA français. Cochez uniquement si vous êtes immatriculé OSS et que WooCommerce applique à chaque client le taux de son pays."
    271270
    272271#: includes/class-isfp-settings.php:350
    … …  
    276275#: includes/class-isfp-settings.php:353
    277276msgid "The Pro extension adds automatic invoicing on status change, credit notes on refunds, payment reconciliation, invoice e-mailing to the customer, product mapping, bulk actions, backfill of past orders, integrity checks, weekly summary and failure alerts."
    278 msgstr "L’extension Pro ajoute la facturation automatique au changement de statut, les avoirs sur remboursement, le rapprochement des paiements, l’envoi des factures au client par e-mail, la correspondance des produits, les actions groupées, le rattrapage des commandes passées, les contrôles d’intégrité, le récapitulatif hebdomadaire et les alertes d’échec."
     277msgstr "L’extension Pro ajoute la facturation automatique au changement d’état, les avoirs sur remboursement, le rapprochement des paiements, l’envoi des factures à la clientèle par e-mail, la correspondance des produits, les actions groupées, le rattrapage des commandes passées, les contrôles d’intégrité, le récapitulatif hebdomadaire et les alertes d’échec."
    279278
    280279#: includes/class-isfp-settings.php:354
    … …  
    308307#: includes/class-isfp-settings.php:370
    309308msgid "Automatic (based on the customer country)"
    310 msgstr "Auto (selon le pays du client)"
     309msgstr "Auto (selon le pays de la clientèle)"
    311310
    312311#: includes/class-isfp-settings.php:383
    … …  
    364363#: includes/class-isfp-settings.php:461
    365364msgid "No token saved yet — save the settings first."
    366 msgstr "Aucun jeton enregistré — enregistrer d’abord."
     365msgstr "Aucun jeton enregistré — enregistrez d’abord les réglages."
    367366
    368367#: includes/class-isfp-settings.php:465
    … …  
    399398
    400399#: includes/class-isfp-siret-autocomplete.php:52
    401 msgid "Invalid company ID."
     400msgid "Invalid SIRET."
    402401msgstr "SIRET invalide."
    403402
    … …  
    412411#: includes/class-isfp-vat-mapper.php:86
    413412msgid "Pennylane: VAT was collected on this order although the customer has a valid EU VAT number — the invoice is issued WITH the collected VAT (no reverse-charge mention). To sell VAT-free to EU businesses, enable the B2B exemption option in the Invoicing settings, then refund and re-order if needed."
    414 msgstr "Pennylane : de la TVA a été encaissée alors que le client a un n° de TVA intracommunautaire valide — la facture est émise AVEC la TVA perçue (pas de mention intracommunautaire). Pour vendre HT aux pros UE, activez l’option d’exonération B2B dans les réglages Facturation, puis remboursez et refaites la commande si nécessaire."
     413msgstr "Pennylane : de la TVA a été encaissée alors que le client ou la cliente a un n° de TVA intracommunautaire valide — la facture est émise AVEC la TVA perçue (pas de mention intracommunautaire). Pour vendre HT aux pros UE, activez l’option d’exonération B2B dans les réglages Facturation, puis remboursez et refaites la commande si nécessaire."
    415414
    416415#: includes/class-isfp-vat-mapper.php:163
    … …  
    428427#: includes/class-isfp-vies.php:161
    429428msgid "Pennylane: VIES unreachable, VAT number %s could not be checked — reverse charge applied on format only. Please verify."
    430 msgstr "Pennylane : VIES injoignable, n° TVA %s non vérifié — autoliquidation appliquée sur la base du format. À contrôler."
     429msgstr "Pennylane : VIES injoignable, n° TVA %s non vérifié — autoliquidation appliquée uniquement sur la base du format. Veuillez vérifier."
    431430
    432431#: includes/class-isfp-vies.php:166
    … …  
    434433msgstr "Pennylane : n° TVA validé par le VIES (%s)."
    435434
    436 #: ukto-invoice-sync-for-pennylane.php:115
     435#: ukto-invoice-sync-for-pennylane.php:144
    437436msgid "Invoice Sync for Pennylane requires WooCommerce to be installed and active."
    438437msgstr "Invoice Sync for Pennylane nécessite WooCommerce installé et actif."
    439 
    440 #. En-tete de l'extension (page Extensions de l'administration).
    441 msgid "UKTO Invoice Sync for Pennylane"
    442 msgstr "UKTO Invoice Sync for Pennylane"
    443 
    444 msgid "Sébastien DUBOIS"
    445 msgstr "Sébastien DUBOIS"
    446 
    447 msgid "https://ukto.fr"
    448 msgstr "https://ukto.fr"
    449 
    450 msgid "https://ukto.fr/pennylane.php"
    451 msgstr "https://ukto.fr/pennylane.php"
    452 
    453 msgid "Send your WooCommerce orders to Pennylane as compliant invoices: one-click invoicing from the order screen, full VAT/OSS mapping, EU VAT number validation (VIES) and company ID at checkout, invoice PDF in My Account."
    454 msgstr "Envoyez vos commandes WooCommerce vers Pennylane sous forme de factures conformes : facturation en un clic depuis la commande, gestion complète de la TVA et de l’OSS, validation du numéro de TVA intracommunautaire (VIES) et SIRET lors de la commande, PDF de facture dans « Mon compte »."
    455 
    456 msgid "Send your WooCommerce orders to Pennylane as compliant invoices: one-click invoicing from the order screen, full VAT/OSS mapping, EU VAT number validation (VIES) and SIRET at checkout, invoice PDF in My Account."
    457 msgstr "Envoyez vos commandes WooCommerce vers Pennylane sous forme de factures conformes : facturation en un clic depuis la commande, gestion complète de la TVA et de l’OSS, validation du numéro de TVA intracommunautaire (VIES) et SIRET lors de la commande, PDF de facture dans « Mon compte »."
    458 
    459 msgid "SIRET (French businesses)"
    460 msgstr "SIRET (entreprises françaises)"
    461 
    462 msgid "B2B checkout — SIRET (French company ID)"
    463 msgstr "Commande B2B — SIRET"
    464 
    465 msgid "Invalid SIRET."
    466 msgstr "SIRET invalide."
  • ukto-invoice-sync-for-pennylane/trunk/languages/ukto-invoice-sync-for-pennylane.pot

    r3713298 r3732190  
    11# Copyright (C) 2026 Sébastien DUBOIS
    2 # This file is distributed under the GPL-2.0-or-later.
     2# This file is distributed under the GPL-2.0-or-later license.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: UKTO Invoice Sync for Pennylane 1.7.4\n"
    6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ukto-invoice-sync-for-pennylane\n"
    7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    8 "Language-Team: LANGUAGE <LL@li.org>\n"
     5"Project-Id-Version: ukto-invoice-sync-for-pennylane\n"
    96"MIME-Version: 1.0\n"
    107"Content-Type: text/plain; charset=UTF-8\n"
    118"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-09-25T16:00:50+00:00\n"
    13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    14 "X-Generator: WP-CLI 2.12.0\n"
     9"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    1510"X-Domain: ukto-invoice-sync-for-pennylane\n"
    1611
    17 #. Plugin Name of the plugin
    18 #: ukto-invoice-sync-for-pennylane.php
    19 msgid "UKTO Invoice Sync for Pennylane"
    20 msgstr ""
    21 
    22 #. Plugin URI of the plugin
    23 #: ukto-invoice-sync-for-pennylane.php
    24 msgid "https://ukto.fr/pennylane.php"
    25 msgstr ""
    26 
    27 #. Description of the plugin
    28 #: ukto-invoice-sync-for-pennylane.php
    29 msgid "Send your WooCommerce orders to Pennylane as compliant invoices: one-click invoicing from the order screen, full VAT/OSS mapping, EU VAT number validation (VIES) and SIRET at checkout, invoice PDF in My Account."
    30 msgstr ""
    31 
    32 #. Author of the plugin
    33 #: ukto-invoice-sync-for-pennylane.php
    34 msgid "Sébastien DUBOIS"
    35 msgstr ""
    36 
    37 #. Author URI of the plugin
    38 #: ukto-invoice-sync-for-pennylane.php
    39 msgid "https://ukto.fr"
    40 msgstr ""
    41 
    42 #: includes/class-isfp-api-client.php:114
    43 #: includes/class-isfp-invoice-service.php:81
     12#: includes/class-isfp-api-client.php:114 includes/class-isfp-invoice-service.php:81
    4413msgid "No Pennylane API token configured."
    4514msgstr ""
    … …  
    4918msgstr ""
    5019
    51 #: includes/class-isfp-checkout-fields.php:147
    52 #: includes/class-isfp-checkout-fields.php:216
     20#: includes/class-isfp-checkout-fields.php:147 includes/class-isfp-checkout-fields.php:216
    5321msgid "SIRET (French businesses)"
    5422msgstr ""
    5523
    56 #: includes/class-isfp-checkout-fields.php:154
    57 #: includes/class-isfp-checkout-fields.php:222
     24#: includes/class-isfp-checkout-fields.php:154 includes/class-isfp-checkout-fields.php:222
    5825msgid "EU VAT number"
    5926msgstr ""
    6027
    61 #: includes/class-isfp-checkout-fields.php:163
    62 #: includes/class-isfp-checkout-fields.php:235
     28#: includes/class-isfp-checkout-fields.php:163 includes/class-isfp-checkout-fields.php:235
    6329msgid "The SIRET number must be 14 digits."
    6430msgstr ""
    6531
    66 #: includes/class-isfp-checkout-fields.php:167
    67 #: includes/class-isfp-checkout-fields.php:240
     32#: includes/class-isfp-checkout-fields.php:167 includes/class-isfp-checkout-fields.php:240
    6833msgid "The EU VAT number looks invalid (e.g. FR12345678901)."
    6934msgstr ""
    … …  
    7338msgstr ""
    7439
    75 #. translators: %s: raw JSON response returned by Pennylane.
    7640#: includes/class-isfp-customer-sync.php:66
    77 #, php-format
    7841msgid "Pennylane response contained no customer ID: %s"
    7942msgstr ""
    8043
    81 #. translators: %d: WooCommerce order number.
    8244#: includes/class-isfp-invoice-service.php:42
    83 #, php-format
    8445msgid "Invoicing is already running for order #%d."
    8546msgstr ""
    8647
    87 #. translators: %s: error message returned by the Pennylane API.
    8848#: includes/class-isfp-invoice-service.php:55
    89 #, php-format
    9049msgid "Pennylane: invoicing failed — %s"
    9150msgstr ""
    … …  
    9554msgstr ""
    9655
    97 #. translators: %s: raw JSON response returned by Pennylane.
    9856#: includes/class-isfp-invoice-service.php:110
    99 #, php-format
    10057msgid "Pennylane response contained no invoice ID: %s"
    10158msgstr ""
    10259
    103 #. translators: %s: Pennylane invoice number.
    10460#: includes/class-isfp-invoice-service.php:143
    105 #, php-format
    10661msgid "Pennylane: invoice %s created and finalized."
    10762msgstr ""
    … …  
    11166msgstr ""
    11267
    113 #: includes/class-isfp-my-account.php:34
    114 #: includes/class-isfp-my-account.php:39
     68#: includes/class-isfp-my-account.php:34 includes/class-isfp-my-account.php:39
    11569msgid "Access denied."
    11670msgstr ""
    … …  
    12478msgstr ""
    12579
    126 #. translators: file name prefix for the downloaded invoice PDF.
    12780#: includes/class-isfp-my-account.php:54
    12881msgid "invoice"
    … …  
    14598msgstr ""
    14699
    147 #. translators: %s: link to the Pennylane app.
    148100#: includes/class-isfp-order-metabox.php:61
    149 #, php-format
    150101msgid "Connected to %s"
    151102msgstr ""
    152103
    153 #. translators: %s: Pennylane invoice number.
    154104#: includes/class-isfp-order-metabox.php:69
    155 #, php-format
    156105msgid "no. %s"
    157106msgstr ""
    … …  
    213162msgstr ""
    214163
    215 #: includes/class-isfp-plugin.php:81
    216 #: includes/class-isfp-settings.php:245
     164#: includes/class-isfp-plugin.php:81 includes/class-isfp-settings.php:245
    217165msgid "Documentation"
    218166msgstr ""
    … …  
    254202msgstr ""
    255203
    256 #: includes/class-isfp-settings.php:288
    257 #: includes/class-isfp-settings.php:387
     204#: includes/class-isfp-settings.php:288 includes/class-isfp-settings.php:387
    258205msgid "Test mode (dry run)"
    259206msgstr ""
    260207
    261 #. translators: %s: bold "without sending anything to Pennylane".
    262208#: includes/class-isfp-settings.php:294
    263 #, php-format
    264209msgid "Build and log payloads %s"
    265210msgstr ""
    … …  
    457402msgstr ""
    458403
    459 #: includes/class-isfp-siret-autocomplete.php:58
    460 #: includes/class-isfp-siret-autocomplete.php:77
     404#: includes/class-isfp-siret-autocomplete.php:58 includes/class-isfp-siret-autocomplete.php:77
    461405msgid "Company not found."
    462406msgstr ""
    … …  
    482426msgstr ""
    483427
    484 #. translators: %s: EU VAT number.
    485428#: includes/class-isfp-vies.php:161
    486 #, php-format
    487429msgid "Pennylane: VIES unreachable, VAT number %s could not be checked — reverse charge applied on format only. Please verify."
    488430msgstr ""
    489431
    490 #. translators: %s: company name returned by VIES.
    491432#: includes/class-isfp-vies.php:166
    492 #, php-format
    493433msgid "Pennylane: VAT number validated by VIES (%s)."
    494434msgstr ""
  • ukto-invoice-sync-for-pennylane/trunk/readme.txt

    r3713298 r3732190  
    66Requires PHP: 7.4
    77Requires Plugins: woocommerce
    8 Stable tag: 1.7.5
     8Stable tag: 1.7.6
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    165165== Changelog ==
    166166
     167= 1.7.6 =
     168* The bundled French translation was out of sync with the one reviewed on translate.wordpress.org:
     169  the shipped file still carried glossary terms that had already been corrected there. Both are now
     170  identical, including the non-breaking spaces.
     171* French translation switched to inclusive forms for "customer", following the fr_FR glossary and a
     172  review request from the WordPress French translation team.
     173
    167174= 1.7.5 =
    168175* The checkout field is now called SIRET everywhere, which is what it actually is: a French
    … …  
    217224== Upgrade Notice ==
    218225
     226= 1.7.6 =
     227French translation realigned with the reviewed version on translate.wordpress.org.
     228
    219229= 1.7.5 =
    220230Clearer wording: the checkout field is a French SIRET, and says so.
  • ukto-invoice-sync-for-pennylane/trunk/ukto-invoice-sync-for-pennylane.php

    r3713298 r3732190  
    44 * Plugin URI:        https://ukto.fr/pennylane.php
    55 * Description:       Send your WooCommerce orders to Pennylane as compliant invoices: one-click invoicing from the order screen, full VAT/OSS mapping, EU VAT number validation (VIES) and SIRET at checkout, invoice PDF in My Account.
    6  * Version:           1.7.5
     6 * Version:           1.7.6
    77 * Requires at least: 5.8
    88 * Requires PHP:      7.4
    … …  
    2020defined( 'ABSPATH' ) || exit;
    2121
    22 define( 'ISFP_VERSION', '1.7.5' ); // Doit égaler l'en-tête Version — vérifié par build.ps1.
     22define( 'ISFP_VERSION', '1.7.6' ); // Doit égaler l'en-tête Version — vérifié par build.ps1.
    2323
    2424/**
Note: See TracChangeset for help on using the changeset viewer.