[traduire_texte ↪ refactor_deepl] 14 commits

spip-contrib-extensions/traduire_texte | 14 commits

Par Cerdic, le 21 janvier 2026 à 15h14min :

chores: code mort

Modifié
src/TraductionServiceDeepl.php

Détails : chores: code mort (77f902ca) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 21 janvier 2026 à 15h12min :

refactor: utiliser la lib deeplcom/deepl-php via composer pour gérer l’API deepl

Ajouté
vendor/composer/autoload_files.php
vendor/composer/platform_check.php
vendor/deeplcom/deepl-php/LICENSE
vendor/deeplcom/deepl-php/VERSION
vendor/deeplcom/deepl-php/composer.json
vendor/deeplcom/deepl-php/src/AppInfo.php
vendor/deeplcom/deepl-php/src/AuthorizationException.php
vendor/deeplcom/deepl-php/src/BackoffTimer.php
vendor/deeplcom/deepl-php/src/ConfiguredRules.php
vendor/deeplcom/deepl-php/src/ConnectionException.php
vendor/deeplcom/deepl-php/src/CustomInstruction.php
vendor/deeplcom/deepl-php/src/DeepLClient.php
vendor/deeplcom/deepl-php/src/DeepLClientOptions.php
vendor/deeplcom/deepl-php/src/DeepLException.php
vendor/deeplcom/deepl-php/src/DocumentDeminificationException.php
vendor/deeplcom/deepl-php/src/DocumentHandle.php
vendor/deeplcom/deepl-php/src/DocumentMinificationException.php
vendor/deeplcom/deepl-php/src/DocumentMinifier.php
vendor/deeplcom/deepl-php/src/DocumentNotReadyException.php
vendor/deeplcom/deepl-php/src/DocumentStatus.php
vendor/deeplcom/deepl-php/src/DocumentTranslationException.php
vendor/deeplcom/deepl-php/src/GlossaryEntries.php
vendor/deeplcom/deepl-php/src/GlossaryInfo.php
vendor/deeplcom/deepl-php/src/GlossaryLanguagePair.php
vendor/deeplcom/deepl-php/src/GlossaryNotFoundException.php
vendor/deeplcom/deepl-php/src/GlossaryUtils.php
vendor/deeplcom/deepl-php/src/HttpClientWrapper.php
vendor/deeplcom/deepl-php/src/InvalidContentException.php
vendor/deeplcom/deepl-php/src/Language.php
vendor/deeplcom/deepl-php/src/LanguageCode.php
vendor/deeplcom/deepl-php/src/MultilingualGlossaryDictionaryEntries.php
vendor/deeplcom/deepl-php/src/MultilingualGlossaryDictionaryInfo.php
vendor/deeplcom/deepl-php/src/MultilingualGlossaryInfo.php
vendor/deeplcom/deepl-php/src/NotFoundException.php
vendor/deeplcom/deepl-php/src/QuotaExceededException.php
vendor/deeplcom/deepl-php/src/RephraseTextOptions.php
vendor/deeplcom/deepl-php/src/RephraseTextResult.php
vendor/deeplcom/deepl-php/src/StyleRuleInfo.php
vendor/deeplcom/deepl-php/src/TextResult.php
vendor/deeplcom/deepl-php/src/TooManyRequestsException.php
vendor/deeplcom/deepl-php/src/TranslateDocumentOptions.php
vendor/deeplcom/deepl-php/src/TranslateTextOptions.php
vendor/deeplcom/deepl-php/src/Translator.php
vendor/deeplcom/deepl-php/src/TranslatorOptions.php
vendor/deeplcom/deepl-php/src/Usage.php
vendor/deeplcom/deepl-php/src/UsageDetail.php
vendor/nyholm/psr7/CHANGELOG.md
vendor/nyholm/psr7/LICENSE
vendor/nyholm/psr7/README.md
vendor/nyholm/psr7/composer.json
vendor/nyholm/psr7/src/Factory/HttplugFactory.php
vendor/nyholm/psr7/src/Factory/Psr17Factory.php
vendor/nyholm/psr7/src/MessageTrait.php
vendor/nyholm/psr7/src/Request.php
vendor/nyholm/psr7/src/RequestTrait.php
vendor/nyholm/psr7/src/Response.php
vendor/nyholm/psr7/src/ServerRequest.php
vendor/nyholm/psr7/src/Stream.php
vendor/nyholm/psr7/src/StreamTrait.php
vendor/nyholm/psr7/src/UploadedFile.php
vendor/nyholm/psr7/src/Uri.php
vendor/php-http/discovery/.php-cs-fixer.php
vendor/php-http/discovery/CHANGELOG.md
vendor/php-http/discovery/LICENSE
vendor/php-http/discovery/README.md
vendor/php-http/discovery/composer.json
vendor/php-http/discovery/src/ClassDiscovery.php
vendor/php-http/discovery/src/Composer/Plugin.php
vendor/php-http/discovery/src/Exception.php
vendor/php-http/discovery/src/Exception/ClassInstantiationFailedException.php
vendor/php-http/discovery/src/Exception/DiscoveryFailedException.php
vendor/php-http/discovery/src/Exception/NoCandidateFoundException.php
vendor/php-http/discovery/src/Exception/NotFoundException.php
vendor/php-http/discovery/src/Exception/PuliUnavailableException.php
vendor/php-http/discovery/src/Exception/StrategyUnavailableException.php
vendor/php-http/discovery/src/HttpAsyncClientDiscovery.php
vendor/php-http/discovery/src/HttpClientDiscovery.php
vendor/php-http/discovery/src/MessageFactoryDiscovery.php
vendor/php-http/discovery/src/NotFoundException.php
vendor/php-http/discovery/src/Psr17Factory.php
vendor/php-http/discovery/src/Psr17FactoryDiscovery.php
vendor/php-http/discovery/src/Psr18Client.php
vendor/php-http/discovery/src/Psr18ClientDiscovery.php
vendor/php-http/discovery/src/Strategy/CommonClassesStrategy.php
vendor/php-http/discovery/src/Strategy/CommonPsr17ClassesStrategy.php
vendor/php-http/discovery/src/Strategy/DiscoveryStrategy.php
vendor/php-http/discovery/src/Strategy/MockClientStrategy.php
vendor/php-http/discovery/src/Strategy/PuliBetaStrategy.php
vendor/php-http/discovery/src/StreamFactoryDiscovery.php
vendor/php-http/discovery/src/UriFactoryDiscovery.php
vendor/php-http/multipart-stream-builder/CHANGELOG.md
vendor/php-http/multipart-stream-builder/LICENSE
vendor/php-http/multipart-stream-builder/README.md
vendor/php-http/multipart-stream-builder/composer.json
vendor/php-http/multipart-stream-builder/src/ApacheMimetypeHelper.php
vendor/php-http/multipart-stream-builder/src/CustomMimetypeHelper.php
vendor/php-http/multipart-stream-builder/src/MimetypeHelper.php
vendor/php-http/multipart-stream-builder/src/MultipartStreamBuilder.php
vendor/psr/container/.gitignore
vendor/psr/container/LICENSE
vendor/psr/container/README.md
vendor/psr/container/composer.json
vendor/psr/container/src/ContainerExceptionInterface.php
vendor/psr/container/src/ContainerInterface.php
vendor/psr/container/src/NotFoundExceptionInterface.php
vendor/psr/http-client/CHANGELOG.md
vendor/psr/http-client/LICENSE
vendor/psr/http-client/README.md
vendor/psr/http-client/composer.json
vendor/psr/http-client/src/ClientExceptionInterface.php
vendor/psr/http-client/src/ClientInterface.php
vendor/psr/http-client/src/NetworkExceptionInterface.php
vendor/psr/http-client/src/RequestExceptionInterface.php
vendor/psr/http-factory/LICENSE
vendor/psr/http-factory/README.md
vendor/psr/http-factory/composer.json
vendor/psr/http-factory/src/RequestFactoryInterface.php
vendor/psr/http-factory/src/ResponseFactoryInterface.php
vendor/psr/http-factory/src/ServerRequestFactoryInterface.php
vendor/psr/http-factory/src/StreamFactoryInterface.php
vendor/psr/http-factory/src/UploadedFileFactoryInterface.php
vendor/psr/http-factory/src/UriFactoryInterface.php
vendor/psr/http-message/CHANGELOG.md
vendor/psr/http-message/LICENSE
vendor/psr/http-message/README.md
vendor/psr/http-message/composer.json
vendor/psr/http-message/docs/PSR7-Interfaces.md
vendor/psr/http-message/docs/PSR7-Usage.md
vendor/psr/http-message/src/MessageInterface.php
vendor/psr/http-message/src/RequestInterface.php
vendor/psr/http-message/src/ResponseInterface.php
vendor/psr/http-message/src/ServerRequestInterface.php
vendor/psr/http-message/src/StreamInterface.php
vendor/psr/http-message/src/UploadedFileInterface.php
vendor/psr/http-message/src/UriInterface.php
vendor/psr/log/LICENSE
vendor/psr/log/README.md
vendor/psr/log/composer.json
vendor/psr/log/src/AbstractLogger.php
vendor/psr/log/src/InvalidArgumentException.php
vendor/psr/log/src/LogLevel.php
vendor/psr/log/src/LoggerAwareInterface.php
vendor/psr/log/src/LoggerAwareTrait.php
vendor/psr/log/src/LoggerInterface.php
vendor/psr/log/src/LoggerTrait.php
vendor/psr/log/src/NullLogger.php
vendor/symfony/deprecation-contracts/CHANGELOG.md
vendor/symfony/deprecation-contracts/LICENSE
vendor/symfony/deprecation-contracts/README.md
vendor/symfony/deprecation-contracts/composer.json
vendor/symfony/deprecation-contracts/function.php
vendor/symfony/http-client-contracts/CHANGELOG.md
vendor/symfony/http-client-contracts/ChunkInterface.php
vendor/symfony/http-client-contracts/Exception/ClientExceptionInterface.php
vendor/symfony/http-client-contracts/Exception/DecodingExceptionInterface.php
vendor/symfony/http-client-contracts/Exception/ExceptionInterface.php
vendor/symfony/http-client-contracts/Exception/HttpExceptionInterface.php
vendor/symfony/http-client-contracts/Exception/RedirectionExceptionInterface.php
vendor/symfony/http-client-contracts/Exception/ServerExceptionInterface.php
vendor/symfony/http-client-contracts/Exception/TimeoutExceptionInterface.php
vendor/symfony/http-client-contracts/Exception/TransportExceptionInterface.php
vendor/symfony/http-client-contracts/HttpClientInterface.php
vendor/symfony/http-client-contracts/LICENSE
vendor/symfony/http-client-contracts/README.md
vendor/symfony/http-client-contracts/ResponseInterface.php
vendor/symfony/http-client-contracts/ResponseStreamInterface.php
vendor/symfony/http-client-contracts/Test/Fixtures/web/index.php
vendor/symfony/http-client-contracts/Test/HttpClientTestCase.php
vendor/symfony/http-client-contracts/Test/TestHttpServer.php
vendor/symfony/http-client-contracts/composer.json
vendor/symfony/http-client/AmpHttpClient.php
vendor/symfony/http-client/AsyncDecoratorTrait.php
vendor/symfony/http-client/CHANGELOG.md
vendor/symfony/http-client/Caching/Freshness.php
vendor/symfony/http-client/CachingHttpClient.php
vendor/symfony/http-client/Chunk/DataChunk.php
vendor/symfony/http-client/Chunk/ErrorChunk.php
vendor/symfony/http-client/Chunk/FirstChunk.php
vendor/symfony/http-client/Chunk/InformationalChunk.php
vendor/symfony/http-client/Chunk/LastChunk.php
vendor/symfony/http-client/Chunk/ServerSentEvent.php
vendor/symfony/http-client/CurlHttpClient.php
vendor/symfony/http-client/DataCollector/HttpClientDataCollector.php
vendor/symfony/http-client/DecoratorTrait.php
vendor/symfony/http-client/DependencyInjection/HttpClientPass.php
vendor/symfony/http-client/EventSourceHttpClient.php
vendor/symfony/http-client/Exception/ChunkCacheItemNotFoundException.php
vendor/symfony/http-client/Exception/ClientException.php
vendor/symfony/http-client/Exception/EventSourceException.php
vendor/symfony/http-client/Exception/HttpExceptionTrait.php
vendor/symfony/http-client/Exception/InvalidArgumentException.php
vendor/symfony/http-client/Exception/JsonException.php
vendor/symfony/http-client/Exception/RedirectionException.php
vendor/symfony/http-client/Exception/ServerException.php
vendor/symfony/http-client/Exception/TimeoutException.php
vendor/symfony/http-client/Exception/TransportException.php
vendor/symfony/http-client/HttpClient.php
vendor/symfony/http-client/HttpClientTrait.php
vendor/symfony/http-client/HttpOptions.php
vendor/symfony/http-client/HttplugClient.php
vendor/symfony/http-client/Internal/AmpBodyV4.php
vendor/symfony/http-client/Internal/AmpBodyV5.php
vendor/symfony/http-client/Internal/AmpClientStateV4.php
vendor/symfony/http-client/Internal/AmpClientStateV5.php
vendor/symfony/http-client/Internal/AmpListenerV4.php
vendor/symfony/http-client/Internal/AmpListenerV5.php
vendor/symfony/http-client/Internal/AmpResolverV4.php
vendor/symfony/http-client/Internal/AmpResolverV5.php
vendor/symfony/http-client/Internal/Canary.php
vendor/symfony/http-client/Internal/ClientState.php
vendor/symfony/http-client/Internal/CurlClientState.php
vendor/symfony/http-client/Internal/DnsCache.php
vendor/symfony/http-client/Internal/HttplugWaitLoop.php
vendor/symfony/http-client/Internal/NativeClientState.php
vendor/symfony/http-client/Internal/PushedResponse.php
vendor/symfony/http-client/LICENSE
vendor/symfony/http-client/Messenger/PingWebhookMessage.php
vendor/symfony/http-client/Messenger/PingWebhookMessageHandler.php
vendor/symfony/http-client/MockHttpClient.php
vendor/symfony/http-client/NativeHttpClient.php
vendor/symfony/http-client/NoPrivateNetworkHttpClient.php
vendor/symfony/http-client/Psr18Client.php
vendor/symfony/http-client/README.md
vendor/symfony/http-client/Response/AmpResponseV4.php
vendor/symfony/http-client/Response/AmpResponseV5.php
vendor/symfony/http-client/Response/AsyncContext.php
vendor/symfony/http-client/Response/AsyncResponse.php
vendor/symfony/http-client/Response/CommonResponseTrait.php
vendor/symfony/http-client/Response/CurlResponse.php
vendor/symfony/http-client/Response/HttplugPromise.php
vendor/symfony/http-client/Response/JsonMockResponse.php
vendor/symfony/http-client/Response/MockResponse.php
vendor/symfony/http-client/Response/NativeResponse.php
vendor/symfony/http-client/Response/ResponseStream.php
vendor/symfony/http-client/Response/StreamWrapper.php
vendor/symfony/http-client/Response/StreamableInterface.php
vendor/symfony/http-client/Response/TraceableResponse.php
vendor/symfony/http-client/Response/TransportResponseTrait.php
vendor/symfony/http-client/Retry/GenericRetryStrategy.php
vendor/symfony/http-client/Retry/RetryStrategyInterface.php
vendor/symfony/http-client/RetryableHttpClient.php
vendor/symfony/http-client/ScopingHttpClient.php
vendor/symfony/http-client/Test/HarFileResponseFactory.php
vendor/symfony/http-client/ThrottlingHttpClient.php
vendor/symfony/http-client/TraceableHttpClient.php
vendor/symfony/http-client/UriTemplateHttpClient.php
vendor/symfony/http-client/composer.json
vendor/symfony/polyfill-php83/LICENSE
vendor/symfony/polyfill-php83/Php83.php
vendor/symfony/polyfill-php83/README.md
vendor/symfony/polyfill-php83/Resources/stubs/DateError.php
vendor/symfony/polyfill-php83/Resources/stubs/DateException.php
vendor/symfony/polyfill-php83/Resources/stubs/DateInvalidOperationException.php
vendor/symfony/polyfill-php83/Resources/stubs/DateInvalidTimeZoneException.php
vendor/symfony/polyfill-php83/Resources/stubs/DateMalformedIntervalStringException.php
vendor/symfony/polyfill-php83/Resources/stubs/DateMalformedPeriodStringException.php
vendor/symfony/polyfill-php83/Resources/stubs/DateMalformedStringException.php
vendor/symfony/polyfill-php83/Resources/stubs/DateObjectError.php
vendor/symfony/polyfill-php83/Resources/stubs/DateRangeError.php
vendor/symfony/polyfill-php83/Resources/stubs/Override.php
vendor/symfony/polyfill-php83/Resources/stubs/SQLite3Exception.php
vendor/symfony/polyfill-php83/bootstrap.php
vendor/symfony/polyfill-php83/bootstrap81.php
vendor/symfony/polyfill-php83/composer.json
vendor/symfony/service-contracts/Attribute/Required.php
vendor/symfony/service-contracts/Attribute/SubscribedService.php
vendor/symfony/service-contracts/CHANGELOG.md
vendor/symfony/service-contracts/LICENSE
vendor/symfony/service-contracts/README.md
vendor/symfony/service-contracts/ResetInterface.php
vendor/symfony/service-contracts/ServiceCollectionInterface.php
vendor/symfony/service-contracts/ServiceLocatorTrait.php
vendor/symfony/service-contracts/ServiceMethodsSubscriberTrait.php
vendor/symfony/service-contracts/ServiceProviderInterface.php
vendor/symfony/service-contracts/ServiceSubscriberInterface.php
vendor/symfony/service-contracts/ServiceSubscriberTrait.php
vendor/symfony/service-contracts/Test/ServiceLocatorTest.php
vendor/symfony/service-contracts/Test/ServiceLocatorTestCase.php
vendor/symfony/service-contracts/composer.json
Supprimé
lib/deepl-php-lib/LICENSE.md
lib/deepl-php-lib/README.md
lib/deepl-php-lib/autoload.php
lib/deepl-php-lib/composer.json
lib/deepl-php-lib/src/DeepL.php
lib/deepl-php-lib/src/DeepLException.php
Modifié
composer.json
composer.lock
src/TraductionServiceDeepl.php
vendor/composer/autoload_classmap.php
vendor/composer/autoload_psr4.php
vendor/composer/autoload_real.php
vendor/composer/autoload_static.php
vendor/composer/installed.json
vendor/composer/installed.php

