{"id":17353,"date":"2026-01-22T10:05:25","date_gmt":"2026-01-22T10:05:25","guid":{"rendered":"https:\/\/ptc.wpml.org\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/"},"modified":"2026-03-20T09:56:42","modified_gmt":"2026-03-20T09:56:42","slug":"come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc","status":"publish","type":"documentation","link":"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/","title":{"rendered":"Come tradurre contenuti dinamici in Rails usando l&#8217;API PTC"},"content":{"rendered":"\n<div class=\"wp-block-uagb-container uagb-layout-flex uagb-block-7d0a9c8b default uagb-is-root-container\">\n<div class=\"wp-block-uagb-container uagb-block-ec2c2fb6\">\n<p class=\"lead has-medium-font-size\">Scopri come usare l&#8217;API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR). Questo include post di blog, informazioni sui prodotti e qualsiasi testo memorizzato nel tuo database. <\/p>\n\n\n\n<p>Di seguito, ti guideremo attraverso il processo di traduzione dei contenuti dinamici nelle applicazioni Rails in due parti:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prima imparerai i tre endpoint API individualmente: come inviare contenuti per la traduzione, verificarne lo stato e recuperare le traduzioni completate.<\/li>\n\n\n\n<li>Poi vedrai come collegare questi endpoint in un flusso di lavoro completo usando callback o polling.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div id=\"h-translating-texts\" class=\"wp-block-uagb-container uagb-block-480d8777 default uagb-is-root-container\">\n<h2 class=\"wp-block-heading\" id=\"before-starting\">Prima di iniziare<\/h2>\n\n\n\n<p>Questa guida presuppone che tu abbia un&#8217;applicazione Rails configurata con un modo per memorizzare le traduzioni (come Mobility, Globalize o una tua soluzione).<\/p>\n\n\n\n<p>Se stai partendo da zero o vuoi vedere un&#8217;implementazione completa, abbiamo creato un&#8217;applicazione Rails dimostrativa che mostra l&#8217;integrazione PTC end-to-end. La demo usa: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/shioyama\/mobility\" target=\"_blank\" rel=\"noreferrer noopener\">Mobility<\/a> per memorizzare le traduzioni<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/bkeepers\/dotenv\" target=\"_blank\" rel=\"noreferrer noopener\">dotenv-rails<\/a> per le variabili d&#8217;ambiente<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/collectiveidea\/delayed_job_active_record\" target=\"_blank\" rel=\"noreferrer noopener\">delayed_job_active_record<\/a> per l&#8217;elaborazione in background<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-60bbf702\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap \">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-5ea4a834 wp-block-button\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link\" aria-label=\"\" href=\"https:\/\/github.com\/nkavt-onthegosystems\/rails-ptc-content-translation-demo\" rel=\"follow noopener\" target=\"_blank\" role=\"button\"><div class=\"uagb-button__link\">Vedi l&#8217;applicazione dimostrativa su GitHub \u2192<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"set-up-ptc\">Configura PTC e ottieni il tuo token API<\/h2>\n\n\n\n<p>Per iniziare, hai bisogno di un account PTC e di un token API:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"https:\/\/app.ptc.wpml.org\/users\/sign_up\">Registrati a PTC<\/a>. Creare un account \u00e8 gratuito e puoi tradurre 20.000 parole in 2 lingue senza costi. Poi <a href=\"https:\/\/ptc.wpml.org\/purchase\/\">paghi per ci\u00f2 che traduci<\/a>.<\/li>\n\n\n\n<li>Crea un nuovo progetto e seleziona <strong>Integrazione API.<\/strong><\/li>\n\n\n\n<li>Copia il token API che PTC genera alla fine della configurazione del progetto. Avrai bisogno di questo token per autenticare tutte le richieste. Puoi trovare lo stesso token nella dashboard del tuo progetto sotto <strong>Impostazioni \u2192 Gestisci token API<\/strong>.  <\/li>\n<\/ol>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"wp-block-uagb-image-gallery uagb-block-39ff3b72     \"\n\t\t\t\t\t\tstyle=\"\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery spectra-image-gallery__layout--masonry spectra-image-gallery__layout--masonry-col-2 spectra-image-gallery__layout--masonry-col-tab-1 spectra-image-gallery__layout--masonry-col-mob-1\">\n\t\t\t\t\t\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper--isotope'>\n\t\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='17350' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--masonry\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project.png\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-1024x517.png\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--masonry\" src=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-300x152.png\" alt=\"Creating a new project in PTC\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--bar-outside\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--bar-outside\">\n\t\t\t\t\tCreating a new project\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper--isotope'>\n\t\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='17351' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--masonry\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration.png\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-1024x601.png\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--masonry\" src=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-300x176.png\" alt=\"Choosing API integration in PTC setup\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--bar-outside\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--bar-outside\">\n\t\t\t\t\tChoosing API Integration\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper--isotope'>\n\t\t\t\t\t\t\t<div class='spectra-image-gallery__media-wrapper' data-spectra-gallery-image-id='17352' tabindex=\"0\">\n\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media spectra-image-gallery__media--masonry\">\n\t\t\t\t<picture>\n\t\t\t\t\t<source media=\"(min-width: 1024px)\" srcset=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-scaled.png\">\n\t\t\t\t\t<source media=\"(min-width: 768px)\" srcset=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-1024x459.png\">\n\t\t\t\t\t<img decoding=\"async\" class=\"spectra-image-gallery__media-thumbnail spectra-image-gallery__media-thumbnail--masonry\" src=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-300x135.png\" alt=\"API token under Settings \u2192 Manage API tokens\" loading=\"lazy\" \/>\n\t\t\t\t<\/picture>\n\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-blurrer\"><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption-wrapper spectra-image-gallery__media-thumbnail-caption-wrapper--bar-outside\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"spectra-image-gallery__media-thumbnail-caption spectra-image-gallery__media-thumbnail-caption--bar-outside\">\n\t\t\t\t\tAPI token under Settings \u2192 Manage API tokens\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class='spectra-image-gallery__control-lightbox' tabindex='0'>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper spectra-image-gallery__control-lightbox--main\" dir=\"\">\n\t\t\t\t\t<div class=\"swiper-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div class=\"swiper-slide\">\n\t\t\t\t\t\t\t\t<img class=\"swiper-lazy\" data-src=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project.png\" alt=\"Creating a new project in PTC\"\/>\n\t\t\t\t\t\t\t\t<div class=\"swiper-lazy-preloader swiper-lazy-preloader-white\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div class=\"swiper-slide\">\n\t\t\t\t\t\t\t\t<img class=\"swiper-lazy\" data-src=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration.png\" alt=\"Choosing API integration in PTC setup\"\/>\n\t\t\t\t\t\t\t\t<div class=\"swiper-lazy-preloader swiper-lazy-preloader-white\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div class=\"swiper-slide\">\n\t\t\t\t\t\t\t\t<img class=\"swiper-lazy\" data-src=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-scaled.png\" alt=\"API token under Settings \u2192 Manage API tokens\"\/>\n\t\t\t\t\t\t\t\t<div class=\"swiper-lazy-preloader swiper-lazy-preloader-white\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swiper-button-next\"><\/div>\n\t\t\t\t\t<div class=\"swiper-button-prev\"><\/div>\n\t\t\t\t<\/div>\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<button class='spectra-image-gallery__control-lightbox--close' aria-label=\"Close\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<svg xmlns=\"https:\/\/www.w3.org\/2000\/svg\" viewBox= \"0 0 320 512\"><path d=\"M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z\"><\/path><\/svg>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"api-endpoints\">Endpoint API per tradurre contenuti dinamici<\/h2>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-5fd536df alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-container uagb-block-d8efc734\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-4a10c111\"><p class=\"uagb-heading-text\">1<\/p><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"send-content-for-translation\">Invia contenuti per la traduzione<\/h3>\n<\/div><\/div>\n\n\n\n<p>Per tradurre contenuti, usa l&#8217;endpoint <a href=\"https:\/\/ptc.wpml.org\/it\/documentation\/riferimento-api-ptc\/richiedi-e-recupera-le-traduzioni-tramite-lapi\/#create-content-translations\">Create Content Translation<\/a>. Questo pianifica i tuoi contenuti per la traduzione e restituisce un ID che userai per monitorare i progressi e recuperare i risultati. <\/p>\n\n\n\n<p><strong>Endpoint<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>POST https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">POST<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Parametri<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>data<\/code>  (obbligatorio) &#8211; Il contenuto da tradurre come hash<\/li>\n\n\n\n<li><code>name<\/code>  (obbligatorio) &#8211; Un&#8217;etichetta per questo lavoro di traduzione (ad esempio, <code>\"post-123-translation\"<\/code>)<\/li>\n\n\n\n<li><code>target_languages<\/code>  (facoltativo) &#8211; Un array di codici lingua (ad esempio, <code>[\"es\", \"fr\", \"de\"]<\/code>)<\/li>\n\n\n\n<li><code>callback_url<\/code>  (facoltativo) &#8211; Un URL dove PTC ti avviser\u00e0 una volta completate le traduzioni<\/li>\n<\/ul>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Ecco un esempio di servizio che avvia la traduzione:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#39404f;color:#c8d0e0\">Ruby<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>require 'net\/http'\nrequire 'uri'\n\nmodule Ptc\n class TranslateService\n def initialize(data:, name: ,target_languages:, callback_url: nil)\n @data = data\n @name = name\n @target_languages = target_languages\n @token = ENV.fetch(\"PTC_API_TOKEN\")\n @callback_url = callback_url\n end\n\n  def call\n translate\n end\n\n  def self.call(**attributes)\n new(**attributes).call\n end\n\n  private\n attr_reader :data, :name, :target_languages, :token, :callback_url\n\n  def translate\n response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|\n http.request(request)\n end\n JSON.parse(response.body)\n end\n\n  def body\n {\n data:,\n name:,\n target_languages:,\n callback_url:,\n }.to_json\n end\n\n  def request\n return @request if @request.present?\n\n  @request ||= Net::HTTP::Post.new(uri)\n @request.content_type = \"application\/json\"\n @request.body = body\n @request[\"Authorization\"] = \"Bearer #{token}\"\n @request\n end\n\n  def uri\n @uri ||= URI.parse(\"https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\")\n end\n end\nend\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">require<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">'<\/span><span style=\"color: #A3BE8C\">net\/http<\/span><span style=\"color: #ECEFF4\">'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">require<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">'<\/span><span style=\"color: #A3BE8C\">uri<\/span><span style=\"color: #ECEFF4\">'<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #81A1C1\">module<\/span><span style=\"color: #D8DEE9FF\"> Ptc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">TranslateService<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">initialize<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">data<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">, name<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> ,target_languages<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">, callback_url<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">nil<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">data<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">name<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">target_languages<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> target_languages<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">token<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">ENV<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">fetch<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">PTC_API_TOKEN<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">callback_url<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> callback_url<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">call<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      translate<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">self.call<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">**<\/span><span style=\"color: #D8DEE9FF\">attributes<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">new<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">**<\/span><span style=\"color: #D8DEE9FF\">attributes<\/span><span style=\"color: #ECEFF4\">).<\/span><span style=\"color: #D8DEE9FF\">call<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">private<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">attr_reader<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">data<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">name<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">target_languages<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">token<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">callback_url<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">translate<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      response <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Net<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">HTTP<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">start<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">uri<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">hostname<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> uri<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">port<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> use_ssl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">do<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">|<\/span><span style=\"color: #D8DEE9\">http<\/span><span style=\"color: #ECEFF4\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        http<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">request<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">request<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">JSON<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">parse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">response<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">body<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">body<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        data<\/span><span style=\"color: #ECEFF4\">:,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        name<\/span><span style=\"color: #ECEFF4\">:,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        target_languages<\/span><span style=\"color: #ECEFF4\">:,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        callback_url<\/span><span style=\"color: #ECEFF4\">:,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #ECEFF4\">}.<\/span><span style=\"color: #D8DEE9FF\">to_json<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">request<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">present?<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Net<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">HTTP<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">Post<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #81A1C1\">new<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">uri<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">content_type <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">application\/json<\/span><span style=\"color: #ECEFF4\">\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">body <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> body<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">Authorization<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">Bearer <\/span><span style=\"color: #81A1C1\">#{<\/span><span style=\"color: #A3BE8C\">token<\/span><span style=\"color: #81A1C1\">}<\/span><span style=\"color: #ECEFF4\">\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">uri<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">uri<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">URI<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">parse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-a2ef876d alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<p>Per dettagli completi sulla risposta, codici di errore ed esempi aggiuntivi, consulta la <a href=\"https:\/\/ptc.wpml.org\/it\/documentation\/riferimento-api-ptc\/richiedi-e-recupera-le-traduzioni-tramite-lapi\/#create-content-translations\">documentazione API Create Content Translation<\/a>.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-603527d0 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-container uagb-block-c1b6d94c\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-68e36a9a\"><p class=\"uagb-heading-text\">2<\/p><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"check-the-translation-status\">Verifica lo stato della traduzione<\/h3>\n<\/div><\/div>\n\n\n\n<p id=\"h-your-attractive-heading\">Per verificare se la tua traduzione \u00e8 completa, usa l&#8217;endpoint <a href=\"https:\/\/ptc.wpml.org\/it\/documentation\/riferimento-api-ptc\/richiedi-e-recupera-le-traduzioni-tramite-lapi\/#get-content-translation-status\">Get Content Translation Status<\/a>. Questo restituisce lo stato attuale e i progressi della traduzione. <\/p>\n\n\n\n<p id=\"h-your-attractive-heading\"><strong>Endpoint<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>GET https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\/{id}\/status<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">GET<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\/{id}\/status<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Parametri<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>id<\/code>  (obbligatorio) &#8211; L&#8217;identificatore univoco del lavoro di traduzione dei contenuti da verificare<\/li>\n<\/ul>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Esempio di servizio in Rails:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#39404f;color:#c8d0e0\">Ruby<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>require 'net\/http'\nrequire 'uri'\n\nmodule Ptc\n class GetTranslationStatusService\n def initialize(id:)\n @id = id\n @token = ENV.fetch(\"PTC_API_TOKEN\")\n end\n\n  def call\n get\n end\n\n  def self.call(**attributes)\n new(**attributes).call\n end\n\n  private\n attr_reader :id, :token\n\n  def get\n response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|\n http.request(request)\n end\n JSON.parse(response.body)\n end\n\n  def request\n return @request if @request.present?\n\n  @request ||= Net::HTTP::Get.new(uri)\n @request.content_type = \"application\/json\"\n @request[\"Authorization\"] = \"Bearer #{token}\"\n @request\n end\n\n  def uri\n @uri ||= URI.parse(\"https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\/#{id}\/status\")\n end\n end\nend\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">require<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">'<\/span><span style=\"color: #A3BE8C\">net\/http<\/span><span style=\"color: #ECEFF4\">'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">require<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">'<\/span><span style=\"color: #A3BE8C\">uri<\/span><span style=\"color: #ECEFF4\">'<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #81A1C1\">module<\/span><span style=\"color: #D8DEE9FF\"> Ptc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">GetTranslationStatusService<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">initialize<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">:)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">id<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> id<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">token<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">ENV<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">fetch<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">PTC_API_TOKEN<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">call<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      get<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">self.call<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">**<\/span><span style=\"color: #D8DEE9FF\">attributes<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">new<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">**<\/span><span style=\"color: #D8DEE9FF\">attributes<\/span><span style=\"color: #ECEFF4\">).<\/span><span style=\"color: #D8DEE9FF\">call<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">private<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">attr_reader<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">token<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">get<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      response <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Net<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">HTTP<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">start<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">uri<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">hostname<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> uri<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">port<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> use_ssl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">do<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">|<\/span><span style=\"color: #D8DEE9\">http<\/span><span style=\"color: #ECEFF4\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        http<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">request<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">request<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">JSON<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">parse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">response<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">body<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">request<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">present?<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Net<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">HTTP<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">Get<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #81A1C1\">new<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">uri<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">content_type <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">application\/json<\/span><span style=\"color: #ECEFF4\">\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">Authorization<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">Bearer <\/span><span style=\"color: #81A1C1\">#{<\/span><span style=\"color: #A3BE8C\">token<\/span><span style=\"color: #81A1C1\">}<\/span><span style=\"color: #ECEFF4\">\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">uri<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">uri<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">URI<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">parse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\/<\/span><span style=\"color: #81A1C1\">#{<\/span><span style=\"color: #A3BE8C\">id<\/span><span style=\"color: #81A1C1\">}<\/span><span style=\"color: #A3BE8C\">\/status<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-70d21a2f alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<p>La risposta include un campo di stato e una percentuale che mostra i progressi della traduzione. Per dettagli completi sulla risposta, consulta la <a href=\"https:\/\/ptc.wpml.org\/it\/documentation\/riferimento-api-ptc\/richiedi-e-recupera-le-traduzioni-tramite-lapi\/#get-content-translation-status\">documentazione API Get Content Translation<\/a>. <\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-3b93f13f alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-container uagb-block-1883f0e0\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-357159f5\"><p class=\"uagb-heading-text\">3<\/p><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"retrieve-translations\">Recupera le traduzioni<\/h3>\n<\/div><\/div>\n\n\n\n<p>Una volta completata la traduzione, usa l&#8217;endpoint <a href=\"https:\/\/ptc.wpml.org\/it\/documentation\/riferimento-api-ptc\/richiedi-e-recupera-le-traduzioni-tramite-lapi\/#get-content-translation-status\">Get Content Translations<\/a> per recuperare i risultati. Questo restituisce il tuo contenuto originale pi\u00f9 le versioni tradotte per ogni lingua di destinazione. <\/p>\n\n\n\n<p><strong>Endpoint<\/strong>:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>GET https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\/{id}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #88C0D0\">GET<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #A3BE8C\">https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\/{id}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Parametri<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>id<\/code><strong> <\/strong>(obbligatorio) &#8211; L&#8217;identificatore univoco del lavoro di traduzione dei contenuti da recuperare<\/li>\n<\/ul>\n\n\n\n<p><strong>Esempio in Rails:<\/strong><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#39404f;color:#c8d0e0\">Ruby<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>require 'net\/http'\nrequire 'uri'\n\nmodule Ptc\n class GetTranslationService\n def initialize(id:)\n @id = id\n @token = ENV.fetch(\"PTC_API_TOKEN\")\n end\n\n  def call\n get\n end\n\n  def self.call(**attributes)\n new(**attributes).call\n end\n\n  private\n attr_reader :id, :token\n\n  def get\n response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|\n http.request(request)\n end\n JSON.parse(response.body)\n end\n\n  def request\n return @request if @request.present?\n\n  @request ||= Net::HTTP::Get.new(uri)\n @request.content_type = \"application\/json\"\n @request[\"Authorization\"] = \"Bearer #{token}\"\n @request\n end\n\n  def uri\n @uri ||= URI.parse(\"https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\/#{id}\")\n end\n end\nend\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">require<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">'<\/span><span style=\"color: #A3BE8C\">net\/http<\/span><span style=\"color: #ECEFF4\">'<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">require<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">'<\/span><span style=\"color: #A3BE8C\">uri<\/span><span style=\"color: #ECEFF4\">'<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #81A1C1\">module<\/span><span style=\"color: #D8DEE9FF\"> Ptc<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">GetTranslationService<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">initialize<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">:)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">id<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> id<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">token<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">ENV<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">fetch<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">PTC_API_TOKEN<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">call<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      get<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">self.call<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">**<\/span><span style=\"color: #D8DEE9FF\">attributes<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">new<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">**<\/span><span style=\"color: #D8DEE9FF\">attributes<\/span><span style=\"color: #ECEFF4\">).<\/span><span style=\"color: #D8DEE9FF\">call<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">private<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">attr_reader<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">token<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">get<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      response <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Net<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">HTTP<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">start<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">uri<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">hostname<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> uri<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">port<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> use_ssl<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">true<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">do<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">|<\/span><span style=\"color: #D8DEE9\">http<\/span><span style=\"color: #ECEFF4\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        http<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">request<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">request<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #8FBCBB\">JSON<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">parse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">response<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">body<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">request<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">present?<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Net<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">HTTP<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">Get<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #81A1C1\">new<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">uri<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">content_type <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">application\/json<\/span><span style=\"color: #ECEFF4\">\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">Authorization<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">Bearer <\/span><span style=\"color: #81A1C1\">#{<\/span><span style=\"color: #A3BE8C\">token<\/span><span style=\"color: #81A1C1\">}<\/span><span style=\"color: #ECEFF4\">\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">request<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">uri<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">uri<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">||=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">URI<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">parse<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">https:\/\/app.ptc.wpml.org\/api\/v1\/content_translation\/<\/span><span style=\"color: #81A1C1\">#{<\/span><span style=\"color: #A3BE8C\">id<\/span><span style=\"color: #81A1C1\">}<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"get-notified-when-translations-are-ready\">Ricevi una notifica quando le traduzioni sono pronte<\/h2>\n\n\n\n<p>Hai imparato come inviare contenuti, verificare lo stato e recuperare le traduzioni. Ora devi collegare questi passaggi in modo che la tua app sappia automaticamente quando recuperare le traduzioni. <\/p>\n\n\n\n<p>Puoi farlo usando i callback (consigliato) o eseguendo un lavoro che effettua il polling dello stato della traduzione.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"using-callbacks\">Uso dei callback (consigliato)<\/h3>\n\n\n\n<p id=\"h-\">Quando invii contenuti per la traduzione, puoi includere un URL di callback. PTC chiama questo URL quando la traduzione \u00e8 completata. Il tuo endpoint recupera e memorizza quindi le traduzioni.   <\/p>\n\n\n\n<p id=\"h-\">Questo \u00e8 efficiente perch\u00e9 PTC ti avvisa immediatamente.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#39404f;color:#c8d0e0\">Ruby<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>module Api\n class CallbacksController &lt; ActionController::API\n before_action :set_post\n\n  def create\n id = callback_params[:id]\n\n  translation_data = Ptc::GetTranslationService.call(id:)\n translation_data.except(\"source\").each do |locale, data|\n @post.set_translation(locale:, title: data[\"title\"], description: data[\"description\"])\n end\n\n  head :ok\n end\n\n  private\n\n  def set_post\n @post = Post.find(params[:post_id])\n end\n\n  def callback_params\n params.permit([:post_id, :id, :status, :translations_url])\n end\n end\nend\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">module<\/span><span style=\"color: #D8DEE9FF\"> Api<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">CallbacksController<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB; font-weight: bold\">ActionController::API<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    before_action <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">set_post<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">create<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      id <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> callback_params<\/span><span style=\"color: #ECEFF4\">[:<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">]<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      translation_data <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Ptc<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">GetTranslationService<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">call<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">:)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      translation_data<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">except<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">source<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">).<\/span><span style=\"color: #D8DEE9FF\">each <\/span><span style=\"color: #81A1C1\">do<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">|<\/span><span style=\"color: #D8DEE9\">locale<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">data<\/span><span style=\"color: #ECEFF4\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">post<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">set_translation<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">locale<\/span><span style=\"color: #ECEFF4\">:,<\/span><span style=\"color: #D8DEE9FF\"> title<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> data<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">title<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">],<\/span><span style=\"color: #D8DEE9FF\"> description<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> data<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">description<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      head <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">ok<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">private<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">set_post<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">@<\/span><span style=\"color: #D8DEE9\">post<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Post<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">find<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">params<\/span><span style=\"color: #ECEFF4\">[:<\/span><span style=\"color: #D8DEE9FF\">post_id<\/span><span style=\"color: #ECEFF4\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">callback_params<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      params<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">permit<\/span><span style=\"color: #ECEFF4\">([:<\/span><span style=\"color: #D8DEE9FF\">post_id<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">status<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">translations_url<\/span><span style=\"color: #ECEFF4\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"polling-the-translation-status\">Polling dello stato della traduzione (alternativa)<\/h3>\n\n\n\n<p id=\"h-\">Non puoi usare i callback? Dopo aver inviato contenuti per la traduzione, puoi mettere in coda un lavoro in background che verifica ripetutamente lo stato della traduzione. Il lavoro recupera le traduzioni quando sono complete.   <\/p>\n\n\n\n<p id=\"h-\">Questo approccio non \u00e8 consigliato perch\u00e9 spreca risorse e aggiunge chiamate API non necessarie.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#39404f;color:#c8d0e0\">Ruby<\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>class CheckTranslationJob &lt; ApplicationJob\n\n  MAX_ATTEMPTS = 3\n\n  def perform(id:, post_id:, attempt: 0)\n translation = Ptc::GetTranslationStatusService.call(id:)\n if translation[\"status\"] == \"completed\"\n translation = Ptc::GetTranslationService.call(id:)\n post = Post.find(post_id)\n translation.except(\"source\").each do |locale, data|\n post.set_translation(locale:, title: data[\"title\"], description: data[\"description\"])\n end\n else\n raise \"Failed to get translation after #{MAX_ATTEMPTS} attempts\" if attempt &gt; MAX_ATTEMPTS\n\n  CheckTranslationJob.set(wait: 1.minute).perform_later(id:, post_id:, attempt: attempt + 1)\n end\n end\nend\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">CheckTranslationJob<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB; font-weight: bold\">ApplicationJob<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #D8DEE9\">MAX_ATTEMPTS<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">perform<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">, post_id<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">, attempt<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    translation <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Ptc<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">GetTranslationStatusService<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">call<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">:)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> translation<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">status<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">completed<\/span><span style=\"color: #ECEFF4\">\"<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      translation <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Ptc<\/span><span style=\"color: #ECEFF4\">::<\/span><span style=\"color: #8FBCBB\">GetTranslationService<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">call<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">:)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      post <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Post<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">find<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">post_id<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      translation<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">except<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">source<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">).<\/span><span style=\"color: #D8DEE9FF\">each <\/span><span style=\"color: #81A1C1\">do<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">|<\/span><span style=\"color: #D8DEE9\">locale<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">data<\/span><span style=\"color: #ECEFF4\">|<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        post<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">set_translation<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">locale<\/span><span style=\"color: #ECEFF4\">:,<\/span><span style=\"color: #D8DEE9FF\"> title<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> data<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">title<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">],<\/span><span style=\"color: #D8DEE9FF\"> description<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> data<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">description<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #ECEFF4\">])<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">else<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #81A1C1\">raise<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #A3BE8C\">Failed to get translation after <\/span><span style=\"color: #81A1C1\">#{<\/span><span style=\"color: #D8DEE9\">MAX_ATTEMPTS<\/span><span style=\"color: #81A1C1\">}<\/span><span style=\"color: #A3BE8C\"> attempts<\/span><span style=\"color: #ECEFF4\">\"<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> attempt <\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">MAX_ATTEMPTS<\/span><\/span>\n<span class=\"line\"\/>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">      <\/span><span style=\"color: #8FBCBB\">CheckTranslationJob<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">set<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">wait<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">minute<\/span><span style=\"color: #ECEFF4\">).<\/span><span style=\"color: #D8DEE9FF\">perform_later<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">id<\/span><span style=\"color: #ECEFF4\">:,<\/span><span style=\"color: #D8DEE9FF\"> post_id<\/span><span style=\"color: #ECEFF4\">:,<\/span><span style=\"color: #D8DEE9FF\"> attempt<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> attempt <\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">end<\/span><\/span>\n<span class=\"line\"\/><\/code><\/pre><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-4f13cfc4\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-bd69da8b\"><h3 class=\"uagb-heading-text\"><strong><strong>Inizia a tradurre la tua applicazione Rails<\/strong><\/strong><\/h3><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-bb9e78d5\"><p class=\"uagb-heading-text\">Ora hai tutto ci\u00f2 di cui hai bisogno per integrare l&#8217;API di traduzione di PTC. Crea un account gratuito e traduci 20.000 parole in 2 lingue senza costi. <\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-buttons uagb-buttons__outer-wrap uagb-btn__default-btn uagb-btn-tablet__default-btn uagb-btn-mobile__default-btn uagb-block-b69278b3\"><div class=\"uagb-buttons__wrap uagb-buttons-layout-wrap \">\n<div class=\"wp-block-uagb-buttons-child uagb-buttons__outer-wrap uagb-block-bdaafad6 wp-block-button\"><div class=\"uagb-button__wrapper\"><a class=\"uagb-buttons-repeater wp-block-button__link\" aria-label=\"\" href=\"https:\/\/app.ptc.wpml.org\/users\/sign_up\" rel=\"follow noopener\" target=\"_self\" role=\"button\"><div class=\"uagb-button__link\">Inizia la tua prova gratuita<\/div><\/a><\/div><\/div>\n<\/div><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container otp uag-hide-tab uag-hide-mob uagb-layout-flex uagb-block-e306e24e\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-a4c24409\"><p class=\"uagb-heading-text\">In questa pagina<\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-889b1ee5\"><p class=\"uagb-heading-text\"><a href=\"#how-to-translate-po-files\"><\/a><a href=\"#before-starting\">Prima di iniziare<\/a><\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-c8ed9511\"><p class=\"uagb-heading-text\"><a href=\"#how-to-translate-po-files\"><\/a><a href=\"#set-up-ptc\">Configura PTC e ottieni il tuo token API<\/a><\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-99e44a2f\"><p class=\"uagb-heading-text\"><a href=\"#how-to-translate-po-files\"><\/a><a href=\"https:\/\/docs.google.com\/document\/d\/1Pf6zHD8PljDenGlcoat-gIKtTLJigYTMLjUXq-KRfQg\/edit?tab=t.c6wjtl4b5e0j#heading=h.tykax22wh0u\"><\/a><a href=\"#api-endpoints\">Endpoint API per tradurre contenuti dinamici<br\/><\/a><\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-fabb3c95\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-83f5f89c\"><p class=\"uagb-heading-text\"><a href=\"#send-content-for-translation\">Invia contenuti per la traduzione<\/a><\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-6e2782c9\"><p class=\"uagb-heading-text\"><a href=\"#check-the-translation-status\">Verifica lo stato della traduzione<\/a><\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-f18e849a\"><p class=\"uagb-heading-text\"><a href=\"#retrieve-translations\">Recupera le traduzioni<\/a><\/p><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-a02fa26b\"><p class=\"uagb-heading-text\"><a href=\"#get-notified-when-translations-are-ready\">Ricevi una notifica quando le traduzioni sono pronte<\/a><\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-cc0cd036\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-505f6771\"><p class=\"uagb-heading-text\"><a href=\"#using-callbacks\">Uso dei callback (consigliato)<\/a><\/p><\/div>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-dec77b8e\"><p class=\"uagb-heading-text\"><a href=\"#polling-the-translation-status\">Polling dello stato della traduzione (alternativa)<\/a><\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Scopri come usare l&#8217;API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR). Questo include post di blog, informazioni sui prodotti e qualsiasi testo memorizzato nel tuo database. Di seguito, ti guideremo attraverso il processo di traduzione dei contenuti dinamici nelle applicazioni Rails in due parti: Prima di iniziare Questa guida presuppone che tu abbia un&#8217;applicazione Rails [&hellip;]<\/p>\n","protected":false},"parent":0,"menu_order":24,"template":"","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"normal-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"resources":[46],"class_list":["post-17353","documentation","type-documentation","status-publish","hentry","resources-guide-per-sviluppatori"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Come tradurre contenuti dinamici in Rails usando l&#039;API PTC - PTC<\/title>\n<meta name=\"description\" content=\"Scopri come usare l&#039;API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR).\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come tradurre contenuti dinamici in Rails usando l&#039;API PTC\" \/>\n<meta property=\"og:description\" content=\"Scopri come usare l&#039;API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/\" \/>\n<meta property=\"og:site_name\" content=\"PTC\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-20T09:56:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-featured-site-image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/documentation\\\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\\\/\",\"url\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/documentation\\\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\\\/\",\"name\":\"Come tradurre contenuti dinamici in Rails usando l'API PTC - PTC\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/#website\"},\"datePublished\":\"2026-01-22T10:05:25+00:00\",\"dateModified\":\"2026-03-20T09:56:42+00:00\",\"description\":\"Scopri come usare l'API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR).\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/documentation\\\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/documentation\\\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/documentation\\\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/homepage\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentazione\",\"item\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/documentation\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Come tradurre contenuti dinamici in Rails usando l&#8217;API PTC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/\",\"name\":\"PTC\",\"description\":\"Private Translation Cloud\",\"publisher\":{\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/#organization\",\"name\":\"PTC\",\"url\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/ptc.wpml.org\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/logo-light.svg\",\"contentUrl\":\"https:\\\/\\\/ptc.wpml.org\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/logo-light.svg\",\"width\":300,\"height\":139,\"caption\":\"PTC\"},\"image\":{\"@id\":\"https:\\\/\\\/ptc.wpml.org\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Come tradurre contenuti dinamici in Rails usando l'API PTC - PTC","description":"Scopri come usare l'API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR).","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/","og_locale":"it_IT","og_type":"article","og_title":"Come tradurre contenuti dinamici in Rails usando l'API PTC","og_description":"Scopri come usare l'API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR).","og_url":"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/","og_site_name":"PTC","article_modified_time":"2026-03-20T09:56:42+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-featured-site-image.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/","url":"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/","name":"Come tradurre contenuti dinamici in Rails usando l'API PTC - PTC","isPartOf":{"@id":"https:\/\/ptc.wpml.org\/it\/#website"},"datePublished":"2026-01-22T10:05:25+00:00","dateModified":"2026-03-20T09:56:42+00:00","description":"Scopri come usare l'API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR).","breadcrumb":{"@id":"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ptc.wpml.org\/it\/documentation\/come-tradurre-contenuti-dinamici-in-rails-utilizzando-lapi-ptc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ptc.wpml.org\/it\/homepage\/"},{"@type":"ListItem","position":2,"name":"Documentazione","item":"https:\/\/ptc.wpml.org\/it\/documentation\/"},{"@type":"ListItem","position":3,"name":"Come tradurre contenuti dinamici in Rails usando l&#8217;API PTC"}]},{"@type":"WebSite","@id":"https:\/\/ptc.wpml.org\/it\/#website","url":"https:\/\/ptc.wpml.org\/it\/","name":"PTC","description":"Private Translation Cloud","publisher":{"@id":"https:\/\/ptc.wpml.org\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ptc.wpml.org\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/ptc.wpml.org\/it\/#organization","name":"PTC","url":"https:\/\/ptc.wpml.org\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/ptc.wpml.org\/it\/#\/schema\/logo\/image\/","url":"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2023\/11\/logo-light.svg","contentUrl":"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2023\/11\/logo-light.svg","width":300,"height":139,"caption":"PTC"},"image":{"@id":"https:\/\/ptc.wpml.org\/it\/#\/schema\/logo\/image\/"}}]}},"spectra_custom_meta":{"_wpv_contains_gutenberg_views":[""],"ast-main-header-display":[""],"ast-hfb-above-header-display":[""],"ast-hfb-below-header-display":[""],"ast-hfb-mobile-header-display":[""],"adv-header-id-meta":[""],"footer-sml-layout":[""],"stick-header-meta":[""],"header-main-stick-meta":[""],"header-above-stick-meta":[""],"header-below-stick-meta":[""],"site-post-title":[""],"site-sidebar-layout":["default"],"site-content-layout":[""],"ast-featured-img":[""],"ast-breadcrumbs-content":[""],"theme-transparent-header-meta":[""],"ast-banner-title-visibility":[""],"ast-global-header-display":[""],"ast-site-content-layout":["normal-width-container"],"site-content-style":["default"],"site-sidebar-style":["default"],"_top_nav_excluded":[""],"_cms_nav_minihome":[""],"_wp_page_template":["default"],"_yoast_indexnow_last_ping":["1769076448"],"_last_translation_edit_mode":["translation-editor"],"_wpml_word_count":["1783"],"_yoast_wpseo_metadesc":["Scopri come usare l'API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR)."],"cmplz_hide_cookiebanner":[""],"wpcf-order":["1"],"_uag_page_assets":["a:9:{s:3:\"css\";s:73656:\".wp-block-uagb-container.uagb-block-7d0a9c8b .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-7d0a9c8b .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-7d0a9c8b .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-7d0a9c8b .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-7d0a9c8b .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-7d0a9c8b{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-block-7d0a9c8b{box-shadow: 0px 0px   #00000070 ;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top: 64px !important;margin-bottom: 0px !important;margin-left: 0px !important;margin-right: 0px !important;overflow: visible;order: initial;border-color: inherit;flex-direction: row;align-items: flex-start;justify-content: center;flex-wrap: nowrap;row-gap: 0px;column-gap: 64px;max-width: 100% !important;}.wp-block-uagb-container.uagb-block-ec2c2fb6 .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-ec2c2fb6 .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-ec2c2fb6 .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-ec2c2fb6 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-ec2c2fb6 .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-ec2c2fb6{max-width: 75%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-ec2c2fb6 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: flex-start;flex-wrap: nowrap;row-gap: 0px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-ec2c2fb6{box-shadow: 0px 0px   #00000070 ;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;overflow: visible;order: initial;border-color: inherit;flex-direction: column;align-items: center;justify-content: flex-start;flex-wrap: nowrap;row-gap: 0px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-480d8777 .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-480d8777 .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-480d8777 .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-480d8777 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-480d8777 .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-480d8777{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-block-480d8777{box-shadow: 0px 0px   #00000070 ;padding-top: 40px;padding-bottom: 40px;padding-left: 40px;padding-right: 40px;margin-top: 0px !important;margin-bottom: 36px !important;margin-left: 0px !important;margin-right: 0px !important;overflow: visible;order: initial;border-top-left-radius: 20px;border-top-right-radius: 20px;border-bottom-left-radius: 20px;border-bottom-right-radius: 20px;border-style: none;border-color: inherit;background-color: rgba(205,189,226,0.1);;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 0px;column-gap: 0px;max-width: 100% !important;}.uagb-block-60bbf702.wp-block-uagb-buttons.uagb-buttons__outer-wrap .uagb-buttons__wrap {gap: 10px;}.uagb-block-60bbf702.uagb-buttons__outer-wrap .uagb-buttons__wrap {justify-content: left;align-items: center;}.wp-block-uagb-buttons .uagb-block-5ea4a834 .uagb-button__wrapper  .uagb-buttons-repeater.wp-block-button__link{box-shadow: 0px 0px 0 #00000026;}.wp-block-uagb-buttons .uagb-block-5ea4a834 .uagb-button__wrapper  .uagb-buttons-repeater.wp-block-button__link:hover{box-shadow: 0px 0px 0 #00000026;}.wp-block-uagb-buttons .uagb-block-5ea4a834 .uagb-buttons-repeater.wp-block-button__link:hover{border-color: #333;}.wp-block-uagb-buttons .uagb-block-5ea4a834 .uagb-buttons-repeater.wp-block-button__link:focus{border-color: #333;}.wp-block-uagb-buttons .uagb-block-5ea4a834.wp-block-button.is-style-outline .uagb-button__wrapper .wp-block-button__link.uagb-buttons-repeater:hover{border-color: #333;}.wp-block-uagb-buttons .uagb-block-5ea4a834 .uagb-buttons-repeater .uagb-button__icon > svg{width: 15px;height: 15px;}.wp-block-uagb-buttons .uagb-block-5ea4a834 .uagb-buttons-repeater .uagb-button__icon-position-after{margin-left: 8px;}.wp-block-uagb-buttons .uagb-block-5ea4a834 .uagb-buttons-repeater .uagb-button__icon-position-before{margin-right: 8px;}.wp-block-uagb-buttons .uagb-block-5ea4a834 .uagb-button__link{text-transform: normal;text-decoration: none;}.uagb-block-39ff3b72.wp-block-uagb-image-gallery{padding:    ;visibility: hidden;}.uagb-block-39ff3b72 .spectra-image-gallery__control-arrows svg{fill: #007cba;}.uagb-block-39ff3b72 .spectra-image-gallery__control-arrows--carousel{border-top-left-radius: 50px;border-top-right-radius: 50px;border-bottom-left-radius: 50px;border-bottom-right-radius: 50px;border-style: none;}.uagb-block-39ff3b72 .spectra-image-gallery__control-arrows--carousel.slick-prev{left: -24px;}.uagb-block-39ff3b72 .spectra-image-gallery__control-arrows--carousel.slick-next{right: -24px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel ul.slick-dots{top: 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel ul.slick-dots li button:before{color: #007cba;}.uagb-block-39ff3b72 .spectra-image-gallery__control-dots li button::before{color: #007cba;}.uagb-block-39ff3b72 .spectra-image-gallery__control-loader{margin-top: 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__control-loader div{width: 18px;height: 18px;border-radius: 100%;padding: 0;}.uagb-block-39ff3b72 .spectra-image-gallery__control-button{margin-top: 8px;padding:    ;font-style: normal;text-decoration: none;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--grid{grid-gap: 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--isogrid{margin: -4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--isogrid .spectra-image-gallery__media-wrapper--isotope{padding: 4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--masonry{margin: -4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--masonry .spectra-image-gallery__media-wrapper--isotope{padding: 4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel{margin-bottom: 8px !important;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel .spectra-image-gallery__media-wrapper{padding: 0px 4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel .slick-list{margin: 0px -4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--tiled{grid-gap: 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__media{border-top-left-radius: 20px;border-top-right-radius: 20px;border-bottom-left-radius: 20px;border-bottom-right-radius: 20px;border-color: rgba(206,191,227,0.18);box-shadow: 0px 0px   ;}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:hover .spectra-image-gallery__media{box-shadow: 0px 0px   ;}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:focus-visible .spectra-image-gallery__media{box-shadow: 0px 0px   ;}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-blurrer{-webkit-backdrop-filter: none;backdrop-filter: none;box-shadow: 0 0 transparent;}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:hover .spectra-image-gallery__media-thumbnail-blurrer{-webkit-backdrop-filter: none;backdrop-filter: none;box-shadow: 0 0 transparent;}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:focus-visible .spectra-image-gallery__media-thumbnail-blurrer{-webkit-backdrop-filter: none;backdrop-filter: none;box-shadow: 0 0 transparent;}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption-wrapper--overlay{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:hover .spectra-image-gallery__media-thumbnail-caption-wrapper--overlay{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:focus-visible .spectra-image-gallery__media-thumbnail-caption-wrapper--overlay{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption-wrapper--bar-inside{-webkit-align-items: flex-end;align-items: flex-end;-webkit-justify-content: center;justify-content: center;}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption a{color: rgba(255,255,255,1);}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption{color: rgba(255,255,255,1);text-align: center;font-style: normal;text-decoration: none;padding: 8px 8px 8px 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption--overlay{-webkit-align-items: flex-end;align-items: flex-end;-webkit-justify-content: center;justify-content: center;}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption--bar-inside{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:hover .spectra-image-gallery__media-thumbnail-caption--bar-inside{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72spectra-image-gallery__media-wrapper:focus-visible .spectra-image-gallery__media-thumbnail-caption--bar-inside{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption--bar-outside{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:hover .spectra-image-gallery__media-thumbnail-caption--bar-outside{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:focus-visible .spectra-image-gallery__media-thumbnail-caption--bar-outside{background-color: rgba(0,0,0,0.75);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:hover .spectra-image-gallery__media-thumbnail-caption{color: rgba(255,255,255,1);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:focus-visible .spectra-image-gallery__media-thumbnail-caption{color: rgba(255,255,255,1);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:hover .spectra-image-gallery__media-thumbnail-caption a{color: rgba(255,255,255,1);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:focus-visible .spectra-image-gallery__media-thumbnail-caption a{color: rgba(255,255,255,1);}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox{background-color: rgba(0,0,0,0.75);backdrop-filter: blur( 5px);}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--caption{color: rgba(255,255,255,1);background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));min-height: 50px;font-style: normal;text-decoration: none;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--thumbnails-wrapper{background-color: transparent;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--count{top: 10px;left: 10px;color: rgba(255,255,255,1);font-weight: normal;font-size: calc(24px * 3 \/ 4 );line-height: calc(24px * 3 \/ 4 );}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--close{top: 10px;right: 10px;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--close svg{width: 24px;height: 24px;fill: rgba(255,255,255,1);}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main .swiper-button-prev{left: 10px;color: rgba(255,255,255,1);}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main .swiper-button-next{right: 10px;color: rgba(255,255,255,1);}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main.swiper-rtl .swiper-button-prev{right: 10px;left: auto;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main.swiper-rtl .swiper-button-next{left: 10px;right: auto;}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail{-webkit-filter: none;filter: none;transform: scale3d(1.005, 1.005, 1.005);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:hover .spectra-image-gallery__media-thumbnail{-webkit-filter: none;filter: none;transform: scale3d(1.1, 1.1, 1.1);}.uagb-block-39ff3b72 .spectra-image-gallery__media-wrapper:focus-visible .spectra-image-gallery__media-thumbnail{-webkit-filter: none;filter: none;transform: scale3d(1.1, 1.1, 1.1);}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption-wrapper{margin-top: 0px;}.uagb-block-39ff3b72 .spectra-image-gallery__iso-ref-wrapper{overflow: auto;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel .slick-dots{margin-bottom: 30px !important;}.spectra-touch-device.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption,.spectra-touch-device.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption-wrapper{transition:none !important;-webkit-backface-visibility:hidden;backface-visibility:hidden;}.spectra-touch-device.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption-wrapper--overlay,.spectra-touch-device.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption--bar-inside{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);}@media(hover:none),(pointer:coarse){.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption,.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption-wrapper{transition:none !important;-webkit-backface-visibility:hidden;backface-visibility:hidden;}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption-wrapper--overlay,.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption--bar-inside{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);}}.wp-block-uagb-container.uagb-block-5fd536df .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-5fd536df .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-5fd536df .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-5fd536df .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-5fd536df .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-5fd536df{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-5fd536df > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: row;align-items: center;justify-content: flex-start;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-5fd536df{box-shadow: 0px 0px   #00000070 ;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;overflow: visible;order: initial;border-color: inherit;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-5fd536df.wp-block-uagb-container > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not( .spectra-container-link-overlay ):not(.spectra-image-gallery__control-lightbox):not(.wp-block-uagb-lottie):not(.uagb-container-inner-blocks-wrap){width: auto !important;}.wp-block-uagb-container.uagb-block-5fd536df.wp-block-uagb-container > .uagb-container-inner-blocks-wrap > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not(.spectra-image-gallery__control-lightbox){width: auto !important;}.wp-block-uagb-container.uagb-block-d8efc734 .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-d8efc734 .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-d8efc734 .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-d8efc734 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-d8efc734 .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-d8efc734{max-width: 10%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-d8efc734 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-d8efc734{box-shadow: 0px 0px   #00000070 ;padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;overflow: visible;order: initial;border-top-left-radius: 40px;border-top-right-radius: 40px;border-bottom-left-radius: 40px;border-bottom-right-radius: 40px;border-style: none;border-color: inherit;background-color: var(--ast-global-color-4);;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-advanced-heading.uagb-block-4a10c111.wp-block-uagb-advanced-heading .uagb-heading-text{color: var(--ast-global-color-2);}.wp-block-uagb-advanced-heading.uagb-block-4a10c111.wp-block-uagb-advanced-heading {text-align: center;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-4a10c111.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-4a10c111.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-4a10c111.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-4a10c111.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-container.uagb-block-a2ef876d .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-a2ef876d .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-a2ef876d .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-a2ef876d .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-a2ef876d .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-a2ef876d{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-a2ef876d > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 0px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-a2ef876d{box-shadow: 0px 0px   #00000070 ;padding-top: 24px;padding-bottom: 24px;padding-left: 24px;padding-right: 24px;margin-top: 32px !important;margin-bottom: 48px !important;margin-left: 0px;margin-right: 0px;overflow: visible;order: initial;border-top-width: 1px;border-left-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-top-left-radius: 20px;border-top-right-radius: 20px;border-bottom-left-radius: 20px;border-bottom-right-radius: 20px;border-style: solid;border-color: #d4b4fd;row-gap: 0px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-603527d0 .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-603527d0 .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-603527d0 .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-603527d0 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-603527d0 .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-603527d0{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-603527d0 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: row;align-items: center;justify-content: flex-start;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-603527d0{box-shadow: 0px 0px   #00000070 ;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;overflow: visible;order: initial;border-color: inherit;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-603527d0.wp-block-uagb-container > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not( .spectra-container-link-overlay ):not(.spectra-image-gallery__control-lightbox):not(.wp-block-uagb-lottie):not(.uagb-container-inner-blocks-wrap){width: auto !important;}.wp-block-uagb-container.uagb-block-603527d0.wp-block-uagb-container > .uagb-container-inner-blocks-wrap > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not(.spectra-image-gallery__control-lightbox){width: auto !important;}.wp-block-uagb-container.uagb-block-c1b6d94c .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-c1b6d94c .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-c1b6d94c .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-c1b6d94c .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-c1b6d94c .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-c1b6d94c{max-width: 10%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-c1b6d94c > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-c1b6d94c{box-shadow: 0px 0px   #00000070 ;padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;overflow: visible;order: initial;border-top-left-radius: 40px;border-top-right-radius: 40px;border-bottom-left-radius: 40px;border-bottom-right-radius: 40px;border-style: none;border-color: inherit;background-color: var(--ast-global-color-4);;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-advanced-heading.uagb-block-68e36a9a.wp-block-uagb-advanced-heading .uagb-heading-text{color: var(--ast-global-color-2);}.wp-block-uagb-advanced-heading.uagb-block-68e36a9a.wp-block-uagb-advanced-heading {text-align: center;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-68e36a9a.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-68e36a9a.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-68e36a9a.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-68e36a9a.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-container.uagb-block-70d21a2f .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-70d21a2f .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-70d21a2f .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-70d21a2f .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-70d21a2f .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-70d21a2f{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-70d21a2f > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 0px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-70d21a2f{box-shadow: 0px 0px   #00000070 ;padding-top: 24px;padding-bottom: 24px;padding-left: 24px;padding-right: 24px;margin-top: 32px !important;margin-bottom: 48px !important;margin-left: 0px;margin-right: 0px;overflow: visible;order: initial;border-top-width: 1px;border-left-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-top-left-radius: 20px;border-top-right-radius: 20px;border-bottom-left-radius: 20px;border-bottom-right-radius: 20px;border-style: solid;border-color: #d4b4fd;row-gap: 0px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-3b93f13f .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-3b93f13f .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-3b93f13f .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-3b93f13f .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-3b93f13f .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-3b93f13f{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-3b93f13f > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: row;align-items: center;justify-content: flex-start;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-3b93f13f{box-shadow: 0px 0px   #00000070 ;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;overflow: visible;order: initial;border-color: inherit;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-3b93f13f.wp-block-uagb-container > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not( .spectra-container-link-overlay ):not(.spectra-image-gallery__control-lightbox):not(.wp-block-uagb-lottie):not(.uagb-container-inner-blocks-wrap){width: auto !important;}.wp-block-uagb-container.uagb-block-3b93f13f.wp-block-uagb-container > .uagb-container-inner-blocks-wrap > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not(.spectra-image-gallery__control-lightbox){width: auto !important;}.wp-block-uagb-container.uagb-block-1883f0e0 .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-1883f0e0 .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-1883f0e0 .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-1883f0e0 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-1883f0e0 .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-1883f0e0{max-width: 10%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-1883f0e0 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-1883f0e0{box-shadow: 0px 0px   #00000070 ;padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;overflow: visible;order: initial;border-top-left-radius: 40px;border-top-right-radius: 40px;border-bottom-left-radius: 40px;border-bottom-right-radius: 40px;border-style: none;border-color: inherit;background-color: var(--ast-global-color-4);;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 20px;column-gap: 20px;}.wp-block-uagb-advanced-heading.uagb-block-357159f5.wp-block-uagb-advanced-heading .uagb-heading-text{color: var(--ast-global-color-2);}.wp-block-uagb-advanced-heading.uagb-block-357159f5.wp-block-uagb-advanced-heading {text-align: center;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-357159f5.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-357159f5.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-357159f5.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-357159f5.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-container.uagb-block-4f13cfc4 .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-4f13cfc4 .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-4f13cfc4 .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-4f13cfc4 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-4f13cfc4 .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-4f13cfc4{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-4f13cfc4 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 24px;column-gap: 20px;}.wp-block-uagb-container.uagb-block-4f13cfc4{box-shadow: 0px 0px   #00000070 ;padding-top: 48px;padding-bottom: 48px;padding-left: 48px;padding-right: 48px;margin-top: 48px !important;margin-bottom: 0px !important;margin-left: 0px;margin-right: 0px;overflow: visible;order: initial;border-top-width: 1px;border-left-width: 1px;border-right-width: 1px;border-bottom-width: 1px;border-top-left-radius: 20px;border-top-right-radius: 20px;border-bottom-left-radius: 20px;border-bottom-right-radius: 20px;border-style: solid;border-color: rgba(205,189,226,0.1);background-repeat: no-repeat;background-position: 50% 0%;background-size: cover;background-attachment: scroll;background-image: url(https:\/\/ptc.wpml.org\/wp-content\/uploads\/2024\/02\/Hero-bg-min.png);background-clip: padding-box;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 24px;column-gap: 20px;}.wp-block-uagb-advanced-heading.uagb-block-bd69da8b.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-bd69da8b.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-bd69da8b.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-bd69da8b.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-bb9e78d5.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-bb9e78d5.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-bb9e78d5.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-bb9e78d5.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.uagb-block-b69278b3.wp-block-uagb-buttons.uagb-buttons__outer-wrap .uagb-buttons__wrap {gap: 10px;}.uagb-block-b69278b3.uagb-buttons__outer-wrap .uagb-buttons__wrap {justify-content: left;align-items: center;}.wp-block-uagb-buttons .uagb-block-bdaafad6 .uagb-button__wrapper  .uagb-buttons-repeater.wp-block-button__link{box-shadow: 0px 0px 0 #00000026;}.wp-block-uagb-buttons .uagb-block-bdaafad6 .uagb-button__wrapper  .uagb-buttons-repeater.wp-block-button__link:hover{box-shadow: 0px 0px 0 #00000026;}.wp-block-uagb-buttons .uagb-block-bdaafad6 .uagb-buttons-repeater.wp-block-button__link:hover{border-color: #333;}.wp-block-uagb-buttons .uagb-block-bdaafad6 .uagb-buttons-repeater.wp-block-button__link:focus{border-color: #333;}.wp-block-uagb-buttons .uagb-block-bdaafad6.wp-block-button.is-style-outline .uagb-button__wrapper .wp-block-button__link.uagb-buttons-repeater:hover{border-color: #333;}.wp-block-uagb-buttons .uagb-block-bdaafad6 .uagb-buttons-repeater .uagb-button__icon > svg{width: 15px;height: 15px;}.wp-block-uagb-buttons .uagb-block-bdaafad6 .uagb-buttons-repeater .uagb-button__icon-position-after{margin-left: 8px;}.wp-block-uagb-buttons .uagb-block-bdaafad6 .uagb-buttons-repeater .uagb-button__icon-position-before{margin-right: 8px;}.wp-block-uagb-buttons .uagb-block-bdaafad6 .uagb-button__link{text-transform: normal;text-decoration: none;}.wp-block-uagb-container.uagb-block-e306e24e .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-e306e24e .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-e306e24e .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-e306e24e .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-e306e24e .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-e306e24e{max-width: 25%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-e306e24e > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 0px;column-gap: 0px;}.wp-block-uagb-container.uagb-block-e306e24e{box-shadow: 0px 0px   #00000070 ;padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;overflow: visible;order: initial;border-color: inherit;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 0px;column-gap: 0px;}.wp-block-uagb-advanced-heading.uagb-block-a4c24409.wp-block-uagb-advanced-heading .uagb-heading-text{color: var(--ast-global-color-3);}.wp-block-uagb-advanced-heading.uagb-block-a4c24409.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 20px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-a4c24409.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-a4c24409.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-a4c24409.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-a4c24409.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-a4c24409 .uagb-heading-text{font-weight: 500;font-size: 20px;}.wp-block-uagb-advanced-heading.uagb-block-889b1ee5.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 16px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-889b1ee5.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-889b1ee5.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-889b1ee5.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-889b1ee5.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-889b1ee5 .uagb-heading-text{font-size: 15px;}.wp-block-uagb-advanced-heading.uagb-block-c8ed9511.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 16px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-c8ed9511.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-c8ed9511.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-c8ed9511.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-c8ed9511.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-c8ed9511 .uagb-heading-text{font-size: 15px;}.wp-block-uagb-advanced-heading.uagb-block-99e44a2f.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 16px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-99e44a2f.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-99e44a2f.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-99e44a2f.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-99e44a2f.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-99e44a2f .uagb-heading-text{font-size: 15px;}.wp-block-uagb-container.uagb-block-fabb3c95 .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-fabb3c95 .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-fabb3c95 .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-fabb3c95 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-fabb3c95 .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-fabb3c95{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-fabb3c95 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 16px;column-gap: 0px;}.wp-block-uagb-container.uagb-block-fabb3c95{box-shadow: 0px 0px   #00000070 ;padding-top: 0px;padding-bottom: 0px;padding-left: 24px;padding-right: 24px;margin-top: 0px !important;margin-bottom: 16px !important;margin-left: 0px;margin-right: 0px;overflow: visible;order: initial;border-top-width: 0px;border-left-width: 1px;border-right-width: 0px;border-bottom-width: 0px;border-style: solid;border-color: rgba(205,189,226,0.2);flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 16px;column-gap: 0px;}.wp-block-uagb-advanced-heading.uagb-block-83f5f89c.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-83f5f89c.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-83f5f89c.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-83f5f89c.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-83f5f89c.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-83f5f89c .uagb-heading-text{font-size: 15px;}.wp-block-uagb-advanced-heading.uagb-block-6e2782c9.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-6e2782c9.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-6e2782c9.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-6e2782c9.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-6e2782c9.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-6e2782c9 .uagb-heading-text{font-size: 15px;}.wp-block-uagb-advanced-heading.uagb-block-f18e849a.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-f18e849a.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-f18e849a.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-f18e849a.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-f18e849a.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-f18e849a .uagb-heading-text{font-size: 15px;}.wp-block-uagb-advanced-heading.uagb-block-a02fa26b.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 16px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-a02fa26b.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-a02fa26b.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-a02fa26b.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-a02fa26b.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-a02fa26b .uagb-heading-text{font-size: 15px;}.wp-block-uagb-container.uagb-block-cc0cd036 .uagb-container__shape-top svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-cc0cd036 .uagb-container__shape.uagb-container__shape-top .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-cc0cd036 .uagb-container__shape-bottom svg{width: calc( 100% + 1.3px );}.wp-block-uagb-container.uagb-block-cc0cd036 .uagb-container__shape.uagb-container__shape-bottom .uagb-container__shape-fill{fill: rgba(51,51,51,1);}.wp-block-uagb-container.uagb-block-cc0cd036 .uagb-container__video-wrap video{opacity: 1;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-cc0cd036{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-cc0cd036 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1280px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 16px;column-gap: 0px;}.wp-block-uagb-container.uagb-block-cc0cd036{box-shadow: 0px 0px   #00000070 ;padding-top: 0px;padding-bottom: 0px;padding-left: 24px;padding-right: 24px;margin-top: 0px !important;margin-bottom: 16px !important;margin-left: 0px;margin-right: 0px;overflow: visible;order: initial;border-top-width: 0px;border-left-width: 1px;border-right-width: 0px;border-bottom-width: 0px;border-style: solid;border-color: rgba(205,189,226,0.2);flex-direction: column;align-items: center;justify-content: center;flex-wrap: nowrap;row-gap: 16px;column-gap: 0px;}.wp-block-uagb-advanced-heading.uagb-block-505f6771.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-505f6771.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-505f6771.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-505f6771.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-505f6771.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-505f6771 .uagb-heading-text{font-size: 15px;}.wp-block-uagb-advanced-heading.uagb-block-dec77b8e.wp-block-uagb-advanced-heading {margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;}.wp-block-uagb-advanced-heading.uagb-block-dec77b8e.wp-block-uagb-advanced-heading .uagb-desc-text{margin-bottom: 15px;}.wp-block-uagb-advanced-heading.uagb-block-dec77b8e.wp-block-uagb-advanced-heading .uagb-highlight{font-style: normal;font-weight: Default;background: #007cba;color: #fff;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-dec77b8e.wp-block-uagb-advanced-heading .uagb-highlight::-moz-selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-dec77b8e.wp-block-uagb-advanced-heading .uagb-highlight::selection{color: #fff;background: #007cba;-webkit-text-fill-color: #fff;}.wp-block-uagb-advanced-heading.uagb-block-dec77b8e .uagb-heading-text{font-size: 15px;}@media only screen and (max-width: 976px) {.wp-block-uagb-container.uagb-is-root-container .uagb-block-7d0a9c8b{width: 100%;}.wp-block-uagb-container.uagb-block-7d0a9c8b{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top: 64px !important;margin-bottom: 0px !important;order: initial;flex-wrap: wrap-reverse;max-width:  !important;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-ec2c2fb6{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-ec2c2fb6 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;}.wp-block-uagb-container.uagb-block-ec2c2fb6{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-480d8777{width: 100%;}.wp-block-uagb-container.uagb-block-480d8777{padding-top: 40px;padding-bottom: 40px;padding-left: 40px;padding-right: 40px;margin-top: 0px !important;margin-bottom: 36px !important;order: initial;border-style: none;background-color: rgba(205,189,226,0.1);;max-width:  !important;}.uagb-block-60bbf702.uagb-buttons__outer-wrap .uagb-buttons__wrap {justify-content: left;align-items: center;}.uagb-block-60bbf702.uagb-buttons__outer-wrap .uagb-buttons__wrap .wp-block-button{width: auto;}.uagb-block-39ff3b72.wp-block-uagb-image-gallery{padding:    ;}.uagb-block-39ff3b72 .spectra-image-gallery__control-arrows--carousel{border-style: none;}.uagb-block-39ff3b72 .spectra-image-gallery__control-button{padding:    ;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--grid{grid-gap: 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--isogrid{margin: -4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--isogrid .spectra-image-gallery__media-wrapper--isotope{padding: 4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--masonry{margin: -4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--masonry .spectra-image-gallery__media-wrapper--isotope{padding: 4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel .spectra-image-gallery__media-wrapper{padding: 0px 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel .slick-list{margin: 0px -8px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--tiled{grid-gap: 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__media{border-color: rgba(206,191,227,0.18);}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption{padding: 8px 8px 8px 8px;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main.swiper-rtl .swiper-button-prev{left: auto;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main.swiper-rtl .swiper-button-next{right: auto;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-5fd536df{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-5fd536df > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: flex-start;row-gap: 12px;}.wp-block-uagb-container.uagb-block-5fd536df{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;row-gap: 12px;}.wp-block-uagb-container.uagb-block-5fd536df.wp-block-uagb-container > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not( .spectra-container-link-overlay ):not(.spectra-image-gallery__control-lightbox):not(.wp-block-uagb-lottie):not(.uagb-container-inner-blocks-wrap){width: auto !important;}.wp-block-uagb-container.uagb-block-5fd536df.wp-block-uagb-container > .uagb-container-inner-blocks-wrap > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not(.spectra-image-gallery__control-lightbox){width: auto !important;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-d8efc734{max-width: 17%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-d8efc734 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;row-gap: 10px;}.wp-block-uagb-container.uagb-block-d8efc734{padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: none;background-color: var(--ast-global-color-4);;row-gap: 10px;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-a2ef876d{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-a2ef876d > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;}.wp-block-uagb-container.uagb-block-a2ef876d{padding-top: 24px;padding-bottom: 24px;padding-left: 24px;padding-right: 24px;margin-top: 32px !important;margin-bottom: 48px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: #d4b4fd;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-603527d0{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-603527d0 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: flex-start;row-gap: 12px;}.wp-block-uagb-container.uagb-block-603527d0{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;row-gap: 12px;}.wp-block-uagb-container.uagb-block-603527d0.wp-block-uagb-container > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not( .spectra-container-link-overlay ):not(.spectra-image-gallery__control-lightbox):not(.wp-block-uagb-lottie):not(.uagb-container-inner-blocks-wrap){width: auto !important;}.wp-block-uagb-container.uagb-block-603527d0.wp-block-uagb-container > .uagb-container-inner-blocks-wrap > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not(.spectra-image-gallery__control-lightbox){width: auto !important;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-c1b6d94c{max-width: 17%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-c1b6d94c > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;row-gap: 10px;}.wp-block-uagb-container.uagb-block-c1b6d94c{padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: none;background-color: var(--ast-global-color-4);;row-gap: 10px;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-70d21a2f{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-70d21a2f > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;}.wp-block-uagb-container.uagb-block-70d21a2f{padding-top: 24px;padding-bottom: 24px;padding-left: 24px;padding-right: 24px;margin-top: 32px !important;margin-bottom: 48px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: #d4b4fd;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-3b93f13f{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-3b93f13f > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;flex-direction: column;align-items: flex-start;row-gap: 12px;}.wp-block-uagb-container.uagb-block-3b93f13f{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;row-gap: 12px;}.wp-block-uagb-container.uagb-block-3b93f13f.wp-block-uagb-container > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not( .spectra-container-link-overlay ):not(.spectra-image-gallery__control-lightbox):not(.wp-block-uagb-lottie):not(.uagb-container-inner-blocks-wrap){width: auto !important;}.wp-block-uagb-container.uagb-block-3b93f13f.wp-block-uagb-container > .uagb-container-inner-blocks-wrap > *:not( .wp-block-uagb-column ):not( .wp-block-uagb-section ):not( .uagb-container__shape ):not( .uagb-container__video-wrap ):not( .uagb-slider-container ):not(.spectra-image-gallery__control-lightbox){width: auto !important;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-1883f0e0{max-width: 17%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-1883f0e0 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;row-gap: 10px;}.wp-block-uagb-container.uagb-block-1883f0e0{padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: none;background-color: var(--ast-global-color-4);;row-gap: 10px;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-4f13cfc4{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-4f13cfc4 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;}.wp-block-uagb-container.uagb-block-4f13cfc4{padding-top: 48px;padding-bottom: 48px;padding-left: 48px;padding-right: 48px;margin-top: 48px !important;margin-bottom: 0px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: rgba(205,189,226,0.1);background-image: url(https:\/\/ptc.wpml.org\/wp-content\/uploads\/2024\/02\/Hero-bg-min.png);background-clip: padding-box;}.uagb-block-b69278b3.uagb-buttons__outer-wrap .uagb-buttons__wrap {justify-content: left;align-items: center;}.uagb-block-b69278b3.uagb-buttons__outer-wrap .uagb-buttons__wrap .wp-block-button{width: auto;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-e306e24e{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-e306e24e > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;}.wp-block-uagb-container.uagb-block-e306e24e{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-fabb3c95{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-fabb3c95 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;}.wp-block-uagb-container.uagb-block-fabb3c95{padding-top: 0px;padding-bottom: 0px;padding-left: 24px;padding-right: 24px;margin-top: 0px !important;margin-bottom: 16px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: rgba(205,189,226,0.2);}.wp-block-uagb-container.uagb-is-root-container .uagb-block-cc0cd036{width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-cc0cd036 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 1024px);max-width: var(--inner-content-custom-width);width: 100%;}.wp-block-uagb-container.uagb-block-cc0cd036{padding-top: 0px;padding-bottom: 0px;padding-left: 24px;padding-right: 24px;margin-top: 0px !important;margin-bottom: 16px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: rgba(205,189,226,0.2);}}@media only screen and (max-width: 767px) {.wp-block-uagb-container.uagb-is-root-container .uagb-block-7d0a9c8b{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-block-7d0a9c8b{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top: 64px !important;margin-bottom: 0px !important;order: initial;flex-wrap: wrap-reverse;max-width: 100% !important;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-ec2c2fb6{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-ec2c2fb6 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-ec2c2fb6{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;flex-wrap: wrap;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-480d8777{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-block-480d8777{padding-top: 24px;padding-bottom: 24px;padding-left: 24px;padding-right: 24px;margin-top: 0px !important;margin-bottom: 36px !important;order: initial;border-style: none;background-color: rgba(205,189,226,0.1);;flex-wrap: wrap;max-width: 100% !important;}.uagb-block-60bbf702.uagb-buttons__outer-wrap .uagb-buttons__wrap{width: 100%;}.uagb-block-60bbf702.uagb-buttons__outer-wrap .uagb-buttons__wrap .wp-block-button {width: 100%;}.uagb-block-39ff3b72.wp-block-uagb-image-gallery{padding:    ;}.uagb-block-39ff3b72 .spectra-image-gallery__control-arrows--carousel{border-style: none;}.uagb-block-39ff3b72 .spectra-image-gallery__control-button{padding:    ;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--grid{grid-gap: 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--isogrid{margin: -4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--isogrid .spectra-image-gallery__media-wrapper--isotope{padding: 4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--masonry{margin: -4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--masonry .spectra-image-gallery__media-wrapper--isotope{padding: 4px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel .spectra-image-gallery__media-wrapper{padding: 0px 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--carousel .slick-list{margin: 0px -8px;}.uagb-block-39ff3b72 .spectra-image-gallery__layout--tiled .spectra-image-gallery__media-wrapper{grid-gap: 8px;}.uagb-block-39ff3b72 .spectra-image-gallery__media{border-color: rgba(206,191,227,0.18);}.uagb-block-39ff3b72 .spectra-image-gallery__media-thumbnail-caption{padding: 8px 8px 8px 8px;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main.swiper-rtl .swiper-button-prev{left: auto;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main.swiper-rtl .swiper-button-next{right: auto;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main .swiper-button-prev::after{font-size: 24px;}.uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main .swiper-button-next::after{font-size: 24px;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-5fd536df{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-5fd536df > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-5fd536df{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-d8efc734{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-d8efc734 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-d8efc734{padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: none;background-color: var(--ast-global-color-4);;flex-wrap: wrap;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-a2ef876d{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-a2ef876d > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-a2ef876d{padding-top: 24px;padding-bottom: 24px;padding-left: 24px;padding-right: 24px;margin-top: 32px !important;margin-bottom: 48px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: #d4b4fd;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-603527d0{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-603527d0 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-603527d0{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-c1b6d94c{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-c1b6d94c > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-c1b6d94c{padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: none;background-color: var(--ast-global-color-4);;flex-wrap: wrap;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-70d21a2f{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-70d21a2f > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-70d21a2f{padding-top: 24px;padding-bottom: 24px;padding-left: 24px;padding-right: 24px;margin-top: 32px !important;margin-bottom: 48px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: #d4b4fd;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-3b93f13f{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-3b93f13f > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-3b93f13f{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-1883f0e0{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-1883f0e0 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-1883f0e0{padding-top: 4px;padding-bottom: 4px;padding-left: 16px;padding-right: 16px;margin-top: 0px !important;margin-bottom: 20px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: none;background-color: var(--ast-global-color-4);;flex-wrap: wrap;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-4f13cfc4{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-4f13cfc4 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-4f13cfc4{padding-top: 24px;padding-bottom: 24px;padding-left: 24px;padding-right: 24px;margin-top: 12px !important;margin-bottom: 0px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: rgba(205,189,226,0.1);background-image: url(https:\/\/ptc.wpml.org\/wp-content\/uploads\/2024\/02\/Hero-bg-min.png);background-clip: padding-box;flex-wrap: wrap;}.uagb-block-b69278b3.uagb-buttons__outer-wrap .uagb-buttons__wrap{width: 100%;}.uagb-block-b69278b3.uagb-buttons__outer-wrap .uagb-buttons__wrap .wp-block-button {width: 100%;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-e306e24e{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-e306e24e > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-e306e24e{padding-top: 0px;padding-bottom: 0px;padding-left: 0px;padding-right: 0px;margin-top:  !important;margin-bottom:  !important;order: initial;flex-wrap: wrap;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-fabb3c95{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-fabb3c95 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-fabb3c95{padding-top: 0px;padding-bottom: 0px;padding-left: 24px;padding-right: 24px;margin-top: 0px !important;margin-bottom: 16px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: rgba(205,189,226,0.2);flex-wrap: wrap;}.wp-block-uagb-container.uagb-is-root-container .uagb-block-cc0cd036{max-width: 100%;width: 100%;}.wp-block-uagb-container.uagb-is-root-container.alignfull.uagb-block-cc0cd036 > .uagb-container-inner-blocks-wrap{--inner-content-custom-width: min( 100%, 767px);max-width: var(--inner-content-custom-width);width: 100%;flex-wrap: wrap;}.wp-block-uagb-container.uagb-block-cc0cd036{padding-top: 0px;padding-bottom: 0px;padding-left: 24px;padding-right: 24px;margin-top: 0px !important;margin-bottom: 16px !important;margin-left: 0px;margin-right: 0px;order: initial;border-style: solid;border-color: rgba(205,189,226,0.2);flex-wrap: wrap;}}\";s:2:\"js\";s:29762:\"document.addEventListener(\"DOMContentLoaded\", function(){ window.addEventListener( 'load', function() {\n\tUAGBButtonChild.init( '.uagb-block-5ea4a834' );\n});\n\t\t\t\twindow.addEventListener( 'DOMContentLoaded', function() {\n\t\t\t\t\tconst scope = document.querySelector( '.uagb-block-39ff3b72' );\n\t\t\t\t\tif ( scope ){\n\t\t\t\t\t\tif ( scope.children[0].classList.contains( 'spectra-image-gallery__layout--masonry' ) ) {\n\t\t\t\t\t\t\t\/\/ Add timeout for the images to load.\n\t\t\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\t\t\tconst element = scope.querySelector( '.spectra-image-gallery__layout--masonry' );\n\t\t\t\t\t\t\t\tconst isotope = new Isotope( element, {\n\t\t\t\t\t\t\t\t\titemSelector: '.spectra-image-gallery__media-wrapper--isotope',\n\t\t\t\t\t\t\t\t\tpercentPosition: true,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\timagesLoaded( element ).on( 'progress', function() {\n\t\t\t\t\t\t\t\t\tisotope.layout();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\timagesLoaded( element ).on( 'always', function() {\n\t\t\t\t\t\t\t\t\telement.parentNode.style.visibility = 'visible';\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tUAGBImageGalleryMasonry.init( {\"block_id\":\"39ff3b72\",\"classMigrate\":true,\"readyToRender\":true,\"mediaGallery\":[{\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-150x150.png\",\"orientation\":\"landscape\"},\"medium\":{\"height\":152,\"width\":300,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-300x152.png\",\"orientation\":\"landscape\"},\"large\":{\"height\":517,\"width\":1024,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-1024x517.png\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project.png\",\"height\":1110,\"width\":2198,\"orientation\":\"landscape\"},\"cmplz_banner_image\":{\"height\":100,\"width\":350,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-350x100.png\",\"orientation\":\"landscape\"}},\"mime\":\"image\/png\",\"type\":\"image\",\"subtype\":\"png\",\"id\":17350,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project.png\",\"alt\":\"Creating a new project in PTC\",\"link\":\"https:\/\/ptc.wpml.org\/?attachment_id=17350\",\"caption\":\"Creating a new project\"},{\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-150x150.png\",\"orientation\":\"landscape\"},\"medium\":{\"height\":176,\"width\":300,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-300x176.png\",\"orientation\":\"landscape\"},\"large\":{\"height\":601,\"width\":1024,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-1024x601.png\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration.png\",\"height\":1067,\"width\":1817,\"orientation\":\"landscape\"},\"cmplz_banner_image\":{\"height\":100,\"width\":350,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-350x100.png\",\"orientation\":\"landscape\"}},\"mime\":\"image\/png\",\"type\":\"image\",\"subtype\":\"png\",\"id\":17351,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration.png\",\"alt\":\"Choosing API integration in PTC setup\",\"link\":\"https:\/\/ptc.wpml.org\/?attachment_id=17351\",\"caption\":\"Choosing API Integration\"},{\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-150x150.png\",\"orientation\":\"landscape\"},\"medium\":{\"height\":135,\"width\":300,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-300x135.png\",\"orientation\":\"landscape\"},\"large\":{\"height\":459,\"width\":1024,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-1024x459.png\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-scaled.png\",\"height\":1148,\"width\":2560,\"orientation\":\"landscape\"},\"cmplz_banner_image\":{\"height\":100,\"width\":350,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-350x100.png\",\"orientation\":\"landscape\"}},\"mime\":\"image\/png\",\"type\":\"image\",\"subtype\":\"png\",\"id\":17352,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-scaled.png\",\"alt\":\"API token under Settings u2192 Manage API tokens\",\"link\":\"https:\/\/ptc.wpml.org\/?attachment_id=17352\",\"caption\":\"API token under Settings u2192 Manage API tokens\"}],\"mediaIDs\":[17350,17351,17352],\"feedLayout\":\"masonry\",\"galleryImageSize\":\"full\",\"imageClickEvent\":\"lightbox\",\"captionVisibility\":\"always\",\"captionDisplayType\":\"bar-outside\",\"imageCaptionAlignment\":\"bottom center\",\"imageCaptionAlignment01\":\"bottom\",\"columnsDesk\":2,\"columnsTab\":1,\"columnsMob\":1,\"imageBorderTopWidth\":1,\"imageBorderLeftWidth\":1,\"imageBorderRightWidth\":1,\"imageBorderBottomWidth\":1,\"imageBorderTopLeftRadius\":20,\"imageBorderTopRightRadius\":20,\"imageBorderBottomLeftRadius\":20,\"imageBorderBottomRightRadius\":20,\"imageBorderColor\":\"rgba(206,191,227,0.18)\",\"wpmlTranslatedContent\":\"1\",\"tileSize\":0,\"focusList\":[],\"focusListObject\":[],\"imageDisplayCaption\":true,\"galleryImageSizeTablet\":\"large\",\"galleryImageSizeMobile\":\"medium\",\"disableLazyLoad\":false,\"lightboxDisplayCaptions\":false,\"lightboxThumbnails\":false,\"lightboxDisplayCount\":false,\"lightboxCloseIcon\":\"xmark\",\"lightboxCaptionHeight\":50,\"lightboxCaptionHeightTablet\":\"\",\"lightboxCaptionHeightMobile\":\"\",\"lightboxIconSize\":24,\"lightboxIconSizeTablet\":\"\",\"lightboxIconSizeMobile\":\"\",\"imageCaptionAlignment02\":\"center\",\"imageDefaultCaption\":\"No Caption\",\"captionPaddingTop\":8,\"captionPaddingRight\":8,\"captionPaddingBottom\":8,\"captionPaddingLeft\":8,\"captionPaddingTopTab\":8,\"captionPaddingRightTab\":8,\"captionPaddingBottomTab\":8,\"captionPaddingLeftTab\":8,\"captionPaddingTopMob\":8,\"captionPaddingRightMob\":8,\"captionPaddingBottomMob\":8,\"captionPaddingLeftMob\":8,\"captionPaddingUnit\":\"px\",\"captionPaddingUnitTab\":\"px\",\"captionPaddingUnitMob\":\"px\",\"captionPaddingUnitLink\":true,\"captionGap\":0,\"captionGapUnit\":\"px\",\"gridImageGap\":8,\"gridImageGapTab\":\"\",\"gridImageGapMob\":\"\",\"gridImageGapUnit\":\"px\",\"gridImageGapUnitTab\":\"px\",\"gridImageGapUnitMob\":\"px\",\"feedMarginTop\":\"\",\"feedMarginRight\":\"\",\"feedMarginBottom\":\"\",\"feedMarginLeft\":\"\",\"feedMarginTopTab\":\"\",\"feedMarginRightTab\":\"\",\"feedMarginBottomTab\":\"\",\"feedMarginLeftTab\":\"\",\"feedMarginTopMob\":\"\",\"feedMarginRightMob\":\"\",\"feedMarginBottomMob\":\"\",\"feedMarginLeftMob\":\"\",\"feedMarginUnit\":\"px\",\"feedMarginUnitTab\":\"px\",\"feedMarginUnitMob\":\"px\",\"feedMarginUnitLink\":true,\"carouselStartAt\":0,\"carouselSquares\":false,\"carouselLoop\":true,\"carouselAutoplay\":true,\"carouselAutoplaySpeed\":2000,\"carouselPauseOnHover\":true,\"carouselTransitionSpeed\":500,\"gridPages\":1,\"gridPageNumber\":1,\"feedPagination\":false,\"paginateUseArrows\":true,\"paginateUseDots\":true,\"paginateUseLoader\":true,\"paginateLimit\":9,\"paginateButtonAlign\":\"center\",\"paginateButtonText\":\"Load More Images\",\"paginateButtonPaddingTop\":\"\",\"paginateButtonPaddingRight\":\"\",\"paginateButtonPaddingBottom\":\"\",\"paginateButtonPaddingLeft\":\"\",\"paginateButtonPaddingTopTab\":\"\",\"paginateButtonPaddingRightTab\":\"\",\"paginateButtonPaddingBottomTab\":\"\",\"paginateButtonPaddingLeftTab\":\"\",\"paginateButtonPaddingTopMob\":\"\",\"paginateButtonPaddingRightMob\":\"\",\"paginateButtonPaddingBottomMob\":\"\",\"paginateButtonPaddingLeftMob\":\"\",\"paginateButtonPaddingUnit\":\"px\",\"paginateButtonPaddingUnitTab\":\"px\",\"paginateButtonPaddingUnitMob\":\"px\",\"paginateButtonPaddingUnitLink\":true,\"imageEnableZoom\":true,\"imageZoomType\":\"zoom-in\",\"captionBackgroundEnableBlur\":false,\"captionBackgroundBlurAmount\":0,\"captionBackgroundBlurAmountHover\":5,\"lightboxEdgeDistance\":10,\"lightboxEdgeDistanceTablet\":\"\",\"lightboxEdgeDistanceMobile\":\"\",\"lightboxBackgroundEnableBlur\":true,\"lightboxBackgroundBlurAmount\":5,\"lightboxBackgroundColor\":\"rgba(0,0,0,0.75)\",\"lightboxIconColor\":\"rgba(255,255,255,1)\",\"lightboxCaptionColor\":\"rgba(255,255,255,1)\",\"lightboxCaptionBackgroundColor\":\"rgba(0,0,0,1)\",\"captionLoadGoogleFonts\":false,\"captionFontFamily\":\"Default\",\"captionFontWeight\":\"\",\"captionFontStyle\":\"normal\",\"captionTransform\":\"\",\"captionDecoration\":\"none\",\"captionFontSizeType\":\"px\",\"captionFontSize\":\"\",\"captionFontSizeTab\":\"\",\"captionFontSizeMob\":\"\",\"captionLineHeightType\":\"em\",\"captionLineHeight\":\"\",\"captionLineHeightTab\":\"\",\"captionLineHeightMob\":\"\",\"loadMoreLoadGoogleFonts\":false,\"loadMoreFontFamily\":\"Default\",\"loadMoreFontWeight\":\"\",\"loadMoreFontStyle\":\"normal\",\"loadMoreTransform\":\"\",\"loadMoreDecoration\":\"none\",\"loadMoreFontSizeType\":\"px\",\"loadMoreFontSize\":\"\",\"loadMoreFontSizeTab\":\"\",\"loadMoreFontSizeMob\":\"\",\"loadMoreLineHeightType\":\"em\",\"loadMoreLineHeight\":\"\",\"loadMoreLineHeightTab\":\"\",\"loadMoreLineHeightMob\":\"\",\"lightboxLoadGoogleFonts\":false,\"lightboxFontFamily\":\"Default\",\"lightboxFontWeight\":\"\",\"lightboxFontStyle\":\"normal\",\"lightboxTransform\":\"\",\"lightboxDecoration\":\"none\",\"lightboxFontSizeType\":\"px\",\"lightboxFontSize\":\"\",\"lightboxFontSizeTab\":\"\",\"lightboxFontSizeMob\":\"\",\"lightboxLineHeightType\":\"em\",\"lightboxLineHeight\":\"\",\"lightboxLineHeightTab\":\"\",\"lightboxLineHeightMob\":\"\",\"captionBackgroundEffect\":\"none\",\"captionBackgroundEffectHover\":\"none\",\"captionBackgroundEffectAmount\":100,\"captionBackgroundEffectAmountHover\":0,\"captionColor\":\"rgba(255,255,255,1)\",\"captionColorHover\":\"rgba(255,255,255,1)\",\"captionBackgroundColor\":\"rgba(0,0,0,0.75)\",\"captionBackgroundColorHover\":\"rgba(0,0,0,0.75)\",\"overlayColor\":\"rgba(0,0,0,0)\",\"overlayColorHover\":\"rgba(0,0,0,0)\",\"captionSeparateColors\":false,\"paginateArrowDistance\":-24,\"paginateArrowDistanceUnit\":\"px\",\"paginateArrowSize\":24,\"paginateDotDistance\":8,\"paginateDotDistanceUnit\":\"px\",\"paginateLoaderSize\":18,\"paginateButtonTextColor\":\"\",\"paginateButtonTextColorHover\":\"\",\"paginateColor\":\"\",\"paginateColorHover\":\"\",\"imageBoxShadowColor\":\"\",\"imageBoxShadowHOffset\":0,\"imageBoxShadowVOffset\":0,\"imageBoxShadowBlur\":\"\",\"imageBoxShadowSpread\":\"\",\"imageBoxShadowPosition\":\"outset\",\"imageBoxShadowColorHover\":\"\",\"imageBoxShadowHOffsetHover\":0,\"imageBoxShadowVOffsetHover\":0,\"imageBoxShadowBlurHover\":\"\",\"imageBoxShadowSpreadHover\":\"\",\"imageBoxShadowPositionHover\":\"outset\",\"arrowBorderTopWidth\":4,\"arrowBorderLeftWidth\":4,\"arrowBorderRightWidth\":4,\"arrowBorderBottomWidth\":4,\"arrowBorderTopLeftRadius\":50,\"arrowBorderTopRightRadius\":50,\"arrowBorderBottomLeftRadius\":50,\"arrowBorderBottomRightRadius\":50,\"arrowBorderRadiusUnit\":\"px\",\"arrowBorderTopWidthTablet\":\"\",\"arrowBorderLeftWidthTablet\":\"\",\"arrowBorderRightWidthTablet\":\"\",\"arrowBorderBottomWidthTablet\":\"\",\"arrowBorderTopLeftRadiusTablet\":\"\",\"arrowBorderTopRightRadiusTablet\":\"\",\"arrowBorderBottomLeftRadiusTablet\":\"\",\"arrowBorderBottomRightRadiusTablet\":\"\",\"arrowBorderRadiusUnitTablet\":\"px\",\"arrowBorderTopWidthMobile\":\"\",\"arrowBorderLeftWidthMobile\":\"\",\"arrowBorderRightWidthMobile\":\"\",\"arrowBorderBottomWidthMobile\":\"\",\"arrowBorderTopLeftRadiusMobile\":\"\",\"arrowBorderTopRightRadiusMobile\":\"\",\"arrowBorderBottomLeftRadiusMobile\":\"\",\"arrowBorderBottomRightRadiusMobile\":\"\",\"arrowBorderRadiusUnitMobile\":\"px\",\"arrowBorderStyle\":\"none\",\"arrowBorderColor\":\"\",\"arrowBorderHColor\":\"\",\"btnBorderTopWidth\":\"\",\"btnBorderLeftWidth\":\"\",\"btnBorderRightWidth\":\"\",\"btnBorderBottomWidth\":\"\",\"btnBorderTopLeftRadius\":\"\",\"btnBorderTopRightRadius\":\"\",\"btnBorderBottomLeftRadius\":\"\",\"btnBorderBottomRightRadius\":\"\",\"btnBorderRadiusUnit\":\"px\",\"btnBorderTopWidthTablet\":\"\",\"btnBorderLeftWidthTablet\":\"\",\"btnBorderRightWidthTablet\":\"\",\"btnBorderBottomWidthTablet\":\"\",\"btnBorderTopLeftRadiusTablet\":\"\",\"btnBorderTopRightRadiusTablet\":\"\",\"btnBorderBottomLeftRadiusTablet\":\"\",\"btnBorderBottomRightRadiusTablet\":\"\",\"btnBorderRadiusUnitTablet\":\"px\",\"btnBorderTopWidthMobile\":\"\",\"btnBorderLeftWidthMobile\":\"\",\"btnBorderRightWidthMobile\":\"\",\"btnBorderBottomWidthMobile\":\"\",\"btnBorderTopLeftRadiusMobile\":\"\",\"btnBorderTopRightRadiusMobile\":\"\",\"btnBorderBottomLeftRadiusMobile\":\"\",\"btnBorderBottomRightRadiusMobile\":\"\",\"btnBorderRadiusUnitMobile\":\"px\",\"btnBorderStyle\":\"\",\"btnBorderColor\":\"\",\"btnBorderHColor\":\"\",\"imageBorderRadiusUnit\":\"px\",\"imageBorderTopWidthTablet\":\"\",\"imageBorderLeftWidthTablet\":\"\",\"imageBorderRightWidthTablet\":\"\",\"imageBorderBottomWidthTablet\":\"\",\"imageBorderTopLeftRadiusTablet\":\"\",\"imageBorderTopRightRadiusTablet\":\"\",\"imageBorderBottomLeftRadiusTablet\":\"\",\"imageBorderBottomRightRadiusTablet\":\"\",\"imageBorderRadiusUnitTablet\":\"px\",\"imageBorderTopWidthMobile\":\"\",\"imageBorderLeftWidthMobile\":\"\",\"imageBorderRightWidthMobile\":\"\",\"imageBorderBottomWidthMobile\":\"\",\"imageBorderTopLeftRadiusMobile\":\"\",\"imageBorderTopRightRadiusMobile\":\"\",\"imageBorderBottomLeftRadiusMobile\":\"\",\"imageBorderBottomRightRadiusMobile\":\"\",\"imageBorderRadiusUnitMobile\":\"px\",\"imageBorderStyle\":\"\",\"imageBorderHColor\":\"\",\"mainTitleBorderTopWidth\":2,\"mainTitleBorderLeftWidth\":0,\"mainTitleBorderRightWidth\":0,\"mainTitleBorderBottomWidth\":2,\"mainTitleBorderTopLeftRadius\":\"\",\"mainTitleBorderTopRightRadius\":\"\",\"mainTitleBorderBottomLeftRadius\":\"\",\"mainTitleBorderBottomRightRadius\":\"\",\"mainTitleBorderRadiusUnit\":\"px\",\"mainTitleBorderTopWidthTablet\":\"\",\"mainTitleBorderLeftWidthTablet\":\"\",\"mainTitleBorderRightWidthTablet\":\"\",\"mainTitleBorderBottomWidthTablet\":\"\",\"mainTitleBorderTopLeftRadiusTablet\":\"\",\"mainTitleBorderTopRightRadiusTablet\":\"\",\"mainTitleBorderBottomLeftRadiusTablet\":\"\",\"mainTitleBorderBottomRightRadiusTablet\":\"\",\"mainTitleBorderRadiusUnitTablet\":\"px\",\"mainTitleBorderTopWidthMobile\":\"\",\"mainTitleBorderLeftWidthMobile\":\"\",\"mainTitleBorderRightWidthMobile\":\"\",\"mainTitleBorderBottomWidthMobile\":\"\",\"mainTitleBorderTopLeftRadiusMobile\":\"\",\"mainTitleBorderTopRightRadiusMobile\":\"\",\"mainTitleBorderBottomLeftRadiusMobile\":\"\",\"mainTitleBorderBottomRightRadiusMobile\":\"\",\"mainTitleBorderRadiusUnitMobile\":\"px\",\"mainTitleBorderStyle\":\"\",\"mainTitleBorderColor\":\"\",\"mainTitleBorderHColor\":\"\"}, '.uagb-block-39ff3b72', {\"lazy\":true,\"slidesPerView\":1,\"navigation\":{\"nextEl\":\".uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .swiper-button-next\",\"prevEl\":\".uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .swiper-button-prev\"},\"keyboard\":{\"enabled\":true}}, [] );\n\t\t\t\t\t\t\t\tUAGBImageGalleryMasonry.initByOffset( element, isotope );\n\t\t\t\t\t\t\t}, 500 );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t\t\t\twindow.addEventListener( 'DOMContentLoaded', () => {\n\t\t\t\t\tconst blockScope = document.querySelector( '.uagb-block-39ff3b72' );\n\t\t\t\t\tif ( ! blockScope ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tblockScope.addEventListener('keydown', (event) => {\n\t\t\t\t\t\tif ( 13 === event.keyCode || 32 === event.keyCode ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tblockScope.click();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t\tlet lightboxSwiper = null;\n\t\t\t\t\tlet thumbnailSwiper = null;\n\n\t\t\t\t\t\t\t\t\t\tlet lightboxSettings = {\"lazy\":true,\"slidesPerView\":1,\"navigation\":{\"nextEl\":\".uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .swiper-button-next\",\"prevEl\":\".uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .swiper-button-prev\"},\"keyboard\":{\"enabled\":true}};\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlightboxSwiper = new Swiper( \".uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .spectra-image-gallery__control-lightbox--main\",\n\t\t\t\t\t\t{\"lazy\":true,\"slidesPerView\":1,\"navigation\":{\"nextEl\":\".uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .swiper-button-next\",\"prevEl\":\".uagb-block-39ff3b72+.spectra-image-gallery__control-lightbox .swiper-button-prev\"},\"keyboard\":{\"enabled\":true}}\t\t\t\t\t);\n\t\t\t\t\tloadLightBoxImages( blockScope, lightboxSwiper, null, {\"block_id\":\"39ff3b72\",\"classMigrate\":true,\"readyToRender\":true,\"mediaGallery\":[{\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-150x150.png\",\"orientation\":\"landscape\"},\"medium\":{\"height\":152,\"width\":300,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-300x152.png\",\"orientation\":\"landscape\"},\"large\":{\"height\":517,\"width\":1024,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-1024x517.png\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project.png\",\"height\":1110,\"width\":2198,\"orientation\":\"landscape\"},\"cmplz_banner_image\":{\"height\":100,\"width\":350,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project-350x100.png\",\"orientation\":\"landscape\"}},\"mime\":\"image\/png\",\"type\":\"image\",\"subtype\":\"png\",\"id\":17350,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-creating-a-new-project.png\",\"alt\":\"Creating a new project in PTC\",\"link\":\"https:\/\/ptc.wpml.org\/?attachment_id=17350\",\"caption\":\"Creating a new project\"},{\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-150x150.png\",\"orientation\":\"landscape\"},\"medium\":{\"height\":176,\"width\":300,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-300x176.png\",\"orientation\":\"landscape\"},\"large\":{\"height\":601,\"width\":1024,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-1024x601.png\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration.png\",\"height\":1067,\"width\":1817,\"orientation\":\"landscape\"},\"cmplz_banner_image\":{\"height\":100,\"width\":350,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration-350x100.png\",\"orientation\":\"landscape\"}},\"mime\":\"image\/png\",\"type\":\"image\",\"subtype\":\"png\",\"id\":17351,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-selecting-api-integration.png\",\"alt\":\"Choosing API integration in PTC setup\",\"link\":\"https:\/\/ptc.wpml.org\/?attachment_id=17351\",\"caption\":\"Choosing API Integration\"},{\"sizes\":{\"thumbnail\":{\"height\":150,\"width\":150,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-150x150.png\",\"orientation\":\"landscape\"},\"medium\":{\"height\":135,\"width\":300,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-300x135.png\",\"orientation\":\"landscape\"},\"large\":{\"height\":459,\"width\":1024,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-1024x459.png\",\"orientation\":\"landscape\"},\"full\":{\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-scaled.png\",\"height\":1148,\"width\":2560,\"orientation\":\"landscape\"},\"cmplz_banner_image\":{\"height\":100,\"width\":350,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-350x100.png\",\"orientation\":\"landscape\"}},\"mime\":\"image\/png\",\"type\":\"image\",\"subtype\":\"png\",\"id\":17352,\"url\":\"https:\/\/ptc.wpml.org\/wp-content\/uploads\/2026\/01\/ptc-settings-manage-api-tokens-scaled.png\",\"alt\":\"API token under Settings u2192 Manage API tokens\",\"link\":\"https:\/\/ptc.wpml.org\/?attachment_id=17352\",\"caption\":\"API token under Settings u2192 Manage API tokens\"}],\"mediaIDs\":[17350,17351,17352],\"feedLayout\":\"masonry\",\"galleryImageSize\":\"full\",\"imageClickEvent\":\"lightbox\",\"captionVisibility\":\"always\",\"captionDisplayType\":\"bar-outside\",\"imageCaptionAlignment\":\"bottom center\",\"imageCaptionAlignment01\":\"bottom\",\"columnsDesk\":2,\"columnsTab\":1,\"columnsMob\":1,\"imageBorderTopWidth\":1,\"imageBorderLeftWidth\":1,\"imageBorderRightWidth\":1,\"imageBorderBottomWidth\":1,\"imageBorderTopLeftRadius\":20,\"imageBorderTopRightRadius\":20,\"imageBorderBottomLeftRadius\":20,\"imageBorderBottomRightRadius\":20,\"imageBorderColor\":\"rgba(206,191,227,0.18)\",\"wpmlTranslatedContent\":\"1\",\"tileSize\":0,\"focusList\":[],\"focusListObject\":[],\"imageDisplayCaption\":true,\"galleryImageSizeTablet\":\"large\",\"galleryImageSizeMobile\":\"medium\",\"disableLazyLoad\":false,\"lightboxDisplayCaptions\":false,\"lightboxThumbnails\":false,\"lightboxDisplayCount\":false,\"lightboxCloseIcon\":\"xmark\",\"lightboxCaptionHeight\":50,\"lightboxCaptionHeightTablet\":\"\",\"lightboxCaptionHeightMobile\":\"\",\"lightboxIconSize\":24,\"lightboxIconSizeTablet\":\"\",\"lightboxIconSizeMobile\":\"\",\"imageCaptionAlignment02\":\"center\",\"imageDefaultCaption\":\"No Caption\",\"captionPaddingTop\":8,\"captionPaddingRight\":8,\"captionPaddingBottom\":8,\"captionPaddingLeft\":8,\"captionPaddingTopTab\":8,\"captionPaddingRightTab\":8,\"captionPaddingBottomTab\":8,\"captionPaddingLeftTab\":8,\"captionPaddingTopMob\":8,\"captionPaddingRightMob\":8,\"captionPaddingBottomMob\":8,\"captionPaddingLeftMob\":8,\"captionPaddingUnit\":\"px\",\"captionPaddingUnitTab\":\"px\",\"captionPaddingUnitMob\":\"px\",\"captionPaddingUnitLink\":true,\"captionGap\":0,\"captionGapUnit\":\"px\",\"gridImageGap\":8,\"gridImageGapTab\":\"\",\"gridImageGapMob\":\"\",\"gridImageGapUnit\":\"px\",\"gridImageGapUnitTab\":\"px\",\"gridImageGapUnitMob\":\"px\",\"feedMarginTop\":\"\",\"feedMarginRight\":\"\",\"feedMarginBottom\":\"\",\"feedMarginLeft\":\"\",\"feedMarginTopTab\":\"\",\"feedMarginRightTab\":\"\",\"feedMarginBottomTab\":\"\",\"feedMarginLeftTab\":\"\",\"feedMarginTopMob\":\"\",\"feedMarginRightMob\":\"\",\"feedMarginBottomMob\":\"\",\"feedMarginLeftMob\":\"\",\"feedMarginUnit\":\"px\",\"feedMarginUnitTab\":\"px\",\"feedMarginUnitMob\":\"px\",\"feedMarginUnitLink\":true,\"carouselStartAt\":0,\"carouselSquares\":false,\"carouselLoop\":true,\"carouselAutoplay\":true,\"carouselAutoplaySpeed\":2000,\"carouselPauseOnHover\":true,\"carouselTransitionSpeed\":500,\"gridPages\":1,\"gridPageNumber\":1,\"feedPagination\":false,\"paginateUseArrows\":true,\"paginateUseDots\":true,\"paginateUseLoader\":true,\"paginateLimit\":9,\"paginateButtonAlign\":\"center\",\"paginateButtonText\":\"Load More Images\",\"paginateButtonPaddingTop\":\"\",\"paginateButtonPaddingRight\":\"\",\"paginateButtonPaddingBottom\":\"\",\"paginateButtonPaddingLeft\":\"\",\"paginateButtonPaddingTopTab\":\"\",\"paginateButtonPaddingRightTab\":\"\",\"paginateButtonPaddingBottomTab\":\"\",\"paginateButtonPaddingLeftTab\":\"\",\"paginateButtonPaddingTopMob\":\"\",\"paginateButtonPaddingRightMob\":\"\",\"paginateButtonPaddingBottomMob\":\"\",\"paginateButtonPaddingLeftMob\":\"\",\"paginateButtonPaddingUnit\":\"px\",\"paginateButtonPaddingUnitTab\":\"px\",\"paginateButtonPaddingUnitMob\":\"px\",\"paginateButtonPaddingUnitLink\":true,\"imageEnableZoom\":true,\"imageZoomType\":\"zoom-in\",\"captionBackgroundEnableBlur\":false,\"captionBackgroundBlurAmount\":0,\"captionBackgroundBlurAmountHover\":5,\"lightboxEdgeDistance\":10,\"lightboxEdgeDistanceTablet\":\"\",\"lightboxEdgeDistanceMobile\":\"\",\"lightboxBackgroundEnableBlur\":true,\"lightboxBackgroundBlurAmount\":5,\"lightboxBackgroundColor\":\"rgba(0,0,0,0.75)\",\"lightboxIconColor\":\"rgba(255,255,255,1)\",\"lightboxCaptionColor\":\"rgba(255,255,255,1)\",\"lightboxCaptionBackgroundColor\":\"rgba(0,0,0,1)\",\"captionLoadGoogleFonts\":false,\"captionFontFamily\":\"Default\",\"captionFontWeight\":\"\",\"captionFontStyle\":\"normal\",\"captionTransform\":\"\",\"captionDecoration\":\"none\",\"captionFontSizeType\":\"px\",\"captionFontSize\":\"\",\"captionFontSizeTab\":\"\",\"captionFontSizeMob\":\"\",\"captionLineHeightType\":\"em\",\"captionLineHeight\":\"\",\"captionLineHeightTab\":\"\",\"captionLineHeightMob\":\"\",\"loadMoreLoadGoogleFonts\":false,\"loadMoreFontFamily\":\"Default\",\"loadMoreFontWeight\":\"\",\"loadMoreFontStyle\":\"normal\",\"loadMoreTransform\":\"\",\"loadMoreDecoration\":\"none\",\"loadMoreFontSizeType\":\"px\",\"loadMoreFontSize\":\"\",\"loadMoreFontSizeTab\":\"\",\"loadMoreFontSizeMob\":\"\",\"loadMoreLineHeightType\":\"em\",\"loadMoreLineHeight\":\"\",\"loadMoreLineHeightTab\":\"\",\"loadMoreLineHeightMob\":\"\",\"lightboxLoadGoogleFonts\":false,\"lightboxFontFamily\":\"Default\",\"lightboxFontWeight\":\"\",\"lightboxFontStyle\":\"normal\",\"lightboxTransform\":\"\",\"lightboxDecoration\":\"none\",\"lightboxFontSizeType\":\"px\",\"lightboxFontSize\":\"\",\"lightboxFontSizeTab\":\"\",\"lightboxFontSizeMob\":\"\",\"lightboxLineHeightType\":\"em\",\"lightboxLineHeight\":\"\",\"lightboxLineHeightTab\":\"\",\"lightboxLineHeightMob\":\"\",\"captionBackgroundEffect\":\"none\",\"captionBackgroundEffectHover\":\"none\",\"captionBackgroundEffectAmount\":100,\"captionBackgroundEffectAmountHover\":0,\"captionColor\":\"rgba(255,255,255,1)\",\"captionColorHover\":\"rgba(255,255,255,1)\",\"captionBackgroundColor\":\"rgba(0,0,0,0.75)\",\"captionBackgroundColorHover\":\"rgba(0,0,0,0.75)\",\"overlayColor\":\"rgba(0,0,0,0)\",\"overlayColorHover\":\"rgba(0,0,0,0)\",\"captionSeparateColors\":false,\"paginateArrowDistance\":-24,\"paginateArrowDistanceUnit\":\"px\",\"paginateArrowSize\":24,\"paginateDotDistance\":8,\"paginateDotDistanceUnit\":\"px\",\"paginateLoaderSize\":18,\"paginateButtonTextColor\":\"\",\"paginateButtonTextColorHover\":\"\",\"paginateColor\":\"\",\"paginateColorHover\":\"\",\"imageBoxShadowColor\":\"\",\"imageBoxShadowHOffset\":0,\"imageBoxShadowVOffset\":0,\"imageBoxShadowBlur\":\"\",\"imageBoxShadowSpread\":\"\",\"imageBoxShadowPosition\":\"outset\",\"imageBoxShadowColorHover\":\"\",\"imageBoxShadowHOffsetHover\":0,\"imageBoxShadowVOffsetHover\":0,\"imageBoxShadowBlurHover\":\"\",\"imageBoxShadowSpreadHover\":\"\",\"imageBoxShadowPositionHover\":\"outset\",\"arrowBorderTopWidth\":4,\"arrowBorderLeftWidth\":4,\"arrowBorderRightWidth\":4,\"arrowBorderBottomWidth\":4,\"arrowBorderTopLeftRadius\":50,\"arrowBorderTopRightRadius\":50,\"arrowBorderBottomLeftRadius\":50,\"arrowBorderBottomRightRadius\":50,\"arrowBorderRadiusUnit\":\"px\",\"arrowBorderTopWidthTablet\":\"\",\"arrowBorderLeftWidthTablet\":\"\",\"arrowBorderRightWidthTablet\":\"\",\"arrowBorderBottomWidthTablet\":\"\",\"arrowBorderTopLeftRadiusTablet\":\"\",\"arrowBorderTopRightRadiusTablet\":\"\",\"arrowBorderBottomLeftRadiusTablet\":\"\",\"arrowBorderBottomRightRadiusTablet\":\"\",\"arrowBorderRadiusUnitTablet\":\"px\",\"arrowBorderTopWidthMobile\":\"\",\"arrowBorderLeftWidthMobile\":\"\",\"arrowBorderRightWidthMobile\":\"\",\"arrowBorderBottomWidthMobile\":\"\",\"arrowBorderTopLeftRadiusMobile\":\"\",\"arrowBorderTopRightRadiusMobile\":\"\",\"arrowBorderBottomLeftRadiusMobile\":\"\",\"arrowBorderBottomRightRadiusMobile\":\"\",\"arrowBorderRadiusUnitMobile\":\"px\",\"arrowBorderStyle\":\"none\",\"arrowBorderColor\":\"\",\"arrowBorderHColor\":\"\",\"btnBorderTopWidth\":\"\",\"btnBorderLeftWidth\":\"\",\"btnBorderRightWidth\":\"\",\"btnBorderBottomWidth\":\"\",\"btnBorderTopLeftRadius\":\"\",\"btnBorderTopRightRadius\":\"\",\"btnBorderBottomLeftRadius\":\"\",\"btnBorderBottomRightRadius\":\"\",\"btnBorderRadiusUnit\":\"px\",\"btnBorderTopWidthTablet\":\"\",\"btnBorderLeftWidthTablet\":\"\",\"btnBorderRightWidthTablet\":\"\",\"btnBorderBottomWidthTablet\":\"\",\"btnBorderTopLeftRadiusTablet\":\"\",\"btnBorderTopRightRadiusTablet\":\"\",\"btnBorderBottomLeftRadiusTablet\":\"\",\"btnBorderBottomRightRadiusTablet\":\"\",\"btnBorderRadiusUnitTablet\":\"px\",\"btnBorderTopWidthMobile\":\"\",\"btnBorderLeftWidthMobile\":\"\",\"btnBorderRightWidthMobile\":\"\",\"btnBorderBottomWidthMobile\":\"\",\"btnBorderTopLeftRadiusMobile\":\"\",\"btnBorderTopRightRadiusMobile\":\"\",\"btnBorderBottomLeftRadiusMobile\":\"\",\"btnBorderBottomRightRadiusMobile\":\"\",\"btnBorderRadiusUnitMobile\":\"px\",\"btnBorderStyle\":\"\",\"btnBorderColor\":\"\",\"btnBorderHColor\":\"\",\"imageBorderRadiusUnit\":\"px\",\"imageBorderTopWidthTablet\":\"\",\"imageBorderLeftWidthTablet\":\"\",\"imageBorderRightWidthTablet\":\"\",\"imageBorderBottomWidthTablet\":\"\",\"imageBorderTopLeftRadiusTablet\":\"\",\"imageBorderTopRightRadiusTablet\":\"\",\"imageBorderBottomLeftRadiusTablet\":\"\",\"imageBorderBottomRightRadiusTablet\":\"\",\"imageBorderRadiusUnitTablet\":\"px\",\"imageBorderTopWidthMobile\":\"\",\"imageBorderLeftWidthMobile\":\"\",\"imageBorderRightWidthMobile\":\"\",\"imageBorderBottomWidthMobile\":\"\",\"imageBorderTopLeftRadiusMobile\":\"\",\"imageBorderTopRightRadiusMobile\":\"\",\"imageBorderBottomLeftRadiusMobile\":\"\",\"imageBorderBottomRightRadiusMobile\":\"\",\"imageBorderRadiusUnitMobile\":\"px\",\"imageBorderStyle\":\"\",\"imageBorderHColor\":\"\",\"mainTitleBorderTopWidth\":2,\"mainTitleBorderLeftWidth\":0,\"mainTitleBorderRightWidth\":0,\"mainTitleBorderBottomWidth\":2,\"mainTitleBorderTopLeftRadius\":\"\",\"mainTitleBorderTopRightRadius\":\"\",\"mainTitleBorderBottomLeftRadius\":\"\",\"mainTitleBorderBottomRightRadius\":\"\",\"mainTitleBorderRadiusUnit\":\"px\",\"mainTitleBorderTopWidthTablet\":\"\",\"mainTitleBorderLeftWidthTablet\":\"\",\"mainTitleBorderRightWidthTablet\":\"\",\"mainTitleBorderBottomWidthTablet\":\"\",\"mainTitleBorderTopLeftRadiusTablet\":\"\",\"mainTitleBorderTopRightRadiusTablet\":\"\",\"mainTitleBorderBottomLeftRadiusTablet\":\"\",\"mainTitleBorderBottomRightRadiusTablet\":\"\",\"mainTitleBorderRadiusUnitTablet\":\"px\",\"mainTitleBorderTopWidthMobile\":\"\",\"mainTitleBorderLeftWidthMobile\":\"\",\"mainTitleBorderRightWidthMobile\":\"\",\"mainTitleBorderBottomWidthMobile\":\"\",\"mainTitleBorderTopLeftRadiusMobile\":\"\",\"mainTitleBorderTopRightRadiusMobile\":\"\",\"mainTitleBorderBottomLeftRadiusMobile\":\"\",\"mainTitleBorderBottomRightRadiusMobile\":\"\",\"mainTitleBorderRadiusUnitMobile\":\"px\",\"mainTitleBorderStyle\":\"\",\"mainTitleBorderColor\":\"\",\"mainTitleBorderHColor\":\"\"}, thumbnailSwiper );\n\t\t\t\t\t\t\t\tconst regexCustomURL = new RegExp( '^((http|https):\/\/)(www.)?[a-zA-Z0-9@:%._\\+~#?&\/\/=\\-]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&\/\/=]*)$' );\n\t\t\tconst customLinks = {};\n\t\t\tconst customLinksBehaviour = {};\n\n\t\t\tconst getCustomURL = ( caption ) => {\n\t\t\t\tif ( ! customLinks ) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\tconst imageID = parseInt( caption.getAttribute( 'data-spectra-gallery-image-id' ) );\n\t\t\t\treturn ( regexCustomURL.test( customLinks[ imageID ] ) ? customLinks[ imageID ] : undefined );\n\t\t\t}\n\n\t\t\tconst getCustomLinkBehaviour = (caption) => {\n\t\t\t\tif (!customLinksBehaviour) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tconst imageId = parseInt(caption.getAttribute('data-spectra-gallery-image-id'));\n\t\t\t\treturn !(customLinksBehaviour[imageId] === true);\n\t\t\t};\n\n\t\t\tconst captions = lightboxSwiper.el.querySelectorAll( '.spectra-image-gallery__control-lightbox--caption' );\n\t\t\tfor ( let i = 0; i < captions.length; i++ ) {\n\t\t\t\tconst customURL = getCustomURL( captions[ i ] );\n\t\t\t\tif ( customURL ) {\n\t\t\t\t\tconst anchor = document.createElement( 'a' );\n\t\t\t\t\tanchor.target = getCustomLinkBehaviour( captions[ i ] ) ? '_blank' : '_self';\n\t\t\t\t\tanchor.rel = 'noopener noreferrer';\n\t\t\t\t\tanchor.href = customURL;\n\t\t\t\t\tanchor.innerHTML = captions[ i ].innerHTML;\n\t\t\t\t\tcaptions[ i ].textContent = '';\n\t\t\t\t\tcaptions[ i ].appendChild( anchor );\n\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\tjQuery(document).ready(function(){if(window.matchMedia&&window.matchMedia(\"(hover:none)\").matches){jQuery(\".wp-block-uagb-image-gallery.uagb-block-39ff3b72\").addClass(\"spectra-touch-device\");}});window.addEventListener( 'load', function() {\n\tUAGBButtonChild.init( '.uagb-block-bdaafad6' );\n});\n });\";s:18:\"current_block_list\";a:17:{i:0;s:14:\"uagb\/container\";i:2;s:14:\"core\/paragraph\";i:3;s:9:\"core\/list\";i:4;s:14:\"core\/list-item\";i:5;s:11:\"core\/spacer\";i:7;s:12:\"core\/heading\";i:8;s:12:\"uagb\/buttons\";i:9;s:18:\"uagb\/buttons-child\";i:10;s:18:\"uagb\/image-gallery\";i:13;s:21:\"uagb\/advanced-heading\";i:14;s:27:\"kevinbatdorf\/code-block-pro\";i:15;s:11:\"core\/search\";i:16;s:10:\"core\/group\";i:17;s:17:\"core\/latest-posts\";i:18;s:20:\"core\/latest-comments\";i:19;s:13:\"core\/archives\";i:20;s:15:\"core\/categories\";}s:8:\"uag_flag\";b:1;s:11:\"uag_version\";i:1777360338;s:6:\"gfonts\";a:0:{}s:10:\"gfonts_url\";s:0:\"\";s:12:\"gfonts_files\";a:0:{}s:14:\"uag_faq_layout\";b:0;}"]},"uagb_featured_image_src":[],"uagb_author_info":{"display_name":"Kathy Banach","author_link":"https:\/\/ptc.wpml.org\/it\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Scopri come usare l&#8217;API PTC per tradurre contenuti dinamici nella tua applicazione Ruby on Rails (RoR). Questo include post di blog, informazioni sui prodotti e qualsiasi testo memorizzato nel tuo database. Di seguito, ti guideremo attraverso il processo di traduzione dei contenuti dinamici nelle applicazioni Rails in due parti: Prima di iniziare Questa guida presuppone&hellip;","_links":{"self":[{"href":"https:\/\/ptc.wpml.org\/it\/wp-json\/wp\/v2\/documentation\/17353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ptc.wpml.org\/it\/wp-json\/wp\/v2\/documentation"}],"about":[{"href":"https:\/\/ptc.wpml.org\/it\/wp-json\/wp\/v2\/types\/documentation"}],"wp:attachment":[{"href":"https:\/\/ptc.wpml.org\/it\/wp-json\/wp\/v2\/media?parent=17353"}],"wp:term":[{"taxonomy":"resources","embeddable":true,"href":"https:\/\/ptc.wpml.org\/it\/wp-json\/wp\/v2\/resources?post=17353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}