-
Notifications
You must be signed in to change notification settings - Fork 2
/
strings.php
123 lines (107 loc) · 5.28 KB
/
strings.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<?php
/**
* @Author: Timi Wahalahti
* @Date: 2021-08-20 14:19:21
* @Last Modified by: Timi Wahalahti
* @Last Modified time: 2021-11-01 15:55:21
* @package air-cookie
*/
namespace Air_Cookie;
if ( ! defined( 'ABSPATH' ) ) {
exit();
}
/**
* Get the default strings for the cookie consent modal and settings.
*
* Modify the strings from Polylang if its installed, otherwise you
* can use filter "air_cookie\strings" to modify all strings or
* "air_cookie\strings\string_key" to modify singular string.
*
* @return array Array of default strings
* @since 0.1.0
*/
function get_strings() {
$strings = [
'consent_modal_title' => 'Käytämme verkkosivuillamme evästeitä',
'consent_modal_description' => 'Käytämme evästeitä käyttökokemuksesi parantamiseksi ja sivuston kehittämiseksi. Osaa evästeistä käytetään analytiikkaan, markkinointiin ja sen kohdentamiseen.<br/><br/><button type="button" data-cc="c-settings" class="cc-link">Lisätietoa ja asetukset</button>. Voit muuttaa asetuksia koska tahansa sivuston alaosassa olevasta linkistä.',
'consent_modal_primary_btn_text' => 'Salli evästeet',
'consent_modal_secondary_btn_text' => 'Vain välttämättömät',
'settings_modal_title' => 'Evästeasetukset',
'settings_modal_big_title' => 'Evästeiden käyttö',
'settings_modal_description' => 'Käytämme sivustolla yhteistyökumppaneidemme kanssa evästeitä mm. toiminnallisuuteen, mainonnan ja sosiaalisen median liitännäisten toteuttamiseen sekä sivuston käytön analysointiin. Kävijätietoja voidaan jakaa sosiaalisen median palveluja, verkkomainontaa tai analytiikkapalveluja tarjoavien kumppaneiden kanssa. Evästeiden tallennusaika vaihtelee sen tyypistä riippuen. Poistoajankohdan ylittäneet evästeet poistuvat automaattisesti.',
'settings_modal_save_settings_btn' => 'Tallenna asetukset',
'settings_modal_accept_all_btn' => 'Hyväksy kaikki',
'category_necessary_title' => 'Välttämättömät',
'category_necessary_description' => 'Välttämättömät evästeet sallivat perustoimintojen käytön ja auttavat tekemään sivustosta toimivan. Verkkosivusto ei toimi kunnolla ilman näitä evästeitä ja ne ovat siksi pakolliset.',
'category_functional_title' => 'Toiminnalliset',
'category_functional_description' => 'Toiminnalliset evästeet mahdollistavat sivuston paremman toiminnan ja joidenkin kolmansien osapuolien palveluiden, kuten asiakaspalveluchatin lataamisen.',
'category_analytics_title' => 'Analytiikka',
'category_analytics_description' => 'Analytiikka auttaa meitä ymmärtämään, miten voisimme kehittää sivustoa paremmaksi. Yhteistyökumppanimme voivat käyttää evästeitä myös markkinoinnin kohdentamiseen.',
];
// Modify all the strings with one filter.
$strings = apply_filters( 'air_cookie\strings', $strings );
// Loop strings to get singular filters for each string.
foreach ( $strings as $key => $string ) {
$strings[ $key ] = apply_filters( "air_cookie\strings\{$key}", $string );
}
return $strings;
} // end get_strings
/**
* Register default strings for Polylang to allow translations.
*
* @since 0.1.0
*/
function register_strings() {
if ( ! function_exists( 'pll_register_string' ) ) {
return;
}
$pll_group = get_polylang_group();
// Get strings, bail if none (for example failed filter).
$strings = get_strings();
if ( ! is_array( $strings ) ) {
return;
}
// Loop strings and register those
foreach ( $strings as $key => $string ) {
$multiline = false !== strpos( $key, 'description' ) ? true : false; // Try to determine if edit field should be textarea
pll_register_string( $key, $string, $pll_group, $multiline );
}
// Get cookie categories and register their strings for translation
$cookie_categories = get_cookie_categories();
if ( is_array( $cookie_categories ) ) {
foreach ( $cookie_categories as $cookie_category ) {
$cookie_category_key = $cookie_category['key'];
pll_register_string( "cookie_category_{$cookie_category_key}_title", $cookie_category['title'], $pll_group );
pll_register_string( "cookie_category_{$cookie_category_key}_description", $cookie_category['description'], $pll_group, true );
}
}
} // end register_strings
/**
* Get translation for the default string. If Polylang is not active,
* return the default string.
*
* @param string $string_key Which string to get
* @return string/boolean Translated string if the key exists, otherwise false
* @since 0.1.0
*/
function maybe_get_polylang_translation( $string_key ) {
$strings = get_strings();
// Bail if no string with requested key.
if ( ! array_key_exists( $string_key, $strings ) ) {
return false;
}
// Return default string if Polylang is not active
if ( ! function_exists( 'pll_translate_string' ) ) {
return $strings[ $string_key ];
}
return pll_translate_string( $strings[ $string_key ], get_current_language() );
} // end maybe_get_polylang_translation
/**
* Get group to which register the strings in Polylang.
*
* @return string Name of the group
* @since 0.1.0
*/
function get_polylang_group() {
return apply_filters( 'air_cookie\pll\group', 'Air Cookie' );
} // end get_polylang_group