Détails : refactor: utiliser la lib deeplcom/deepl-php via composer pour gérer l'API deepl (27bcdade) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 21 janvier 2026 à 14h43min :

fix: a l’instanciation verifier que shell est bien disponible et fonctionnel

Modifié
src/TraductionServiceShell.php

Détails : fix: a l'instanciation verifier que shell est bien disponible et fonctionnel (0178d905) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 21 janvier 2026 à 14h42min :

fix: permettre de tester les services depuis le formulaire de configuration

Modifié
formulaires/configurer_traduiretexte.html
formulaires/configurer_traduiretexte.php
inc/traduire_texte.php
lang/traduiretexte_fr.php

Détails : fix: permettre de tester les services depuis le formulaire de configuration (cb2b6574) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 21 janvier 2026 à 14h09min :

fix: formulaire traduire_texte

Modifié
formulaires/traduire_texte.html
formulaires/traduire_texte.php
prive/squelettes/contenu/traduiretexte.html

Détails : fix: formulaire traduire_texte (3bd20393) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 21 janvier 2026 à 12h37min :

refactor: formulaire de configuration du plugin, permettant d’ajouter/supprimer/ordonner/activer/desactiver les services de traduction configurés

Ajouté
formulaires/inc-configurer-traduiretexte-service-shell.html
formulaires/inc-configurer-traduiretexte-service.html
Modifié
formulaires/configurer_traduiretexte.html
formulaires/configurer_traduiretexte.php
lang/traduiretexte_en.php
lang/traduiretexte_fr.php

