Plugin Directory

Changeset 3414503


Ignore:
Timestamp:
12/08/2025 03:42:39 PM (4 months ago)
Author:
jonkastonka
Message:

Delete old png files. Function for deleting consents.

Location:
cookies-and-content-security-policy/trunk
Files:
2 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • cookies-and-content-security-policy/trunk/cookies-and-content-security-policy.php

    r3389380 r3414503  
    55* Description: Block cookies and unwanted external content by setting Content Security Policy. A modal will be shown on the front end to let the visitor choose what kind of resources to accept.
    66* Short Description: Be fully GDPR and CCPA compliant through Content Security Policy. Blocks cookies and unwanted external content.
    7 * Version: 2.33
     7* Version: 2.34
    88* Author: Jonk @ Follow me Darling
    99* Author URI: https://plugins.followmedarling.se/
  • cookies-and-content-security-policy/trunk/inc/settings-cacsp-tab-consent.php

    r3201976 r3414503  
    44*/
    55
    6 if( ! class_exists( 'WP_List_Table' ) ) {
    7     require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
     6if (! class_exists('WP_List_Table')) {
     7    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
    88}
    9 // var_dump(get_current_screen());
    10 class Cacsp_Consent_Table extends WP_List_Table {
     9
     10class Cacsp_Consent_Table extends WP_List_Table
     11{
     12
     13    /**
     14     * Table data.
     15     *
     16     * @var array
     17     */
     18    private $table_data = array();
     19
     20    public function __construct()
     21    {
     22        parent::__construct(
     23            array(
     24                'singular' => 'consent',
     25                'plural'   => 'consents',
     26                'ajax'     => false,
     27            )
     28        );
     29    }
    1130
    1231    // Define table columns
    13     function get_columns() {
     32    function get_columns()
     33    {
    1434        $columns = array(
    15             // 'cb'                => '<input type="checkbox" />', // column_cb table header
    16             'id'                => __('id', 'cookies-and-content-security-policy'),
    17             'time'              => __('time', 'cookies-and-content-security-policy'),
    18             'ip'                => __('ip', 'cookies-and-content-security-policy'),
    19             'accepted_cookies'  => __('accepted_cookies', 'cookies-and-content-security-policy'),
    20             'expires'           => __('expires', 'cookies-and-content-security-policy'),
    21             'site'              => __('site', 'cookies-and-content-security-policy'),
     35            'cb'               => '<input type="checkbox" />', // checkbox column for bulk actions
     36            'id'               => __('id', 'cookies-and-content-security-policy'),
     37            'time'             => __('time', 'cookies-and-content-security-policy'),
     38            'ip'               => __('ip', 'cookies-and-content-security-policy'),
     39            'accepted_cookies' => __('accepted_cookies', 'cookies-and-content-security-policy'),
     40            'expires'          => __('expires', 'cookies-and-content-security-policy'),
     41            'site'             => __('site', 'cookies-and-content-security-policy'),
    2242        );
    2343        return $columns;
    2444    }
    2545
     46    /**
     47     * Sortable columns.
     48     */
     49    protected function get_sortable_columns()
     50    {
     51        $sortable_columns = array(
     52            'id'               => array('id', true),
     53            'time'             => array('time', true),
     54            'ip'               => array('ip', true),
     55            'accepted_cookies' => array('accepted_cookies', false),
     56            'expires'          => array('expires', true),
     57            'site'             => array('site', true),
     58        );
     59        return $sortable_columns;
     60    }
     61
     62    /**
     63     * Bulk actions.
     64     */
     65    public function get_bulk_actions()
     66    {
     67        return array(
     68            'bulk-delete' => __('Delete selected', 'cookies-and-content-security-policy'),
     69        );
     70    }
     71
    2672    // Bind table with columns, data and all
    27     function prepare_items() {
    28         //data
    29         if ( isset($_POST['s']) ) {
    30             $this->table_data = $this->get_table_data($_POST['s']);
     73    function prepare_items()
     74    {
     75
     76        // Handle row delete + bulk delete first.
     77        $this->process_bulk_action();
     78
     79        // Data
     80        if (isset($_POST['s'])) {
     81            $search           = sanitize_text_field(wp_unslash($_POST['s']));
     82            $this->table_data = $this->get_table_data($search);
    3183        } else {
    3284            $this->table_data = $this->get_table_data();
     
    3486
    3587        $columns = $this->get_columns();
    36         //$hidden = array();
    37         $hidden = ( is_array(get_user_meta( get_current_user_id(), 'managetoplevel_page_supporthost_list_tablecolumnshidden', true)) ) ? get_user_meta( get_current_user_id(), 'managetoplevel_page_supporthost_list_tablecolumnshidden', true) : array();
    38         //$sortable = array();
     88
     89        // Hidden columns (kept from your original code)
     90        $hidden = get_user_meta(
     91            get_current_user_id(),
     92            'managetoplevel_page_supporthost_list_tablecolumnshidden',
     93            true
     94        );
     95        $hidden = is_array($hidden) ? $hidden : array();
     96
    3997        $sortable = $this->get_sortable_columns();
    4098        $primary  = 'id';
     99
    41100        $this->_column_headers = array($columns, $hidden, $sortable, $primary);
    42        
    43         usort($this->table_data, array(&$this, 'usort_reorder'));
     101
     102        usort($this->table_data, array($this, 'usort_reorder'));
    44103
    45104        /* pagination */
    46         $per_page = $this->get_items_per_page('elements_per_page', 10);
     105        $per_page     = $this->get_items_per_page('elements_per_page', 10);
    47106        $current_page = $this->get_pagenum();
    48         $total_items = count($this->table_data);
    49 
    50         $this->table_data = array_slice($this->table_data, (($current_page - 1) * $per_page), $per_page);
    51 
    52         $this->set_pagination_args(array(
    53             'total_items' => $total_items, // total number of items
    54             'per_page'    => $per_page, // items to show on a page
    55             'total_pages' => ceil( $total_items / $per_page ) // use ceil to round up
    56         ));
    57        
     107        $total_items  = count($this->table_data);
     108
     109        $this->table_data = array_slice(
     110            $this->table_data,
     111            (($current_page - 1) * $per_page),
     112            $per_page
     113        );
     114
     115        $this->set_pagination_args(
     116            array(
     117                'total_items' => $total_items,
     118                'per_page'    => $per_page,
     119                'total_pages' => ceil($total_items / $per_page),
     120            )
     121        );
     122
    58123        $this->items = $this->table_data;
    59124    }
    60125
    61126    // Get table data
    62     private function get_table_data( $search = '' ) {
     127    private function get_table_data($search = '')
     128    {
    63129        global $wpdb;
    64130
    65131        $table = $wpdb->prefix . 'cacsp_consent';
    66132
    67         if ( !empty($search) ) {
     133        if (! empty($search)) {
     134            $like = '%' . $wpdb->esc_like($search) . '%';
     135
    68136            return $wpdb->get_results(
    69                 "SELECT * from {$table} WHERE ip Like '%{$search}%' OR accepted_cookies Like '%{$search}%' OR expires Like '%{$search}%' OR time Like '%{$search}%'",
     137                $wpdb->prepare(
     138                    "SELECT * FROM {$table}
     139                     WHERE ip LIKE %s
     140                        OR accepted_cookies LIKE %s
     141                        OR expires LIKE %s
     142                        OR time LIKE %s
     143                        OR site LIKE %s",
     144                    $like,
     145                    $like,
     146                    $like,
     147                    $like,
     148                    $like
     149                ),
    70150                ARRAY_A
    71151            );
    72152        } else {
    73153            return $wpdb->get_results(
    74                 "SELECT * from {$table}",
     154                "SELECT * FROM {$table}",
    75155                ARRAY_A
    76156            );
     
    78158    }
    79159
    80     // define $table_data property
    81     private $table_data;
    82 
    83     function column_default($item, $column_name) {
    84           switch ($column_name) {
    85                 case 'id':
    86                 case 'time':
    87                 case 'ip':
    88                 case 'accepted_cookies':
    89                 case 'expires':
    90                 case 'site':
    91                 default:
    92                     return $item[$column_name];
    93           }
    94     }
    95 
    96     /*
    97     function column_cb($item) {
     160    function column_default($item, $column_name)
     161    {
     162        switch ($column_name) {
     163            case 'id':
     164            case 'time':
     165            case 'ip':
     166            case 'accepted_cookies':
     167            case 'expires':
     168            case 'site':
     169            default:
     170                return isset($item[$column_name]) ? esc_html($item[$column_name]) : '';
     171        }
     172    }
     173
     174    /**
     175     * Checkbox column (for bulk delete).
     176     */
     177    function column_cb($item)
     178    {
    98179        return sprintf(
    99                 '<input type="checkbox" name="element[]" value="%s" />',
    100                 $item['id']
    101         );
    102     }
    103     */
    104 
    105     protected function get_sortable_columns() {
    106         $sortable_columns = array(
    107             'id'          => array('id', true),
    108             'time'         => array('time', true),
    109             'ip'   => array('ip', true),
    110             'accepted_cookies'        => array('accepted_cookies', false),
    111             'expires'        => array('expires', true),
    112             'site'        => array('site', true),
    113         );
    114         return $sortable_columns;
     180            '<input type="checkbox" name="consent_ids[]" value="%d" />',
     181            absint($item['id'])
     182        );
     183    }
     184
     185    /**
     186     * ID column with row actions (single delete link).
     187     */
     188    function column_id($item)
     189    {
     190        $id = absint($item['id']);
     191
     192        $delete_nonce = wp_create_nonce('cacsp_delete_consent_' . $id);
     193
     194        $page = isset($_REQUEST['page'])
     195            ? sanitize_text_field(wp_unslash($_REQUEST['page']))
     196            : 'cacsp_settings';
     197
     198        $title = '<strong>' . $id . '</strong>';
     199
     200        return $title;
    115201    }
    116202
    117203    // Sorting function
    118     function usort_reorder($a, $b) {
    119         // If no sort, default to user_login
    120         $orderby = (!empty($_GET['orderby'])) ? $_GET['orderby'] : 'id';
    121 
    122         // If no order, default to asc
    123         $order = (!empty($_GET['order'])) ? $_GET['order'] : 'desc';
    124 
    125         // Determine sort order
    126         $result = strcmp($a[$orderby], $b[$orderby]);
    127 
    128         // Send final sort direction to usort
    129         return ($order === 'asc') ? $result : -$result;
    130     }
    131 
     204    function usort_reorder($a, $b)
     205    {
     206        // If no sort, default to id
     207        $orderby = (! empty($_GET['orderby']))
     208            ? sanitize_text_field(wp_unslash($_GET['orderby']))
     209            : 'id';
     210
     211        // If no order, default to desc
     212        $order = (! empty($_GET['order']))
     213            ? sanitize_text_field(wp_unslash($_GET['order']))
     214            : 'desc';
     215
     216        $val_a = isset($a[$orderby]) ? $a[$orderby] : '';
     217        $val_b = isset($b[$orderby]) ? $b[$orderby] : '';
     218
     219        $result = strcmp($val_a, $val_b);
     220
     221        // final sort direction
     222        return ('asc' === $order) ? $result : -$result;
     223    }
     224
     225    /**
     226     * Override table nav to inject our date-range delete form
     227     */
     228    protected function display_tablenav($which)
     229    {
     230?>
     231        <div class="tablenav <?php echo esc_attr($which); ?>">
     232
     233            <div class="alignleft actions bulkactions">
     234                <?php $this->bulk_actions($which); ?>
     235
     236                <?php if ($which === 'top') : ?>
     237                    <!-- Our custom date range delete form -->
     238                    <form method="post" style="display:inline-block; margin-left:1em;">
     239                        <?php wp_nonce_field('cacsp_delete_by_date', 'cacsp_delete_by_date_nonce'); ?>
     240
     241                        <label for="from_date" style="margin-right:4px;">
     242                            <?php esc_html_e('From', 'cookies-and-content-security-policy'); ?>
     243                        </label>
     244                        <input type="date" name="from_date" id="from_date" style="width:150px;" />
     245
     246                        <label for="to_date" style="margin:0 4px 0 1em;">
     247                            <?php esc_html_e('To', 'cookies-and-content-security-policy'); ?>
     248                        </label>
     249                        <input type="date" name="to_date" id="to_date" style="width:150px;" />
     250
     251                        <button type="submit"
     252                            name="cacsp_delete_by_date"
     253                            class="button action"
     254                            style="margin-left:1em;">
     255                            <?php esc_html_e('Delete range', 'cookies-and-content-security-policy'); ?>
     256                        </button>
     257                    </form>
     258                <?php endif; ?>
     259            </div>
     260
     261            <?php $this->extra_tablenav($which); ?>
     262            <?php $this->pagination($which); ?>
     263
     264            <br class="clear" />
     265        </div>
     266    <?php
     267    }
     268
     269    /**
     270     * Handle single-row delete and bulk delete.
     271     */
     272    public function process_bulk_action()
     273    {
     274        if (! current_user_can('manage_options')) {
     275            return;
     276        }
     277
     278        global $wpdb;
     279        $table = $wpdb->prefix . 'cacsp_consent';
     280
     281        // Single-row delete via row action
     282        if ('delete' === $this->current_action() && ! empty($_GET['consent_id'])) {
     283            $consent_id  = absint($_GET['consent_id']);
     284            $nonce_field = isset($_GET['_wpnonce']) ? sanitize_text_field(wp_unslash($_GET['_wpnonce'])) : '';
     285
     286            if (! wp_verify_nonce($nonce_field, 'cacsp_delete_consent_' . $consent_id)) {
     287                wp_die(esc_html__('Security check failed.', 'cookies-and-content-security-policy'));
     288            }
     289
     290            $wpdb->delete($table, array('id' => $consent_id), array('%d'));
     291
     292            $page = isset($_REQUEST['page'])
     293                ? sanitize_text_field(wp_unslash($_REQUEST['page']))
     294                : 'cacsp_settings';
     295
     296            wp_safe_redirect(
     297                add_query_arg(
     298                    array(
     299                        'page'       => $page,
     300                        'deleted'    => 1,
     301                        'deleted_id' => $consent_id,
     302                    ),
     303                    admin_url('admin.php')
     304                )
     305            );
     306            exit;
     307        }
     308
     309        // Bulk delete
     310        if (
     311            (isset($_POST['action']) && 'bulk-delete' === $_POST['action']) ||
     312            (isset($_POST['action2']) && 'bulk-delete' === $_POST['action2'])
     313        ) {
     314            // Use our explicit nonce instead of WP_List_Table's implicit one
     315            check_admin_referer('cacsp_bulk_delete', 'cacsp_bulk_nonce');
     316
     317            $ids = isset($_POST['consent_ids']) ? (array) $_POST['consent_ids'] : array();
     318            $ids = array_map('absint', $ids);
     319            $ids = array_filter($ids);
     320
     321            if (! empty($ids)) {
     322                foreach ($ids as $id) {
     323                    $wpdb->delete($table, array('id' => $id), array('%d'));
     324                }
     325            }
     326        }
     327    }
    132328}
    133329
    134 function cacsp_consent_init() {
     330/**
     331 * Page callback.
     332 */
     333function cacsp_consent_init()
     334{
     335    if (! current_user_can('manage_options')) {
     336        return;
     337    }
     338
     339    global $wpdb;
     340
     341    // Handle delete by date span BEFORE preparing items.
     342    if (isset($_POST['cacsp_delete_by_date'])) {
     343        check_admin_referer('cacsp_delete_by_date', 'cacsp_delete_by_date_nonce');
     344
     345        $from = isset($_POST['from_date']) ? sanitize_text_field(wp_unslash($_POST['from_date'])) : '';
     346        $to   = isset($_POST['to_date']) ? sanitize_text_field(wp_unslash($_POST['to_date'])) : '';
     347
     348        if ($from && $to) {
     349            $table_name = $wpdb->prefix . 'cacsp_consent';
     350
     351            // Assume "time" is DATETIME in MySQL. Use full day boundaries.
     352            $from_datetime = $from . ' 00:00:00';
     353            $to_datetime   = $to . ' 23:59:59';
     354
     355            $wpdb->query(
     356                $wpdb->prepare(
     357                    "DELETE FROM {$table_name} WHERE time >= %s AND time <= %s",
     358                    $from_datetime,
     359                    $to_datetime
     360                )
     361            );
     362        }
     363    }
     364
    135365    $table = new Cacsp_Consent_Table();
    136     // var_dump(get_current_screen());
     366
    137367    echo '<div class="wrap">';
    138         // Prepare table
     368
     369    echo '<h2>' . esc_html__('Consent', 'cookies-and-content-security-policy') . '</h2  >';
     370
     371    // Date range delete form.
     372    ?>
     373
     374    <?php
     375
     376    // Main table form (search + bulk actions + table).
     377    ?>
     378    <form method="post">
     379        <input type="hidden" name="page" value="<?php echo isset($_REQUEST['page']) ? esc_attr(wp_unslash($_REQUEST['page'])) : 'cacsp_settings'; ?>" />
     380        <?php
     381        wp_nonce_field('cacsp_bulk_delete', 'cacsp_bulk_nonce');
    139382        $table->prepare_items();
    140         // Search form
    141383        $table->search_box('search', 'search_id');
    142         // Display table
    143384        $table->display();
     385        ?>
     386    </form>
     387    <?php
     388
    144389    echo '</div>';
     390    ?><script>
     391        document.addEventListener("DOMContentLoaded", function() {
     392            const from = document.getElementById("from_date");
     393            const to = document.getElementById("to_date");
     394
     395            if (from && to) {
     396                from.addEventListener("change", function() {
     397                    to.min = from.value; // disallow any earlier dates
     398                });
     399
     400                to.addEventListener("change", function() {
     401                    if (to.value < from.value) {
     402                        to.value = from.value; // auto-correct invalid range
     403                    }
     404                });
     405            }
     406        });
     407    </script>
     408<?php
    145409}
    146410
    147 // Register the custom bulk action
    148 /*
    149 add_filter( 'bulk_actions-settings_page_cacsp_settings', 'register_cacsp_consent_bulk_actions' );
    150 function register_cacsp_consent_bulk_actions($bulk_actions) {
    151     $bulk_actions['delete_selected'] = __( 'Delete selected!', 'cookies-and-content-security-policy');
    152     return $bulk_actions;
    153 }
    154 */
    155 
    156 // Handle the custom bulk action
    157 /*
    158 add_filter( 'handle_bulk_actions-settings_page_cacsp_settings', 'cacsp_consent_bulk_action_handler', 10, 3 );
    159 function cacsp_consent_bulk_action_handler( $redirect_to, $doaction, $post_ids ) {
    160     error_log( 'Action: ' . $doaction );
    161     error_log( 'Post IDs: ' . print_r( $post_ids, true ) );
    162 
    163     if ( $doaction == 'delete_selected' && !empty( $post_ids ) ) {
    164         global $wpdb;
    165         $table_name = $wpdb->prefix . 'cacsp_consent';
    166        
    167         error_log( 'Table Name: ' . $table_name );
    168 
    169         foreach ( $post_ids as $post_id ) {
    170             $result = $wpdb->delete( $table_name, array( 'id' => $post_id ) );
    171             if ( false === $result ) {
    172                 error_log( 'SQL Error: ' . $wpdb->last_error );
    173             } else {
    174                 error_log( 'Deleted Post ID: ' . $post_id );
    175             }
    176         }
    177 
    178         $redirect_to = add_query_arg( 'bulk_deleted', count( $post_ids ), $redirect_to );
    179     }
    180 
    181     return $redirect_to;
    182 }
    183 */
    184 
    185411cacsp_consent_init();
  • cookies-and-content-security-policy/trunk/languages/cookies-and-content-security-policy-sv_SE.l10n.php

    r3372234 r3414503  
    11<?php
    2 return ['po-revision-date'=>'2025-10-03 08:53+0000','mime-version'=>'1.0','content-type'=>'text/plain; charset=UTF-8','content-transfer-encoding'=>'8bit','plural-forms'=>'nplurals=2; plural=n != 1;','x-generator'=>'Loco https://localise.biz/','language'=>'sv_SE','project-id-version'=>'Plugins - Cookies and Content Security Policy - Stable (latest release)','language-team'=>'Swedish','report-msgid-bugs-to'=>'','pot-creation-date'=>'2022-07-25 07:20+0000','last-translator'=>'Testing stuff','x-loco-version'=>'2.6.6; wp-6.4.3','messages'=>['127.0.0.1<br>13.37.841.01'=>'127.0.0.1<br>13.37.841.01','Accept all'=>'Acceptera alla','Accept all button'=>'Acceptera alla-knapp','Accept button border'=>'Färg på ram för acceptera-knapp','Accept button color'=>'Färg på acceptera-knapp','Accept button text'=>'Färg på acceptera-knappens text','accepted_cookies'=>'accepted_cookies','Activate'=>'Aktivera','Activate the plugin to use it.'=>'Aktivera pluginet för att använda det.','Active'=>'Aktivt','Add grandma with milk and cookies.'=>'Lägg till mormor som serverar mjölk och kakor.','Admin'=>'Admin','Advanced settings'=>'Avancerade inställningar','After how many days the accept cookie should expire.'=>'Efter hur många dagar ska accept-cookien upphöra att gälla.','Allow background scripts via Worker'=>'Tillåt att script körs i bakgrunden med Worker','Allow blob.'=>'Tillåt blob.','Allow data.'=>'Tillåt data.','Allow user to access site without saving settings.'=>'Tillåt att besökaren använder siten utan att ha sparat några inställningar.','Always allow'=>'Tillåt alltid','Always allow, description'=>'Tillåt alltid, beskrivning','Always allow, header'=>'Tillåt alltid, rubrik','Always allowed, resources that the visitor can\'t opt out of.'=>'Tillåt alltid, resurser som besökaren inte kan välja bort.','Analytics'=>'Analys','Backdrop'=>'Backdrop','Backgrounds'=>'Bakgrunder','Basic settings'=>'Grundläggande inställningar','Block cookies and unwanted external content by setting Content Security Policy. A modal will be shown on the front end to let the visitor choose what kind of resources to accept.'=>'Blockera cookies och oönskat externt innehåll genom att skapa en Content Security Policy. En modal kommer att visas för besökaren som låter hen bestämma vilka typer av resurser som accepteras.','Buttons'=>'Knappar','By sharing your interests and behavior as you visit our site, you increase the chance of seeing personalized content and offers.'=>'Genom att dela med dig av dina intressen och ditt beteende när du surfar ökar du chansen att få se personligt anpassat innehåll och erbjudanden.','Bypass by IP'=>'Förbigå IP','Bypassing'=>'Förbikoppla','Calendly'=>'Calendly','Choose how to handle domains, texts, settings and colors in you network.'=>'Välj hur du vill hantera domäner, texter, inställningar och färger i ditt nätverk.','Choose what kind of cookies to accept. Your choice will be saved for one year.'=>'Välj vilken typ av kakor du vill acceptera. Ditt val kommer att sparas i ett år.','Choose which external resources the site uses to automatically save them to Domains. These are recommended settings for each resource.'=>'Välj vilka externa resurser som din site använder för att automatiskt spara dem till dina Domäner. Detta är rekommenderade inställningar för respektive resurs.','Close'=>'Stäng','Close button'=>'Stäng-knapp','Colors'=>'Färger','Consent'=>'Samtycke','Contact the administrator'=>'Kontakta administratören','Content not allowed button'=>'Innehållet är inte tillåtet-knapp','Content not allowed text'=>'Innehållet är inte tillåtet-text','Cookie Expire'=>'Cookie löper ut','Cookie policy link text'=>'Cookie policy länk-text','Cookie policy page'=>'Cookie policy-sida','Cookie policy target'=>'Cookie policy länkmål','Cookie policy URL'=>'Cookie policy URL','Cookies'=>'Kakor','Cookies and Content Security Policy'=>'Cookies och Content Security Policy','CRM'=>'CRM','Deactivated'=>'Deaktiverat','Debug.'=>'Debugga.','Default'=>'Standard','Default: 1000'=>'Standard: 1000','Default: 365'=>'Default: 365','Disable content not allowed message.'=>'Avaktivera meddelande för blockerad innehåll.','Disable unsafe-eval.'=>'Inaktivera unsafe-eval.','Disable unsafe-inline.'=>'Inaktivera unsafe-inline.','Disable X-Content-Security-Policy.'=>'Inaktivera X-Content-Security-Policy.','Disabled switch'=>'Avaktiverad switch','Disables the error message that appears when an iframe is blocked.'=>'Tar bort felmeddelandet som dyker upp när en ifram är blockerad.','Disables the use of eval() and similar methods for creating code from strings.'=>'Inaktiverar användningen av eval() och liknande metoder för att skapa kod från strängar.','Disables the use of inline resources, such as inline &lt;script&gt; elements, javascript: URLs, and inline event handlers.'=>'Inaktiverar användningen av inline-resurser, såsom inline &lt;script&gt;-element, javascript:-URLar och inline event handlers.','Divi'=>'Divi','Do not include css, I\'ve got my own style.'=>'Inkluder inte css, jag har min egen stil.','Do not include js, I\'ve got my own script.'=>'Inkludera inte js, jag har mitt eget script.','Do not use a modal, I want a banner.'=>'Använd inte modal, jag vill ha en banner.','Do your settings without disturbing anyone. No modal or Content Security Policy will be used at all.'=>'Gör dina inställningar utan att störa någon. Ingen modal eller Content Security Policy kommer att användas alls.','Domains'=>'Domäner','Donate with PayPal'=>'Donera med PayPal','drop me a line'=>'hör av dig','Enable Google Consent Mode v2'=>'Aktivera Google Consent Mode v2','Enabling this will use the <a href="https://wpengine.com/support/personalization-user-segmentation-page-cache/" target="_blank">User Cache Segmentation</a> to set the cookie, which will allow this plugin to work with WP Engine caching. <strong>Do not enable this setting if you are not on WP Engine.</strong>.'=>'Om du aktiverar detta så används <a href="https://wpengine.com/support/personalization-user-segmentation-page-cache/" target="_blank">User Cache Segmentation</a> för att ställa in cookien, vilket kommer att tillåta denna plugin att fungera med WP Engine-cache. <strong>Aktivera inte den här inställningen om du inte använder WP Engine.</strong>.','Everything'=>'Allt','Everything is individual on all sites'=>'Allt är individuellt på alla siter','Everything is shared from your main site *.'=>'Alla inställningar kommer från din huvudwebbplats *.','Everyting but texts is shared from the main site *.'=>'Alla inställningar förutom texter kommer från din huvudwebbplats *.','Example:'=>'Exempel:','Example: If you don\'t have any domains specified for Marketing, that setting won\'t show for the visitor.'=>'Exempel: Om du inte har några domäner sparade för Marknadsföring, så syns inte den inställningen för användaren.','Example: Some javascript libraries uses blob for images. Divi uses this for scripts in edit mode.'=>'Exempel: Vissa javascript-bibliotek använder blob för bilder. Divi använder detta i redigerings-läget.','Example: Sometimes data is used for loading images and scripts.'=>'Exempel: Ibland används data för att ladda bilder och script.','Experience'=>'Upplevelse','Experience, description'=>'Upplevelse, beskrivning','Experience, header'=>'Upplevelse, rubrik','Experience, resources for displaying external videos etc.'=>'Upplevelse, resurser för att visa externa videos etc.','expires'=>'expires','Facebook Pixel'=>'Facebook Pixel','Fill the forms with domains that should be allowed in each box. The groups are:'=>'Fyll i formulären med domäner som ska vara tillåtna i varje ruta. Grupperna är:','Forms'=>'Formulär','Frames'=>'Frames','Google'=>'Google','Google Ads'=>'Google Ads','Google Ads conversions'=>'Google Ads conversions','Google Ads remarketing'=>'Google Ads remarketing','Google Analytics'=>'Google Analytics','Google Analytics is under "Google"'=>'Google Analytics hittar du under "Google"','Google Docs'=>'Google Docs','Google Maps'=>'Google Maps','Google Optimize'=>'Google Optimize','Google Tag Manager'=>'Google Tag Manager','Google Translate'=>'Google Translate','Grandma mode.'=>'Mormor-mode.','Gravatar'=>'Gravatar','Hide admin email in error messages.'=>'Dölj e-postadress för administration i felmeddelanden.','Hide unused sections in Settings.'=>'Dölj oanvända sektioner under Inställningar.','Hotjar'=>'Hotjar','How many ms (milliseconds) until the cookie modal should appear.'=>'Hur många ms (millisekunder) tills cookiemodalen ska visas.','How to link back to settings'=>'Länka till inställningarna','https://plugins.followmedarling.se/'=>'https://plugins.followmedarling.se/','https://plugins.followmedarling.se/cookies-and-content-security-policy/'=>'https://plugins.followmedarling.se/cookies-and-content-security-policy/','https://wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20polylang%3F'=>'https://sv.wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20polylang%3F','https://wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20wpml%3F'=>'https://sv.wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20wpml%3F','Hubspot'=>'Hubspot','id'=>'id','If i missed some common resource or if some resource is missing any setting for domain'=>'Om jag har missat någon vanlig resurs, eller om någon resurs saknar inställning för domän','If you are using a translation plugin (like Polylang or WPML) only your sites default language can be edited here, translations are edited in your translation plugins string translation area.'=>'Om du använder en översättningsplugin (som Polylang eller WPML) så kan du bara redigera ditt default-språk här, översättningar redigerar du bland ditt översättningsplugins strängöversättningar.','If you are using a translation plugin (like Polylang or WPML) you have to save this form to make the texts below appear in your translation plugin. If you are happy with the default texts, and the plugins is already available in your language, you can skip saving this form and everything is already set up for you.'=>'Om du använder en översättningsplugin (som Polylang eller WPML) så måste du spara detta formulär för att texterna nedan ska dyka upp in ditt översättningsplugin. om du är nöjd med texterna, och pluginet redan finns på ditt språk, så kan du hoppa över att spara detta forumläret och allt är klart.','If you enable Google Consent Mode v2, consent will be denied until the visitor accepts marketing cookies. If you do not enable Google Consent Mode v2, consent will always be denied.'=>'Om du aktiverar Google Consent Mode v2 kommer samtycke att nekas tills besökaren accepterar marknadsförings-cookies. Om du inte aktiverar Google Consent Mode v2 nekas samtycke alltid.','If you use a PDF, or have your cookie policy externally, simply add the URL here. Don\'t forget https://'=>'Om du använder en PDF, eller har din cookiepolicy externt, lägg bara till URL:en här. Glöm inte https://','If you want to link back to the settings modal simply add a link with href = "#cookiesAndContentPolicySettings"'=>'Om du vill länka tillbaks till inställnings-modalen, skapa helt enkelt en länk med href = "#cookiesAndContentPolicySettings"','If you\'re not using a translation plugin you just need to save this form if you want to change any of the texts.'=>'Om du inte använder någon översättningsplugin så behöver du bara spara detta formuläret om du vill ändra någon av texterna.','If your host does not accept setting php header(), or if you\'re using static page cache that doesn\'t go through php, check this to add CSP as a meta tag in the header instead.'=>'Om ditt webbhotell inte låter dig sätta php header(), eller om du använder statisk cache, kryssa i här för att köra CSP som meta tag istället.','Images'=>'Bilder','In order for our website to perform as well as possible during your visit. If you refuse these cookies, some functionality will disappear from the website.'=>'För att vår hemsida ska prestera så bra som möjligt under ditt besök. Om du nekar de här kakorna kommer viss funktionalitet att försvinna från hemsidan.','In order for us to improve the website\'s functionality and structure, based on how the website is used.'=>'För att vi ska kunna förbättra hemsidans funktionalitet och uppbyggnad, baserat på hur hemsidan används.','Info'=>'Info','Instagram'=>'Instagram','ip'=>'ip','IPs to bypass'=>'IP-adresser att förbigå','Issuu'=>'Issuu','It would make my day. :)'=>'Det skulle gör mig så hjärtans glad. :)','Jetpack'=>'Jetpack','Jonk @ Follow me Darling'=>'Jonk @ Follow me Darling','Just add ?cacsp_bypass=true to your url. All cookies will be accepted for the session. Great for when you run speedtest and so forth.'=>'Lägg bara till ?cacsp_bypass=true till din url. Alla cookies kommer att bli accepterade för sessionen. Bra att använda när man kör test av webbplatsprestanda och så vidare.','LinkedIn Insight Tag/LinkedIn Pixel'=>'LinkedIn Insight Tag/LinkedIn Pixel','Mailchimp'=>'Mailchimp','Marketing'=>'Marknadsföring','Marketing, description'=>'Marknadsföring, beskrivning','Marketing, header'=>'Marknadsföring, rubrik','Marketing, resources for gathering data about the visitor for remarketing etc.'=>'Marknadsföring, resurser för att samla in data om besökaren för remarketing etc.','Media'=>'Media','Misc'=>'Övrigt','Modal background'=>'Bakgrund i modalen','Modal header'=>'Rubrik i modalen','Modal header background'=>'Bakgrund i modalens sidhuvud','Modal list border'=>'Linjer mellan listelement i modalen','Modal text color'=>'Textfärg i modal','Modal text header color'=>'Textfärg i modalens sidhuvud','Necessary'=>'Nödvändiga','Network settings'=>'Nätverksinställningar','No idea :)'=>'Ingen aning :)','Off switch'=>'Av-switch','On switch'=>'På-switch','On switch, text color'=>'Textfärg för aktivt val','Only texts'=>'Bara texter','Only use CSP, no modal for me.'=>'Använd bara CSP, ingen modal för mig, tack.','Only works with banner.'=>'Fungerar bara med banner.','Open cookie policy in a new tab.'=>'Öppna cookie policy i en ny tabb.','Overwrite all settings in Domains'=>'Skriv över alla inställningar i Domäner','Page builders'=>'Sidbyggare','Payment'=>'Betalning','PayPal'=>'PayPal','Quickstart'=>'Snabbstart','Read in the FAQ how to translate with Polylang.'=>'Läs under Vanliga frågor hur du översätter med Polylang.','Read in the FAQ how to translate with WPML.'=>'Läs under Vanliga frågor hur du översätter med WPML.','Read our cookie policy'=>'Läs vår cookie policy','Read the FAQ, all commonly asked questions are answered there.'=>'Läs Vanliga frågor, alla de vanligaste frågorna är besvarade där.','reCAPTCHA v3'=>'reCAPTCHA v3','Recommended for better security.'=>'Rekommenderas för bättre säkerhet.','Refuse all'=>'Neka alla','Refuse button'=>'Neka-knapp','Refuse button border'=>'Färg på ram för neka-knapp','Refuse button color'=>' Färg på neka-knapp','Refuse button text'=>'Färg på neka-knappens text','Review your settings'=>'Granska dina inställningar','Review your settings button'=>'Granska dina inställningar-knapp','Review your settings text'=>'Granska dina inställningar-text','Save'=>'Spara','Save button'=>'Spara-knapp','Save button border'=>'Färg på ram för spara-knapp','Save button color'=>'Färg på spara-knapp','Save button text'=>'Färg på spara-knappens text','Save proof of consent'=>'Spara bevis på samtycke','Save Settings'=>'Spara inställningar','Scripts'=>'Script','Separate domains by new line.<br>Example:<br>https://www.googleadservices.com<br>https://www.googletagmanager.com'=>'Separera domänerna med ny rad.<br>Exempel:<br>https://www.googleadservices.com<br>https://www.googletagmanager.com','Settings'=>'Inställningar','Settings button'=>'Inställnings-knapp','Settings button border'=>'Färg på ram för inställningar-knapp','Settings button color'=>'Färg på inställningar-knapp','Settings button text'=>'Färg på inställningar-knappens text','Settings text'=>'Text för inställningar','Show close button (&times;).'=>'Visa stäng-knapp (&times;).','Show refuse cookies button.'=>'Visa neka cookies-knapp.','site'=>'site','Social networks'=>'Sociala nätverk','SoundCloud'=>'SoundCloud','Spotify'=>'Spotify','Statistics'=>'Statistik','Statistics, description'=>'Statistik, beskrivning','Statistics, header'=>'Statistik, rubrik','Statistics, resources for gathering data about the visitor for statistics etc.'=>'Statistik, resurser för att samla in data om besökaren för statistik etc.','Stripe'=>'Stripe','Support'=>'Support','Test your settings without disturbing your visitors. Modal and Content Security Policy will be used only for logged in users with Administrator role.'=>'Testa dina instlällningar utan att störa dina besökare. Modal och Content Security Policy kommer bara att synas för inloggade användare med rollen Administratör.','Texts'=>'Texter','The consent data is saved in the database table "your_prefix" + "cacsp_consent". By default, the prefix is "wp_", so in most cases the table is named "wp_cacsp_consent".'=>'Samtyckesuppgifterna sparas i databastabellen "your_prefix" + "cacsp_consent". Som standard är prefixet "wp_", så i de flesta fall heter tabellen "wp_cacsp_consent".','The content can\'t be loaded, since it is not allowed on the site.'=>'Innehållet kan inte laddas eftersom det inte är tillåtet på siten.','These cookies are not optional. They are needed for the website to function.'=>'Dessa kakor går inte att välja bort. De behövs för att hemsidan över huvud taget ska fungera.','This will bypass the cookie modal and accept all cookies for the specified IPs.'=>'Detta kommer att kringgå cookie-modalen och acceptera alla cookies för de angivna IP-adresserna','This will only make use of domains in Always allowed.'=>'Detta innebär också att bara domäner i Tillåt alltid kommer att användas.','This will print helpful comments at the beginning of your page inside the &gt;head&lt; tag.'=>'Detta kommer att skiva ut hjälpsamma kommentarer i början av din sida inuti &gt;head&lt;-taggen.','time'=>'time','Timeout'=>'Paus','Twitter'=>'Twitter','Use Content Security Policy for forms for added security.'=>'Använd Content Security Policy till formulär för ökad säkerhet.','Use Content Security Policy for worker-src.'=>'Använd Content Security Policy för worker-src.','Use meta.'=>'Använd meta.','Use the default colors or pick you own here.'=>'Använd standard-färgerna eller välj dina egna här.','Use this to allow posting data to other sites, like subscribing to a MailChimp newsletter would need https://*.list-manage.com/'=>'Använd denna för att tillåta postning till andra domäner, t.ex. kommer starta prenumereraton på ett MailChimp-nyhetsbrev att behöva https://*.list-manage.com/','Vimeo'=>'Vimeo','Visit the support forum for the plugin at WordPress.org.'=>'Besök support-forumet för pluginet på WordPress.org.','Want support?'=>'Vill du ha support?','Want to support the plugin?'=>'Vill du supporta pluginet?','We are live!'=>'Det är live!','We serve cookies. If you think that\'s ok, just click "Accept all". You can also choose what kind of cookies you want by clicking "Settings".'=>'Vi bjuder på kakor! Om du tycker det är ok, klickar du bara på "Acceptera alla". Du kan såklart välja vilken typ av kakor du vill ha genom att klicka på "Inställningar".','Wildcard domains can be used.<br>Example:<br>https://*.youtube.com'=>'Wildcard-domäner kan användas.<br>Exempel:<br>https://*.youtube.com','Will be linked from the cookie modal. Does not show the the cookie modal for the user to be able to read the policy before accepting.'=>'Länkas till i cookie-modalen. Visar inte cookie-modalen så att användaren kan läsa policyn innan denne accepterar.','Worker'=>'Worker','WP Engine compatibility mode.'=>'WP Engine kompabilitets-läge.','Yes, the plugin is free. Totally free. But if you still want to pay for it to show your appreciation:'=>'Ja, pluginet är gratis. Helt gratis. Men om du ändå vill betala för det för att visa din uppskattning:','You don\'t have to fill out this form, the plugin comes with default colors. But if you want to change the colors, this is it.'=>'Du behöver inte fylla i det här formuläret, pluginet har redan alla färger som behövs. Men om du vill ändra några färger så gör du det här.','You don\'t have to fill out this form, the plugin comes with default settings. But if you want to change settings, this is it.'=>'Du behöver inte fylla i det här formuläret, pluginet har redan alla inställningar som behövs. Men om du vill ändra några inställningar så gör du det här.','You have unsaved changes, do you want to continue?'=>'Du har osparade ändringar, vill du fortsätta?','Your CDN, like https://media.yourdomain.com/'=>'Din CDN, som t.ex. https://media.dinhemsida.se/','Your main site'=>'Din huvudwebbplats','Your settings are now updated'=>'Dina inställningar är nu uppdaterade','Your settings are now updated in <a href="?page=cacsp_settings&tab=domains">Domains</a>'=>'Dina inställningar är nu uppdaterade i <a href="?page=cacsp_settings&tab=domains">Domäner</a>','Your settings may be preventing you from seeing this content. Most likely you have Experience turned off.'=>'Det verkar som om dina inställningar hindrar dig från att se detta innehållet. Med största sannolikhet är det för att du har Upplevelse avstängt.','YouTube'=>'YouTube']];
     2return ['po-revision-date'=>'2025-12-08 15:34+0000','mime-version'=>'1.0','content-type'=>'text/plain; charset=UTF-8','content-transfer-encoding'=>'8bit','plural-forms'=>'nplurals=2; plural=n != 1;','x-generator'=>'Loco https://localise.biz/','language'=>'sv_SE','project-id-version'=>'Plugins - Cookies and Content Security Policy - Stable (latest release)','language-team'=>'Svenska','report-msgid-bugs-to'=>'','pot-creation-date'=>'2022-07-25 07:20+0000','last-translator'=>'Testing stuff','x-loco-version'=>'2.6.6; wp-6.4.3','messages'=>['127.0.0.1<br>13.37.841.01'=>'127.0.0.1<br>13.37.841.01','Accept all'=>'Acceptera alla','Accept all button'=>'Acceptera alla-knapp','Accept button border'=>'Färg på ram för acceptera-knapp','Accept button color'=>'Färg på acceptera-knapp','Accept button text'=>'Färg på acceptera-knappens text','accepted_cookies'=>'accepted_cookies','Activate'=>'Aktivera','Activate the plugin to use it.'=>'Aktivera pluginet för att använda det.','Active'=>'Aktivt','Add grandma with milk and cookies.'=>'Lägg till mormor som serverar mjölk och kakor.','Admin'=>'Admin','Advanced settings'=>'Avancerade inställningar','After how many days the accept cookie should expire.'=>'Efter hur många dagar ska accept-cookien upphöra att gälla.','Allow background scripts via Worker'=>'Tillåt att script körs i bakgrunden med Worker','Allow blob.'=>'Tillåt blob.','Allow data.'=>'Tillåt data.','Allow user to access site without saving settings.'=>'Tillåt att besökaren använder siten utan att ha sparat några inställningar.','Always allow'=>'Tillåt alltid','Always allow, description'=>'Tillåt alltid, beskrivning','Always allow, header'=>'Tillåt alltid, rubrik','Always allowed, resources that the visitor can\'t opt out of.'=>'Tillåt alltid, resurser som besökaren inte kan välja bort.','Analytics'=>'Analys','Backdrop'=>'Backdrop','Backgrounds'=>'Bakgrunder','Basic settings'=>'Grundläggande inställningar','Block cookies and unwanted external content by setting Content Security Policy. A modal will be shown on the front end to let the visitor choose what kind of resources to accept.'=>'Blockera cookies och oönskat externt innehåll genom att skapa en Content Security Policy. En modal kommer att visas för besökaren som låter hen bestämma vilka typer av resurser som accepteras.','Buttons'=>'Knappar','By sharing your interests and behavior as you visit our site, you increase the chance of seeing personalized content and offers.'=>'Genom att dela med dig av dina intressen och ditt beteende när du surfar ökar du chansen att få se personligt anpassat innehåll och erbjudanden.','Bypass by IP'=>'Förbigå IP','Bypassing'=>'Förbikoppla','Calendly'=>'Calendly','Choose how to handle domains, texts, settings and colors in you network.'=>'Välj hur du vill hantera domäner, texter, inställningar och färger i ditt nätverk.','Choose what kind of cookies to accept. Your choice will be saved for one year.'=>'Välj vilken typ av kakor du vill acceptera. Ditt val kommer att sparas i ett år.','Choose which external resources the site uses to automatically save them to Domains. These are recommended settings for each resource.'=>'Välj vilka externa resurser som din site använder för att automatiskt spara dem till dina Domäner. Detta är rekommenderade inställningar för respektive resurs.','Close'=>'Stäng','Close button'=>'Stäng-knapp','Colors'=>'Färger','Consent'=>'Samtycke','Contact the administrator'=>'Kontakta administratören','Content not allowed button'=>'Innehållet är inte tillåtet-knapp','Content not allowed text'=>'Innehållet är inte tillåtet-text','Cookie Expire'=>'Cookie löper ut','Cookie policy link text'=>'Cookie policy länk-text','Cookie policy page'=>'Cookie policy-sida','Cookie policy target'=>'Cookie policy länkmål','Cookie policy URL'=>'Cookie policy URL','Cookies'=>'Kakor','Cookies and Content Security Policy'=>'Cookies och Content Security Policy','CRM'=>'CRM','Deactivated'=>'Deaktiverat','Debug.'=>'Debugga.','Default'=>'Standard','Default: 1000'=>'Standard: 1000','Default: 365'=>'Default: 365','Delete range'=>'Ta bort intervall','Delete selected'=>'Ta bort valda','Disable content not allowed message.'=>'Avaktivera meddelande för blockerad innehåll.','Disable unsafe-eval.'=>'Inaktivera unsafe-eval.','Disable unsafe-inline.'=>'Inaktivera unsafe-inline.','Disable X-Content-Security-Policy.'=>'Inaktivera X-Content-Security-Policy.','Disabled switch'=>'Avaktiverad switch','Disables the error message that appears when an iframe is blocked.'=>'Tar bort felmeddelandet som dyker upp när en ifram är blockerad.','Disables the use of eval() and similar methods for creating code from strings.'=>'Inaktiverar användningen av eval() och liknande metoder för att skapa kod från strängar.','Disables the use of inline resources, such as inline &lt;script&gt; elements, javascript: URLs, and inline event handlers.'=>'Inaktiverar användningen av inline-resurser, såsom inline &lt;script&gt;-element, javascript:-URLar och inline event handlers.','Divi'=>'Divi','Do not include css, I\'ve got my own style.'=>'Inkluder inte css, jag har min egen stil.','Do not include js, I\'ve got my own script.'=>'Inkludera inte js, jag har mitt eget script.','Do not use a modal, I want a banner.'=>'Använd inte modal, jag vill ha en banner.','Do your settings without disturbing anyone. No modal or Content Security Policy will be used at all.'=>'Gör dina inställningar utan att störa någon. Ingen modal eller Content Security Policy kommer att användas alls.','Domains'=>'Domäner','Donate with PayPal'=>'Donera med PayPal','drop me a line'=>'hör av dig','Enable Google Consent Mode v2'=>'Aktivera Google Consent Mode v2','Enabling this will use the <a href="https://wpengine.com/support/personalization-user-segmentation-page-cache/" target="_blank">User Cache Segmentation</a> to set the cookie, which will allow this plugin to work with WP Engine caching. <strong>Do not enable this setting if you are not on WP Engine.</strong>.'=>'Om du aktiverar detta så används <a href="https://wpengine.com/support/personalization-user-segmentation-page-cache/" target="_blank">User Cache Segmentation</a> för att ställa in cookien, vilket kommer att tillåta denna plugin att fungera med WP Engine-cache. <strong>Aktivera inte den här inställningen om du inte använder WP Engine.</strong>.','Everything'=>'Allt','Everything is individual on all sites'=>'Allt är individuellt på alla siter','Everything is shared from your main site *.'=>'Alla inställningar kommer från din huvudwebbplats *.','Everyting but texts is shared from the main site *.'=>'Alla inställningar förutom texter kommer från din huvudwebbplats *.','Example:'=>'Exempel:','Example: If you don\'t have any domains specified for Marketing, that setting won\'t show for the visitor.'=>'Exempel: Om du inte har några domäner sparade för Marknadsföring, så syns inte den inställningen för användaren.','Example: Some javascript libraries uses blob for images. Divi uses this for scripts in edit mode.'=>'Exempel: Vissa javascript-bibliotek använder blob för bilder. Divi använder detta i redigerings-läget.','Example: Sometimes data is used for loading images and scripts.'=>'Exempel: Ibland används data för att ladda bilder och script.','Experience'=>'Upplevelse','Experience, description'=>'Upplevelse, beskrivning','Experience, header'=>'Upplevelse, rubrik','Experience, resources for displaying external videos etc.'=>'Upplevelse, resurser för att visa externa videos etc.','expires'=>'expires','Facebook Pixel'=>'Facebook Pixel','Fill the forms with domains that should be allowed in each box. The groups are:'=>'Fyll i formulären med domäner som ska vara tillåtna i varje ruta. Grupperna är:','Forms'=>'Formulär','Frames'=>'Frames','From'=>'Från','Google'=>'Google','Google Ads'=>'Google Ads','Google Ads conversions'=>'Google Ads conversions','Google Ads remarketing'=>'Google Ads remarketing','Google Analytics'=>'Google Analytics','Google Analytics is under "Google"'=>'Google Analytics hittar du under "Google"','Google Docs'=>'Google Docs','Google Maps'=>'Google Maps','Google Optimize'=>'Google Optimize','Google Tag Manager'=>'Google Tag Manager','Google Translate'=>'Google Translate','Grandma mode.'=>'Mormor-mode.','Gravatar'=>'Gravatar','Hide admin email in error messages.'=>'Dölj e-postadress för administration i felmeddelanden.','Hide unused sections in Settings.'=>'Dölj oanvända sektioner under Inställningar.','Hotjar'=>'Hotjar','How many ms (milliseconds) until the cookie modal should appear.'=>'Hur många ms (millisekunder) tills cookiemodalen ska visas.','How to link back to settings'=>'Länka till inställningarna','https://plugins.followmedarling.se/'=>'https://plugins.followmedarling.se/','https://plugins.followmedarling.se/cookies-and-content-security-policy/'=>'https://plugins.followmedarling.se/cookies-and-content-security-policy/','https://wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20polylang%3F'=>'https://sv.wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20polylang%3F','https://wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20wpml%3F'=>'https://sv.wordpress.org/plugins/cookies-and-content-security-policy/#how%20do%20i%20translate%20in%20wpml%3F','Hubspot'=>'Hubspot','id'=>'id','If i missed some common resource or if some resource is missing any setting for domain'=>'Om jag har missat någon vanlig resurs, eller om någon resurs saknar inställning för domän','If you are using a translation plugin (like Polylang or WPML) only your sites default language can be edited here, translations are edited in your translation plugins string translation area.'=>'Om du använder en översättningsplugin (som Polylang eller WPML) så kan du bara redigera ditt default-språk här, översättningar redigerar du bland ditt översättningsplugins strängöversättningar.','If you are using a translation plugin (like Polylang or WPML) you have to save this form to make the texts below appear in your translation plugin. If you are happy with the default texts, and the plugins is already available in your language, you can skip saving this form and everything is already set up for you.'=>'Om du använder en översättningsplugin (som Polylang eller WPML) så måste du spara detta formulär för att texterna nedan ska dyka upp in ditt översättningsplugin. om du är nöjd med texterna, och pluginet redan finns på ditt språk, så kan du hoppa över att spara detta forumläret och allt är klart.','If you enable Google Consent Mode v2, consent will be denied until the visitor accepts marketing cookies. If you do not enable Google Consent Mode v2, consent will always be denied.'=>'Om du aktiverar Google Consent Mode v2 kommer samtycke att nekas tills besökaren accepterar marknadsförings-cookies. Om du inte aktiverar Google Consent Mode v2 nekas samtycke alltid.','If you use a PDF, or have your cookie policy externally, simply add the URL here. Don\'t forget https://'=>'Om du använder en PDF, eller har din cookiepolicy externt, lägg bara till URL:en här. Glöm inte https://','If you want to link back to the settings modal simply add a link with href = "#cookiesAndContentPolicySettings"'=>'Om du vill länka tillbaks till inställnings-modalen, skapa helt enkelt en länk med href = "#cookiesAndContentPolicySettings"','If you\'re not using a translation plugin you just need to save this form if you want to change any of the texts.'=>'Om du inte använder någon översättningsplugin så behöver du bara spara detta formuläret om du vill ändra någon av texterna.','If your host does not accept setting php header(), or if you\'re using static page cache that doesn\'t go through php, check this to add CSP as a meta tag in the header instead.'=>'Om ditt webbhotell inte låter dig sätta php header(), eller om du använder statisk cache, kryssa i här för att köra CSP som meta tag istället.','Images'=>'Bilder','In order for our website to perform as well as possible during your visit. If you refuse these cookies, some functionality will disappear from the website.'=>'För att vår hemsida ska prestera så bra som möjligt under ditt besök. Om du nekar de här kakorna kommer viss funktionalitet att försvinna från hemsidan.','In order for us to improve the website\'s functionality and structure, based on how the website is used.'=>'För att vi ska kunna förbättra hemsidans funktionalitet och uppbyggnad, baserat på hur hemsidan används.','Info'=>'Info','Instagram'=>'Instagram','ip'=>'ip','IPs to bypass'=>'IP-adresser att förbigå','Issuu'=>'Issuu','It would make my day. :)'=>'Det skulle gör mig så hjärtans glad. :)','Jetpack'=>'Jetpack','Jonk @ Follow me Darling'=>'Jonk @ Follow me Darling','Just add ?cacsp_bypass=true to your url. All cookies will be accepted for the session. Great for when you run speedtest and so forth.'=>'Lägg bara till ?cacsp_bypass=true till din url. Alla cookies kommer att bli accepterade för sessionen. Bra att använda när man kör test av webbplatsprestanda och så vidare.','LinkedIn Insight Tag/LinkedIn Pixel'=>'LinkedIn Insight Tag/LinkedIn Pixel','Mailchimp'=>'Mailchimp','Marketing'=>'Marknadsföring','Marketing, description'=>'Marknadsföring, beskrivning','Marketing, header'=>'Marknadsföring, rubrik','Marketing, resources for gathering data about the visitor for remarketing etc.'=>'Marknadsföring, resurser för att samla in data om besökaren för remarketing etc.','Media'=>'Media','Misc'=>'Övrigt','Modal background'=>'Bakgrund i modalen','Modal header'=>'Rubrik i modalen','Modal header background'=>'Bakgrund i modalens sidhuvud','Modal list border'=>'Linjer mellan listelement i modalen','Modal text color'=>'Textfärg i modal','Modal text header color'=>'Textfärg i modalens sidhuvud','Necessary'=>'Nödvändiga','Network settings'=>'Nätverksinställningar','No idea :)'=>'Ingen aning :)','Off switch'=>'Av-switch','On switch'=>'På-switch','On switch, text color'=>'Textfärg för aktivt val','Only texts'=>'Bara texter','Only use CSP, no modal for me.'=>'Använd bara CSP, ingen modal för mig, tack.','Only works with banner.'=>'Fungerar bara med banner.','Open cookie policy in a new tab.'=>'Öppna cookie policy i en ny tabb.','Overwrite all settings in Domains'=>'Skriv över alla inställningar i Domäner','Page builders'=>'Sidbyggare','Payment'=>'Betalning','PayPal'=>'PayPal','Quickstart'=>'Snabbstart','Read in the FAQ how to translate with Polylang.'=>'Läs under Vanliga frågor hur du översätter med Polylang.','Read in the FAQ how to translate with WPML.'=>'Läs under Vanliga frågor hur du översätter med WPML.','Read our cookie policy'=>'Läs vår cookie policy','Read the FAQ, all commonly asked questions are answered there.'=>'Läs Vanliga frågor, alla de vanligaste frågorna är besvarade där.','reCAPTCHA v3'=>'reCAPTCHA v3','Recommended for better security.'=>'Rekommenderas för bättre säkerhet.','Refuse all'=>'Neka alla','Refuse button'=>'Neka-knapp','Refuse button border'=>'Färg på ram för neka-knapp','Refuse button color'=>' Färg på neka-knapp','Refuse button text'=>'Färg på neka-knappens text','Review your settings'=>'Granska dina inställningar','Review your settings button'=>'Granska dina inställningar-knapp','Review your settings text'=>'Granska dina inställningar-text','Save'=>'Spara','Save button'=>'Spara-knapp','Save button border'=>'Färg på ram för spara-knapp','Save button color'=>'Färg på spara-knapp','Save button text'=>'Färg på spara-knappens text','Save proof of consent'=>'Spara bevis på samtycke','Save Settings'=>'Spara inställningar','Scripts'=>'Script','Security check failed.'=>'Säkerhetskontroll misslyckades.','Separate domains by new line.<br>Example:<br>https://www.googleadservices.com<br>https://www.googletagmanager.com'=>'Separera domänerna med ny rad.<br>Exempel:<br>https://www.googleadservices.com<br>https://www.googletagmanager.com','Settings'=>'Inställningar','Settings button'=>'Inställnings-knapp','Settings button border'=>'Färg på ram för inställningar-knapp','Settings button color'=>'Färg på inställningar-knapp','Settings button text'=>'Färg på inställningar-knappens text','Settings text'=>'Text för inställningar','Show close button (&times;).'=>'Visa stäng-knapp (&times;).','Show refuse cookies button.'=>'Visa neka cookies-knapp.','site'=>'site','Social networks'=>'Sociala nätverk','SoundCloud'=>'SoundCloud','Spotify'=>'Spotify','Statistics'=>'Statistik','Statistics, description'=>'Statistik, beskrivning','Statistics, header'=>'Statistik, rubrik','Statistics, resources for gathering data about the visitor for statistics etc.'=>'Statistik, resurser för att samla in data om besökaren för statistik etc.','Stripe'=>'Stripe','Support'=>'Support','Test your settings without disturbing your visitors. Modal and Content Security Policy will be used only for logged in users with Administrator role.'=>'Testa dina instlällningar utan att störa dina besökare. Modal och Content Security Policy kommer bara att synas för inloggade användare med rollen Administratör.','Texts'=>'Texter','The consent data is saved in the database table "your_prefix" + "cacsp_consent". By default, the prefix is "wp_", so in most cases the table is named "wp_cacsp_consent".'=>'Samtyckesuppgifterna sparas i databastabellen "your_prefix" + "cacsp_consent". Som standard är prefixet "wp_", så i de flesta fall heter tabellen "wp_cacsp_consent".','The content can\'t be loaded, since it is not allowed on the site.'=>'Innehållet kan inte laddas eftersom det inte är tillåtet på siten.','These cookies are not optional. They are needed for the website to function.'=>'Dessa kakor går inte att välja bort. De behövs för att hemsidan över huvud taget ska fungera.','This will bypass the cookie modal and accept all cookies for the specified IPs.'=>'Detta kommer att kringgå cookie-modalen och acceptera alla cookies för de angivna IP-adresserna','This will only make use of domains in Always allowed.'=>'Detta innebär också att bara domäner i Tillåt alltid kommer att användas.','This will print helpful comments at the beginning of your page inside the &gt;head&lt; tag.'=>'Detta kommer att skiva ut hjälpsamma kommentarer i början av din sida inuti &gt;head&lt;-taggen.','time'=>'time','Timeout'=>'Paus','To'=>'Till','Twitter'=>'Twitter','Use Content Security Policy for forms for added security.'=>'Använd Content Security Policy till formulär för ökad säkerhet.','Use Content Security Policy for worker-src.'=>'Använd Content Security Policy för worker-src.','Use meta.'=>'Använd meta.','Use the default colors or pick you own here.'=>'Använd standard-färgerna eller välj dina egna här.','Use this to allow posting data to other sites, like subscribing to a MailChimp newsletter would need https://*.list-manage.com/'=>'Använd denna för att tillåta postning till andra domäner, t.ex. kommer starta prenumereraton på ett MailChimp-nyhetsbrev att behöva https://*.list-manage.com/','Vimeo'=>'Vimeo','Visit the support forum for the plugin at WordPress.org.'=>'Besök support-forumet för pluginet på WordPress.org.','Want support?'=>'Vill du ha support?','Want to support the plugin?'=>'Vill du supporta pluginet?','We are live!'=>'Det är live!','We serve cookies. If you think that\'s ok, just click "Accept all". You can also choose what kind of cookies you want by clicking "Settings".'=>'Vi bjuder på kakor! Om du tycker det är ok, klickar du bara på "Acceptera alla". Du kan såklart välja vilken typ av kakor du vill ha genom att klicka på "Inställningar".','Wildcard domains can be used.<br>Example:<br>https://*.youtube.com'=>'Wildcard-domäner kan användas.<br>Exempel:<br>https://*.youtube.com','Will be linked from the cookie modal. Does not show the the cookie modal for the user to be able to read the policy before accepting.'=>'Länkas till i cookie-modalen. Visar inte cookie-modalen så att användaren kan läsa policyn innan denne accepterar.','Worker'=>'Worker','WP Engine compatibility mode.'=>'WP Engine kompabilitets-läge.','Yes, the plugin is free. Totally free. But if you still want to pay for it to show your appreciation:'=>'Ja, pluginet är gratis. Helt gratis. Men om du ändå vill betala för det för att visa din uppskattning:','You don\'t have to fill out this form, the plugin comes with default colors. But if you want to change the colors, this is it.'=>'Du behöver inte fylla i det här formuläret, pluginet har redan alla färger som behövs. Men om du vill ändra några färger så gör du det här.','You don\'t have to fill out this form, the plugin comes with default settings. But if you want to change settings, this is it.'=>'Du behöver inte fylla i det här formuläret, pluginet har redan alla inställningar som behövs. Men om du vill ändra några inställningar så gör du det här.','You have unsaved changes, do you want to continue?'=>'Du har osparade ändringar, vill du fortsätta?','Your CDN, like https://media.yourdomain.com/'=>'Din CDN, som t.ex. https://media.dinhemsida.se/','Your main site'=>'Din huvudwebbplats','Your settings are now updated'=>'Dina inställningar är nu uppdaterade','Your settings are now updated in <a href="?page=cacsp_settings&tab=domains">Domains</a>'=>'Dina inställningar är nu uppdaterade i <a href="?page=cacsp_settings&tab=domains">Domäner</a>','Your settings may be preventing you from seeing this content. Most likely you have Experience turned off.'=>'Det verkar som om dina inställningar hindrar dig från att se detta innehållet. Med största sannolikhet är det för att du har Upplevelse avstängt.','YouTube'=>'YouTube']];
  • cookies-and-content-security-policy/trunk/languages/cookies-and-content-security-policy-sv_SE.po

    r3372234 r3414503  
    33msgid ""
    44msgstr ""
    5 "PO-Revision-Date: 2025-10-03 08:53+0000\n"
     5"PO-Revision-Date: 2025-12-08 15:34+0000\n"
    66"MIME-Version: 1.0\n"
    77"Content-Type: text/plain; charset=UTF-8\n"
     
    1212"Project-Id-Version: Plugins - Cookies and Content Security Policy - Stable "
    1313"(latest release)\n"
    14 "Language-Team: Swedish\n"
     14"Language-Team: Svenska\n"
    1515"Report-Msgid-Bugs-To: \n"
    1616"POT-Creation-Date: 2022-07-25 07:20+0000\n"
     
    4343msgstr "Färg på acceptera-knappens text"
    4444
    45 #: inc/settings-cacsp-tab-consent.php:19
     45#: inc/settings-cacsp-tab-consent.php:39
    4646msgid "accepted_cookies"
    4747msgstr "accepted_cookies"
     
    193193msgstr "Stäng-knapp"
    194194
    195 #: inc/settings-cacsp.php:114 inc/settings-cacsp-tab-colors.php:36
     195#: inc/settings-cacsp-tab-colors.php:36 inc/settings-cacsp.php:114
    196196msgid "Colors"
    197197msgstr "Färger"
    198198
    199 #: inc/settings-cacsp.php:117
     199#: inc/settings-cacsp.php:117 inc/settings-cacsp-tab-consent.php:369
    200200msgid "Consent"
    201201msgstr "Samtycke"
     
    239239
    240240#. Name of the plugin
    241 #: inc/network.php:11 inc/network.php:12 inc/network.php:29
    242 #: inc/settings-cacsp.php:7 inc/settings-cacsp.php:7 inc/settings-cacsp.php:77
     241#: inc/settings-cacsp.php:7 inc/settings-cacsp.php:77 inc/network.php:11
     242#: inc/network.php:12 inc/network.php:29
    243243msgid "Cookies and Content Security Policy"
    244244msgstr "Cookies och Content Security Policy"
     
    267267msgid "Default: 365"
    268268msgstr "Default: 365"
     269
     270#: inc/settings-cacsp-tab-consent.php:255
     271msgid "Delete range"
     272msgstr "Ta bort intervall"
     273
     274#: inc/settings-cacsp-tab-consent.php:68
     275msgid "Delete selected"
     276msgstr "Ta bort valda"
    269277
    270278#: inc/settings-cacsp-tab-settings.php:249
     
    423431msgstr "Upplevelse, resurser för att visa externa videos etc."
    424432
    425 #: inc/settings-cacsp-tab-consent.php:20
     433#: inc/settings-cacsp-tab-consent.php:40
    426434msgid "expires"
    427435msgstr "expires"
     
    449457msgstr "Frames"
    450458
     459#: inc/settings-cacsp-tab-consent.php:242
     460msgid "From"
     461msgstr "Från"
     462
    451463#: inc/settings-cacsp-tab-quickstart.php:49
    452464msgid "Google"
     
    550562msgstr "Hubspot"
    551563
    552 #: inc/settings-cacsp-tab-consent.php:16
     564#: inc/settings-cacsp-tab-consent.php:36
    553565msgid "id"
    554566msgstr "id"
     
    663675msgstr "Instagram"
    664676
    665 #: inc/settings-cacsp-tab-consent.php:18
     677#: inc/settings-cacsp-tab-consent.php:38
    666678msgid "ip"
    667679msgstr "ip"
     
    900912msgstr "Spara bevis på samtycke"
    901913
    902 #: inc/network.php:79 inc/settings-cacsp-tab-activate.php:50
    903914#: inc/settings-cacsp-tab-colors.php:225 inc/settings-cacsp-tab-domains.php:112
    904 #: inc/settings-cacsp-tab-quickstart.php:396
    905915#: inc/settings-cacsp-tab-settings.php:406 inc/settings-cacsp-tab-texts.php:84
     916#: inc/settings-cacsp-tab-quickstart.php:396 inc/network.php:79
     917#: inc/settings-cacsp-tab-activate.php:50
    906918msgid "Save Settings"
    907919msgstr "Spara inställningar"
     
    912924msgstr "Script"
    913925
     926#: inc/settings-cacsp-tab-consent.php:287
     927msgid "Security check failed."
     928msgstr "Säkerhetskontroll misslyckades."
     929
    914930#: inc/settings-cacsp-tab-domains.php:16
    915931msgid ""
     
    953969msgstr "Visa neka cookies-knapp."
    954970
    955 #: inc/settings-cacsp-tab-consent.php:21
     971#: inc/settings-cacsp-tab-consent.php:41
    956972msgid "site"
    957973msgstr "site"
     
    10071023"Administratör."
    10081024
    1009 #: inc/settings-cacsp.php:109 inc/settings-cacsp-tab-colors.php:73
     1025#: inc/settings-cacsp-tab-colors.php:73 inc/settings-cacsp.php:109
    10101026#: inc/settings-cacsp-tab-texts.php:58
    10111027msgid "Texts"
     
    10541070"&gt;head&lt;-taggen."
    10551071
    1056 #: inc/settings-cacsp-tab-consent.php:17
     1072#: inc/settings-cacsp-tab-consent.php:37
    10571073msgid "time"
    10581074msgstr "time"
     
    10611077msgid "Timeout"
    10621078msgstr "Paus"
     1079
     1080#: inc/settings-cacsp-tab-consent.php:247
     1081msgid "To"
     1082msgstr "Till"
    10631083
    10641084#: inc/settings-cacsp-tab-quickstart.php:183
     
    11821202
    11831203#: inc/settings-cacsp-update-options.php:22
    1184 #: inc/settings-cacsp-update-options.php:597
    1185 #: inc/settings-cacsp-update-options.php:623
    1186 #: inc/settings-cacsp-update-options.php:657
    1187 #: inc/settings-cacsp-update-options.php:683
    1188 #: inc/settings-cacsp-update-options.php:691
     1204#: inc/settings-cacsp-update-options.php:600
     1205#: inc/settings-cacsp-update-options.php:626
     1206#: inc/settings-cacsp-update-options.php:660
     1207#: inc/settings-cacsp-update-options.php:686
     1208#: inc/settings-cacsp-update-options.php:694
    11891209msgid "Your settings are now updated"
    11901210msgstr "Dina inställningar är nu uppdaterade"
    11911211
    1192 #: inc/settings-cacsp-update-options.php:549
     1212#: inc/settings-cacsp-update-options.php:552
    11931213msgid ""
    11941214"Your settings are now updated in <a href=\"?"
  • cookies-and-content-security-policy/trunk/readme.txt

    r3389380 r3414503  
    55Short Description: Be fully GDPR and CCPA compliant through Content Security Policy. Blocks cookies and unwanted external content.
    66Requires at least: 5.0
    7 Tested up to: 6.8
     7Tested up to: 6.9
    88Requires PHP: 7.4
    9 Stable tag: 2.33
     9Stable tag: 2.34
    1010License: GPLv2 or later
    1111License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    194194 
    195195== Changelog ==
     196
     197= 2.34 =
     198
     199* Delete old png files (left in 2.33 for cache reasons)
     200* Function for deleting consents
    196201
    197202= 2.33 =
Note: See TracChangeset for help on using the changeset viewer.