Détails : refactor: formulaire de configuration du plugin, permettant... (99529e78) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 21 janvier 2026 à 12h36min :

refactor: la configuration change de format, contenant un entrée services qui liste dans l’ordre de priorité les services que l’on veut utiliser avec leur cle et un flag actif qui vaut 0 ou 1

Les constantes de configuration ne sont plus supportées, mais elles sont intégrées dans la config lors de la migration (ie le fonctionnement d’un site existant ne doit pas casser, car la valeur du define est copiée en base à la migration, mais la constante sera ensuite ignorée dans le futur)
Il est maintenant possible d’avoir plusieurs services de traduction actifs, dans l’ordre que l’on veut, le second étant utilisé en cas d’echec du premier et ainsi de suite
Il est egalement possible de désactiver un service sans vider la clé qui reste configurée
Pas encore d’interface de configuraiton, a venir

Modifié
inc/traduire_texte.php
paquet.xml
traduiretexte_administrations.php

Détails : refactor: la configuration change de format, contenant un entrée services qui... (f4c9943d) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 21 janvier 2026 à 10h49min :

fix: fonction traduire_texte_disponible()

Modifié
traduiretexte_fonctions.php

Détails : fix: fonction traduire_texte_disponible() (bec9ef0c) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 21 janvier 2026 à 10h46min :

styles: ecs SPIP

Modifié
action/traduiretexte.php
action/traduiretexte_supprimer_trad.php
formulaires/configurer_traduiretexte.php
formulaires/traduire_texte.php
inc/traduire_texte.php
spip-cli/TraduireTest.php
src/Traducteur.php
src/TraductionService.php
src/TraductionServiceBing.php
src/TraductionServiceDeepl.php
src/TraductionServiceGoogleTranslate.php
src/TraductionServiceShell.php
src/TraductionServiceYandex.php
traduiretexte_administrations.php
traduiretexte_fonctions.php

Détails : styles: ecs SPIP (59dd3198) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 20 janvier 2026 à 20h16min :

refactor: traduire() peut prendre en option un traducteur plutot qu’une liste de services + permettre au traducteur de produire un tableau de stats du nombre de char traduits par chaque service configuré + affichage en résultat du cli

Modifié
inc/traduire_texte.php
spip-cli/TraduireTest.php
src/Traducteur.php
src/TraductionService.php

Détails : refactor: traduire() peut prendre en option un traducteur plutot qu'une liste... (a8963045) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 20 janvier 2026 à 20h00min :

chores: le calcul des hash a changé il y a 5 ans via 4c7d93e3286ffe99c1375a83c87b9e68e67fe380, tous les hash legacy ont été convertis ou alors ce n’est pas bien grave

Modifié
src/Traducteur.php

Détails : chores: le calcul des hash a changé il y a 5 ans via... (37185678) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 20 janvier 2026 à 19h56min :

refactor: une classe Traducteur qui est le point d’entrée, configure un ou plusieurs services et les utilise successivement pour traduire jusqu’à réussite

  • intègre toutes les fonctions utilitaires de decoupe/hash/normalisation/espacement en static

Ajouté
src/Traducteur.php
Modifié
inc/traduire_texte.php
paquet.xml
spip-cli/TraduireTest.php

Détails : refactor: une classe Traducteur qui est le point d'entrée, configure un ou... (3f4b8f03) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 20 janvier 2026 à 11h19min :

fix: support des tableaux et exception en cas d’erreur sur TraductionServiceShell

Modifié
src/TraductionServiceShell.php

Détails : fix: support des tableaux et exception en cas d'erreur sur TraductionServiceShell (9e8f8d60) · Validations · spip-contrib-extensions / traduire_texte · GitLab

==============================
Par Cerdic, le 20 janvier 2026 à 11h18min :

refactor: les Services de traduction sont implémentés dans src/ selon psr4 et autoload permet le chargement des class

Ajouté
composer.json
composer.lock
src/TraductionService.php
src/TraductionServiceBing.php
src/TraductionServiceDeepl.php
src/TraductionServiceGoogleTranslate.php
src/TraductionServiceShell.php
src/TraductionServiceYandex.php
vendor/autoload.php
vendor/composer/ClassLoader.php
vendor/composer/InstalledVersions.php
vendor/composer/LICENSE
vendor/composer/autoload_classmap.php
vendor/composer/autoload_namespaces.php
vendor/composer/autoload_psr4.php
vendor/composer/autoload_real.php
vendor/composer/autoload_static.php
vendor/composer/installed.json
vendor/composer/installed.php
Supprimé
inc/traducteurs.php
Modifié
inc/traduire_texte.php
spip-cli/TraduireTest.php

Détails : refactor: les Services de traduction sont implémentés dans src/ selon psr4 et... (cc417ae8) · Validations · spip-contrib-extensions / traduire_texte · GitLab