@osano/osano-cmp-react-native 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. package/README.dev.md +216 -1
  2. package/README.md +2 -267
  3. package/android/src/main/java/com/OsanoCMPSDK/OsanoCMPSDKModule.kt +41 -0
  4. package/ios/OsanoCmpSDK.mm +42 -0
  5. package/lib/commonjs/ConsentManager.js +82 -11
  6. package/lib/commonjs/ConsentManager.js.map +1 -1
  7. package/lib/commonjs/ConsentUiBuilder.js +10 -7
  8. package/lib/commonjs/ConsentUiBuilder.js.map +1 -1
  9. package/lib/commonjs/commands.js +10 -5
  10. package/lib/commonjs/commands.js.map +1 -1
  11. package/lib/commonjs/components/Button.js +6 -7
  12. package/lib/commonjs/components/Button.js.map +1 -1
  13. package/lib/commonjs/components/Checkbox.js +1 -2
  14. package/lib/commonjs/components/Checkbox.js.map +1 -1
  15. package/lib/commonjs/components/ExpansionPanel.js +1 -2
  16. package/lib/commonjs/components/ExpansionPanel.js.map +1 -1
  17. package/lib/commonjs/components/Link.js +1 -2
  18. package/lib/commonjs/components/Link.js.map +1 -1
  19. package/lib/commonjs/components/StoragePolicyLink.js +1 -2
  20. package/lib/commonjs/components/StoragePolicyLink.js.map +1 -1
  21. package/lib/commonjs/components/Toggle.js +1 -2
  22. package/lib/commonjs/components/Toggle.js.map +1 -1
  23. package/lib/commonjs/context.js +7 -5
  24. package/lib/commonjs/context.js.map +1 -1
  25. package/lib/commonjs/iab/tcf/consent.js +0 -5
  26. package/lib/commonjs/iab/tcf/consent.js.map +1 -1
  27. package/lib/commonjs/iab/tcf/constants.js +34 -1
  28. package/lib/commonjs/iab/tcf/constants.js.map +1 -1
  29. package/lib/commonjs/iab/tcf/iab-storage-utils.js +102 -0
  30. package/lib/commonjs/iab/tcf/iab-storage-utils.js.map +1 -0
  31. package/lib/commonjs/iab/tcf/index.js +1 -2
  32. package/lib/commonjs/iab/tcf/index.js.map +1 -1
  33. package/lib/commonjs/iab/tcf/middleware.js +33 -35
  34. package/lib/commonjs/iab/tcf/middleware.js.map +1 -1
  35. package/lib/commonjs/iab/tcf/selectors.js +1 -1
  36. package/lib/commonjs/iab/tcf/selectors.js.map +1 -1
  37. package/lib/commonjs/iab/tcf/v2.0/shared-constants.js +1 -2
  38. package/lib/commonjs/iab/tcf/v2.0/shared-constants.js.map +1 -1
  39. package/lib/commonjs/index.js +54 -15
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/locale/af.json +342 -323
  42. package/lib/commonjs/locale/ar.json +342 -323
  43. package/lib/commonjs/locale/bg.json +342 -323
  44. package/lib/commonjs/locale/ca.json +342 -323
  45. package/lib/commonjs/locale/cs.json +342 -323
  46. package/lib/commonjs/locale/da.json +342 -323
  47. package/lib/commonjs/locale/de-at.json +342 -323
  48. package/lib/commonjs/locale/de.json +342 -323
  49. package/lib/commonjs/locale/el.json +342 -323
  50. package/lib/commonjs/locale/en-au.json +342 -323
  51. package/lib/commonjs/locale/en-ca.json +342 -323
  52. package/lib/commonjs/locale/en-gb.json +342 -323
  53. package/lib/commonjs/locale/en.json +342 -323
  54. package/lib/commonjs/locale/es-mx.json +342 -323
  55. package/lib/commonjs/locale/es.json +342 -323
  56. package/lib/commonjs/locale/et.json +342 -323
  57. package/lib/commonjs/locale/fa.json +342 -323
  58. package/lib/commonjs/locale/fi.json +342 -323
  59. package/lib/commonjs/locale/fr-ca.json +342 -323
  60. package/lib/commonjs/locale/fr.json +342 -323
  61. package/lib/commonjs/locale/gd.json +342 -323
  62. package/lib/commonjs/locale/he.json +342 -323
  63. package/lib/commonjs/locale/hi.json +342 -323
  64. package/lib/commonjs/locale/hr.json +342 -323
  65. package/lib/commonjs/locale/hu.json +342 -323
  66. package/lib/commonjs/locale/hy.json +342 -323
  67. package/lib/commonjs/locale/id.json +342 -323
  68. package/lib/commonjs/locale/is.json +342 -323
  69. package/lib/commonjs/locale/it.json +342 -323
  70. package/lib/commonjs/locale/ja.json +342 -323
  71. package/lib/commonjs/locale/kk.json +342 -323
  72. package/lib/commonjs/locale/ko.json +342 -323
  73. package/lib/commonjs/locale/lt.json +342 -323
  74. package/lib/commonjs/locale/lv.json +342 -323
  75. package/lib/commonjs/locale/mi.json +342 -323
  76. package/lib/commonjs/locale/ms.json +342 -323
  77. package/lib/commonjs/locale/nb.json +342 -323
  78. package/lib/commonjs/locale/nl-be.json +342 -323
  79. package/lib/commonjs/locale/nl.json +342 -323
  80. package/lib/commonjs/locale/nn.json +342 -323
  81. package/lib/commonjs/locale/no.json +342 -323
  82. package/lib/commonjs/locale/pl.json +342 -323
  83. package/lib/commonjs/locale/pt-br.json +342 -323
  84. package/lib/commonjs/locale/pt.json +342 -323
  85. package/lib/commonjs/locale/ro.json +342 -323
  86. package/lib/commonjs/locale/ru.json +342 -323
  87. package/lib/commonjs/locale/sk.json +342 -323
  88. package/lib/commonjs/locale/sl.json +342 -323
  89. package/lib/commonjs/locale/sq.json +342 -323
  90. package/lib/commonjs/locale/sr.json +342 -323
  91. package/lib/commonjs/locale/sv.json +342 -323
  92. package/lib/commonjs/locale/th.json +342 -323
  93. package/lib/commonjs/locale/tl.json +342 -323
  94. package/lib/commonjs/locale/tr.json +342 -323
  95. package/lib/commonjs/locale/uk.json +342 -323
  96. package/lib/commonjs/locale/vi.json +342 -323
  97. package/lib/commonjs/locale/zh-hk.json +342 -323
  98. package/lib/commonjs/locale/zh-tw.json +342 -323
  99. package/lib/commonjs/locale/zh.json +342 -323
  100. package/lib/commonjs/locale/zu.json +342 -323
  101. package/lib/commonjs/native/OsanoCmp.js +16 -0
  102. package/lib/commonjs/native/OsanoCmp.js.map +1 -1
  103. package/lib/commonjs/selectors.js +1 -1
  104. package/lib/commonjs/selectors.js.map +1 -1
  105. package/lib/commonjs/services/consent.js +60 -8
  106. package/lib/commonjs/services/consent.js.map +1 -1
  107. package/lib/commonjs/services/google-consent-mode-mapper.js +109 -0
  108. package/lib/commonjs/services/google-consent-mode-mapper.js.map +1 -0
  109. package/lib/commonjs/types/google-consent-mode.js +73 -0
  110. package/lib/commonjs/types/google-consent-mode.js.map +1 -0
  111. package/lib/commonjs/utils/EventEmitter.js +0 -2
  112. package/lib/commonjs/utils/EventEmitter.js.map +1 -1
  113. package/lib/commonjs/utils/OsanoLogger.js +51 -0
  114. package/lib/commonjs/utils/OsanoLogger.js.map +1 -0
  115. package/lib/commonjs/utils/Translator.js +2 -2
  116. package/lib/commonjs/utils/Translator.js.map +1 -1
  117. package/lib/commonjs/utils/index.js +7 -0
  118. package/lib/commonjs/utils/index.js.map +1 -1
  119. package/lib/commonjs/views/Dialog/Buttons.js +1 -2
  120. package/lib/commonjs/views/Dialog/Buttons.js.map +1 -1
  121. package/lib/commonjs/views/Dialog/FirstLayerUsage.js +1 -2
  122. package/lib/commonjs/views/Dialog/FirstLayerUsage.js.map +1 -1
  123. package/lib/commonjs/views/Dialog/Message.js +1 -2
  124. package/lib/commonjs/views/Dialog/Message.js.map +1 -1
  125. package/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.js +1 -2
  126. package/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.js.map +1 -1
  127. package/lib/commonjs/views/Dialog/index.js +1 -2
  128. package/lib/commonjs/views/Dialog/index.js.map +1 -1
  129. package/lib/commonjs/views/Drawer/Drawer.ConsentCategories.js +1 -2
  130. package/lib/commonjs/views/Drawer/Drawer.ConsentCategories.js.map +1 -1
  131. package/lib/commonjs/views/Drawer/Drawer.Header.js +1 -2
  132. package/lib/commonjs/views/Drawer/Drawer.Header.js.map +1 -1
  133. package/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.js +1 -2
  134. package/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.js.map +1 -1
  135. package/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.js +1 -2
  136. package/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.js.map +1 -1
  137. package/lib/commonjs/views/Drawer/index.js +1 -2
  138. package/lib/commonjs/views/Drawer/index.js.map +1 -1
  139. package/lib/module/ConsentManager.js +81 -9
  140. package/lib/module/ConsentManager.js.map +1 -1
  141. package/lib/module/ConsentUiBuilder.js +9 -5
  142. package/lib/module/ConsentUiBuilder.js.map +1 -1
  143. package/lib/module/commands.js +10 -5
  144. package/lib/module/commands.js.map +1 -1
  145. package/lib/module/components/Button.js +5 -5
  146. package/lib/module/components/Button.js.map +1 -1
  147. package/lib/module/context.js +7 -5
  148. package/lib/module/context.js.map +1 -1
  149. package/lib/module/iab/tcf/consent.js +0 -5
  150. package/lib/module/iab/tcf/consent.js.map +1 -1
  151. package/lib/module/iab/tcf/constants.js +32 -0
  152. package/lib/module/iab/tcf/constants.js.map +1 -1
  153. package/lib/module/iab/tcf/iab-storage-utils.js +89 -0
  154. package/lib/module/iab/tcf/iab-storage-utils.js.map +1 -0
  155. package/lib/module/iab/tcf/middleware.js +25 -27
  156. package/lib/module/iab/tcf/middleware.js.map +1 -1
  157. package/lib/module/iab/tcf/selectors.js +1 -1
  158. package/lib/module/iab/tcf/selectors.js.map +1 -1
  159. package/lib/module/index.js +47 -13
  160. package/lib/module/index.js.map +1 -1
  161. package/lib/module/locale/af.json +342 -323
  162. package/lib/module/locale/ar.json +342 -323
  163. package/lib/module/locale/bg.json +342 -323
  164. package/lib/module/locale/ca.json +342 -323
  165. package/lib/module/locale/cs.json +342 -323
  166. package/lib/module/locale/da.json +342 -323
  167. package/lib/module/locale/de-at.json +342 -323
  168. package/lib/module/locale/de.json +342 -323
  169. package/lib/module/locale/el.json +342 -323
  170. package/lib/module/locale/en-au.json +342 -323
  171. package/lib/module/locale/en-ca.json +342 -323
  172. package/lib/module/locale/en-gb.json +342 -323
  173. package/lib/module/locale/en.json +342 -323
  174. package/lib/module/locale/es-mx.json +342 -323
  175. package/lib/module/locale/es.json +342 -323
  176. package/lib/module/locale/et.json +342 -323
  177. package/lib/module/locale/fa.json +342 -323
  178. package/lib/module/locale/fi.json +342 -323
  179. package/lib/module/locale/fr-ca.json +342 -323
  180. package/lib/module/locale/fr.json +342 -323
  181. package/lib/module/locale/gd.json +342 -323
  182. package/lib/module/locale/he.json +342 -323
  183. package/lib/module/locale/hi.json +342 -323
  184. package/lib/module/locale/hr.json +342 -323
  185. package/lib/module/locale/hu.json +342 -323
  186. package/lib/module/locale/hy.json +342 -323
  187. package/lib/module/locale/id.json +342 -323
  188. package/lib/module/locale/is.json +342 -323
  189. package/lib/module/locale/it.json +342 -323
  190. package/lib/module/locale/ja.json +342 -323
  191. package/lib/module/locale/kk.json +342 -323
  192. package/lib/module/locale/ko.json +342 -323
  193. package/lib/module/locale/lt.json +342 -323
  194. package/lib/module/locale/lv.json +342 -323
  195. package/lib/module/locale/mi.json +342 -323
  196. package/lib/module/locale/ms.json +342 -323
  197. package/lib/module/locale/nb.json +342 -323
  198. package/lib/module/locale/nl-be.json +342 -323
  199. package/lib/module/locale/nl.json +342 -323
  200. package/lib/module/locale/nn.json +342 -323
  201. package/lib/module/locale/no.json +342 -323
  202. package/lib/module/locale/pl.json +342 -323
  203. package/lib/module/locale/pt-br.json +342 -323
  204. package/lib/module/locale/pt.json +342 -323
  205. package/lib/module/locale/ro.json +342 -323
  206. package/lib/module/locale/ru.json +342 -323
  207. package/lib/module/locale/sk.json +342 -323
  208. package/lib/module/locale/sl.json +342 -323
  209. package/lib/module/locale/sq.json +342 -323
  210. package/lib/module/locale/sr.json +342 -323
  211. package/lib/module/locale/sv.json +342 -323
  212. package/lib/module/locale/th.json +342 -323
  213. package/lib/module/locale/tl.json +342 -323
  214. package/lib/module/locale/tr.json +342 -323
  215. package/lib/module/locale/uk.json +342 -323
  216. package/lib/module/locale/vi.json +342 -323
  217. package/lib/module/locale/zh-hk.json +342 -323
  218. package/lib/module/locale/zh-tw.json +342 -323
  219. package/lib/module/locale/zh.json +342 -323
  220. package/lib/module/locale/zu.json +342 -323
  221. package/lib/module/native/OsanoCmp.js +12 -0
  222. package/lib/module/native/OsanoCmp.js.map +1 -1
  223. package/lib/module/selectors.js +1 -1
  224. package/lib/module/selectors.js.map +1 -1
  225. package/lib/module/services/consent.js +54 -7
  226. package/lib/module/services/consent.js.map +1 -1
  227. package/lib/module/services/google-consent-mode-mapper.js +103 -0
  228. package/lib/module/services/google-consent-mode-mapper.js.map +1 -0
  229. package/lib/module/types/google-consent-mode.js +70 -0
  230. package/lib/module/types/google-consent-mode.js.map +1 -0
  231. package/lib/module/utils/EventEmitter.js +0 -2
  232. package/lib/module/utils/EventEmitter.js.map +1 -1
  233. package/lib/module/utils/OsanoLogger.js +44 -0
  234. package/lib/module/utils/OsanoLogger.js.map +1 -0
  235. package/lib/module/utils/Translator.js +2 -2
  236. package/lib/module/utils/Translator.js.map +1 -1
  237. package/lib/module/utils/index.js +1 -0
  238. package/lib/module/utils/index.js.map +1 -1
  239. package/lib/typescript/lib/commonjs/ConsentManager.d.ts +17 -1
  240. package/lib/typescript/lib/commonjs/ConsentManager.d.ts.map +1 -1
  241. package/lib/typescript/lib/commonjs/ConsentUiBuilder.d.ts.map +1 -1
  242. package/lib/typescript/lib/commonjs/commands.d.ts.map +1 -1
  243. package/lib/typescript/lib/commonjs/components/Button.d.ts.map +1 -1
  244. package/lib/typescript/lib/commonjs/components/Checkbox.d.ts.map +1 -1
  245. package/lib/typescript/lib/commonjs/components/ExpansionPanel.d.ts.map +1 -1
  246. package/lib/typescript/lib/commonjs/components/Link.d.ts.map +1 -1
  247. package/lib/typescript/lib/commonjs/components/StoragePolicyLink.d.ts.map +1 -1
  248. package/lib/typescript/lib/commonjs/components/Toggle.d.ts.map +1 -1
  249. package/lib/typescript/lib/commonjs/constants.d.ts.map +1 -1
  250. package/lib/typescript/lib/commonjs/iab/gpp/api.d.ts.map +1 -1
  251. package/lib/typescript/lib/commonjs/iab/gpp/consent.d.ts.map +1 -1
  252. package/lib/typescript/lib/commonjs/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +1 -1
  253. package/lib/typescript/lib/commonjs/iab/gpp/v1/index.d.ts +1 -3
  254. package/lib/typescript/lib/commonjs/iab/gpp/v1/index.d.ts.map +1 -1
  255. package/lib/typescript/lib/commonjs/iab/index.d.ts.map +1 -1
  256. package/lib/typescript/lib/commonjs/iab/tcf/consent.d.ts.map +1 -1
  257. package/lib/typescript/lib/commonjs/iab/tcf/constants.d.ts +41 -1
  258. package/lib/typescript/lib/commonjs/iab/tcf/constants.d.ts.map +1 -1
  259. package/lib/typescript/lib/commonjs/iab/tcf/iab-storage-utils.d.ts +9 -0
  260. package/lib/typescript/lib/commonjs/iab/tcf/iab-storage-utils.d.ts.map +1 -0
  261. package/lib/typescript/lib/commonjs/iab/tcf/middleware.d.ts.map +1 -1
  262. package/lib/typescript/lib/commonjs/iab/tcf/reducer.d.ts.map +1 -1
  263. package/lib/typescript/lib/commonjs/iab/tcf/selectors.d.ts +0 -1
  264. package/lib/typescript/lib/commonjs/iab/tcf/selectors.d.ts.map +1 -1
  265. package/lib/typescript/lib/commonjs/iab/tcf/v2.0/shared-constants.d.ts.map +1 -1
  266. package/lib/typescript/lib/commonjs/iab/usp/api.d.ts +1 -1
  267. package/lib/typescript/lib/commonjs/iab/usp/api.d.ts.map +1 -1
  268. package/lib/typescript/lib/commonjs/iab/usp/consent.d.ts.map +1 -1
  269. package/lib/typescript/lib/commonjs/iab/usp/selectors.d.ts +1 -4
  270. package/lib/typescript/lib/commonjs/iab/usp/selectors.d.ts.map +1 -1
  271. package/lib/typescript/lib/commonjs/iab/usp/v1/index.d.ts.map +1 -1
  272. package/lib/typescript/lib/commonjs/index.d.ts +2 -0
  273. package/lib/typescript/lib/commonjs/native/OsanoCmp.d.ts +4 -0
  274. package/lib/typescript/lib/commonjs/native/OsanoCmp.d.ts.map +1 -1
  275. package/lib/typescript/lib/commonjs/reducer.d.ts +7 -1
  276. package/lib/typescript/lib/commonjs/reducer.d.ts.map +1 -1
  277. package/lib/typescript/lib/commonjs/services/consent.d.ts +4 -0
  278. package/lib/typescript/lib/commonjs/services/consent.d.ts.map +1 -1
  279. package/lib/typescript/lib/commonjs/services/google-consent-mode-mapper.d.ts +72 -0
  280. package/lib/typescript/lib/commonjs/services/google-consent-mode-mapper.d.ts.map +1 -0
  281. package/lib/typescript/lib/commonjs/types/google-consent-mode.d.ts +32 -0
  282. package/lib/typescript/lib/commonjs/types/google-consent-mode.d.ts.map +1 -0
  283. package/lib/typescript/lib/commonjs/utils/EventEmitter.d.ts.map +1 -1
  284. package/lib/typescript/lib/commonjs/utils/OsanoLogger.d.ts +16 -0
  285. package/lib/typescript/lib/commonjs/utils/OsanoLogger.d.ts.map +1 -0
  286. package/lib/typescript/lib/commonjs/utils/Translator.d.ts +1 -1
  287. package/lib/typescript/lib/commonjs/utils/Translator.d.ts.map +1 -1
  288. package/lib/typescript/lib/commonjs/utils/index.d.ts +2 -0
  289. package/lib/typescript/lib/commonjs/utils/index.d.ts.map +1 -1
  290. package/lib/typescript/lib/commonjs/views/Dialog/Buttons.d.ts.map +1 -1
  291. package/lib/typescript/lib/commonjs/views/Dialog/FirstLayerUsage.d.ts.map +1 -1
  292. package/lib/typescript/lib/commonjs/views/Dialog/Message.d.ts.map +1 -1
  293. package/lib/typescript/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.d.ts.map +1 -1
  294. package/lib/typescript/lib/commonjs/views/Dialog/index.d.ts.map +1 -1
  295. package/lib/typescript/lib/commonjs/views/Drawer/Drawer.ConsentCategories.d.ts.map +1 -1
  296. package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Header.d.ts.map +1 -1
  297. package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.d.ts.map +1 -1
  298. package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.d.ts.map +1 -1
  299. package/lib/typescript/lib/commonjs/views/Drawer/index.d.ts.map +1 -1
  300. package/lib/typescript/lib/module/ConsentManager.d.ts +18 -2
  301. package/lib/typescript/lib/module/ConsentManager.d.ts.map +1 -1
  302. package/lib/typescript/lib/module/ConsentUiBuilder.d.ts +1 -0
  303. package/lib/typescript/lib/module/ConsentUiBuilder.d.ts.map +1 -1
  304. package/lib/typescript/lib/module/actions.d.ts.map +1 -1
  305. package/lib/typescript/lib/module/commands.d.ts +1 -1
  306. package/lib/typescript/lib/module/commands.d.ts.map +1 -1
  307. package/lib/typescript/lib/module/components/Button.d.ts.map +1 -1
  308. package/lib/typescript/lib/module/constants.d.ts.map +1 -1
  309. package/lib/typescript/lib/module/context.d.ts +10 -1
  310. package/lib/typescript/lib/module/context.d.ts.map +1 -1
  311. package/lib/typescript/lib/module/flavors/index.d.ts.map +1 -1
  312. package/lib/typescript/lib/module/iab/constants.d.ts.map +1 -1
  313. package/lib/typescript/lib/module/iab/gpp/api.d.ts.map +1 -1
  314. package/lib/typescript/lib/module/iab/gpp/consent.d.ts.map +1 -1
  315. package/lib/typescript/lib/module/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +1 -1
  316. package/lib/typescript/lib/module/iab/gpp/v1/constants.d.ts.map +1 -1
  317. package/lib/typescript/lib/module/iab/gpp/v1/index.d.ts +1 -3
  318. package/lib/typescript/lib/module/iab/gpp/v1/index.d.ts.map +1 -1
  319. package/lib/typescript/lib/module/iab/index.d.ts.map +1 -1
  320. package/lib/typescript/lib/module/iab/tcf/consent.d.ts.map +1 -1
  321. package/lib/typescript/lib/module/iab/tcf/constants.d.ts +41 -1
  322. package/lib/typescript/lib/module/iab/tcf/constants.d.ts.map +1 -1
  323. package/lib/typescript/lib/module/iab/tcf/iab-storage-utils.d.ts +8 -0
  324. package/lib/typescript/lib/module/iab/tcf/iab-storage-utils.d.ts.map +1 -0
  325. package/lib/typescript/lib/module/iab/tcf/index.d.ts +0 -2
  326. package/lib/typescript/lib/module/iab/tcf/index.d.ts.map +1 -1
  327. package/lib/typescript/lib/module/iab/tcf/middleware.d.ts.map +1 -1
  328. package/lib/typescript/lib/module/iab/tcf/reducer.d.ts.map +1 -1
  329. package/lib/typescript/lib/module/iab/tcf/selectors.d.ts +0 -1
  330. package/lib/typescript/lib/module/iab/tcf/selectors.d.ts.map +1 -1
  331. package/lib/typescript/lib/module/iab/tcf/v2.0/index.d.ts +0 -2
  332. package/lib/typescript/lib/module/iab/tcf/v2.0/index.d.ts.map +1 -1
  333. package/lib/typescript/lib/module/iab/tcf/v2.0/shared-constants.d.ts +0 -1
  334. package/lib/typescript/lib/module/iab/tcf/v2.0/shared-constants.d.ts.map +1 -1
  335. package/lib/typescript/lib/module/iab/tcf/v2.0/tcfcav1-constants.d.ts +5 -2
  336. package/lib/typescript/lib/module/iab/tcf/v2.0/tcfcav1-constants.d.ts.map +1 -1
  337. package/lib/typescript/lib/module/iab/tcf/v2.0/tcfeuv2-constants.d.ts +0 -1
  338. package/lib/typescript/lib/module/iab/tcf/v2.0/tcfeuv2-constants.d.ts.map +1 -1
  339. package/lib/typescript/lib/module/iab/usp/api.d.ts +1 -1
  340. package/lib/typescript/lib/module/iab/usp/api.d.ts.map +1 -1
  341. package/lib/typescript/lib/module/iab/usp/consent.d.ts.map +1 -1
  342. package/lib/typescript/lib/module/iab/usp/selectors.d.ts +1 -4
  343. package/lib/typescript/lib/module/iab/usp/selectors.d.ts.map +1 -1
  344. package/lib/typescript/lib/module/iab/usp/v1/constants.d.ts.map +1 -1
  345. package/lib/typescript/lib/module/iab/usp/v1/index.d.ts +1 -1
  346. package/lib/typescript/lib/module/iab/usp/v1/index.d.ts.map +1 -1
  347. package/lib/typescript/lib/module/index.d.ts +1 -0
  348. package/lib/typescript/lib/module/index.d.ts.map +1 -1
  349. package/lib/typescript/lib/module/native/OsanoCmp.d.ts +4 -0
  350. package/lib/typescript/lib/module/native/OsanoCmp.d.ts.map +1 -1
  351. package/lib/typescript/lib/module/reducer.d.ts +7 -1
  352. package/lib/typescript/lib/module/reducer.d.ts.map +1 -1
  353. package/lib/typescript/lib/module/services/consent.d.ts +4 -0
  354. package/lib/typescript/lib/module/services/consent.d.ts.map +1 -1
  355. package/lib/typescript/lib/module/services/google-consent-mode-mapper.d.ts +71 -0
  356. package/lib/typescript/lib/module/services/google-consent-mode-mapper.d.ts.map +1 -0
  357. package/lib/typescript/lib/module/types/google-consent-mode.d.ts +38 -0
  358. package/lib/typescript/lib/module/types/google-consent-mode.d.ts.map +1 -0
  359. package/lib/typescript/lib/module/utils/EventEmitter.d.ts.map +1 -1
  360. package/lib/typescript/lib/module/utils/OsanoLogger.d.ts +15 -0
  361. package/lib/typescript/lib/module/utils/OsanoLogger.d.ts.map +1 -0
  362. package/lib/typescript/lib/module/utils/Translator.d.ts +1 -1
  363. package/lib/typescript/lib/module/utils/Translator.d.ts.map +1 -1
  364. package/lib/typescript/lib/module/utils/index.d.ts +1 -0
  365. package/lib/typescript/src/ConsentManager.d.ts +24 -7
  366. package/lib/typescript/src/ConsentManager.d.ts.map +1 -1
  367. package/lib/typescript/src/ConsentUiBuilder.d.ts +1 -1
  368. package/lib/typescript/src/ConsentUiBuilder.d.ts.map +1 -1
  369. package/lib/typescript/src/commands.d.ts.map +1 -1
  370. package/lib/typescript/src/components/Button.d.ts +1 -1
  371. package/lib/typescript/src/components/Button.d.ts.map +1 -1
  372. package/lib/typescript/src/components/Divider.d.ts.map +1 -1
  373. package/lib/typescript/src/components/ExpansionPanel.d.ts.map +1 -1
  374. package/lib/typescript/src/components/Link.d.ts.map +1 -1
  375. package/lib/typescript/src/components/Locale.d.ts.map +1 -1
  376. package/lib/typescript/src/components/StoragePolicyLink.d.ts.map +1 -1
  377. package/lib/typescript/src/components/Toggle.d.ts.map +1 -1
  378. package/lib/typescript/src/context.d.ts +5 -2
  379. package/lib/typescript/src/context.d.ts.map +1 -1
  380. package/lib/typescript/src/iab/actions.d.ts.map +1 -1
  381. package/lib/typescript/src/iab/gpp/api.d.ts.map +1 -1
  382. package/lib/typescript/src/iab/gpp/consent.d.ts.map +1 -1
  383. package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +1 -1
  384. package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts.map +1 -1
  385. package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts.map +1 -1
  386. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +1 -1
  387. package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +1 -1
  388. package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +1 -1
  389. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +1 -1
  390. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +1 -1
  391. package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +1 -1
  392. package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts.map +1 -1
  393. package/lib/typescript/src/iab/gpp/v1/constants.d.ts.map +1 -1
  394. package/lib/typescript/src/iab/gpp/v1/index.d.ts +1 -3
  395. package/lib/typescript/src/iab/gpp/v1/index.d.ts.map +1 -1
  396. package/lib/typescript/src/iab/index.d.ts.map +1 -1
  397. package/lib/typescript/src/iab/tcf/actions.d.ts.map +1 -1
  398. package/lib/typescript/src/iab/tcf/consent.d.ts.map +1 -1
  399. package/lib/typescript/src/iab/tcf/constants.d.ts +32 -0
  400. package/lib/typescript/src/iab/tcf/constants.d.ts.map +1 -1
  401. package/lib/typescript/src/iab/tcf/helpers.d.ts.map +1 -1
  402. package/lib/typescript/src/iab/tcf/iab-storage-utils.d.ts +24 -0
  403. package/lib/typescript/src/iab/tcf/iab-storage-utils.d.ts.map +1 -0
  404. package/lib/typescript/src/iab/tcf/middleware.d.ts.map +1 -1
  405. package/lib/typescript/src/iab/tcf/reducer.d.ts.map +1 -1
  406. package/lib/typescript/src/iab/tcf/selectors.d.ts.map +1 -1
  407. package/lib/typescript/src/iab/tcf/v2.0/formatters.d.ts.map +1 -1
  408. package/lib/typescript/src/iab/tcf/v2.0/shared-constants.d.ts.map +1 -1
  409. package/lib/typescript/src/iab/tcf/v2.0/tcfcav1-constants.d.ts.map +1 -1
  410. package/lib/typescript/src/iab/tcf/v2.0/tcfeuv2-constants.d.ts.map +1 -1
  411. package/lib/typescript/src/iab/usp/api.d.ts +1 -1
  412. package/lib/typescript/src/iab/usp/api.d.ts.map +1 -1
  413. package/lib/typescript/src/iab/usp/consent.d.ts.map +1 -1
  414. package/lib/typescript/src/iab/usp/selectors.d.ts +1 -4
  415. package/lib/typescript/src/iab/usp/selectors.d.ts.map +1 -1
  416. package/lib/typescript/src/iab/usp/v1/constants.d.ts.map +1 -1
  417. package/lib/typescript/src/iab/usp/v1/index.d.ts +1 -1
  418. package/lib/typescript/src/iab/usp/v1/index.d.ts.map +1 -1
  419. package/lib/typescript/src/iab/utilities.d.ts.map +1 -1
  420. package/lib/typescript/src/index.d.ts +2 -0
  421. package/lib/typescript/src/index.d.ts.map +1 -1
  422. package/lib/typescript/src/native/OsanoCmp.d.ts +4 -0
  423. package/lib/typescript/src/native/OsanoCmp.d.ts.map +1 -1
  424. package/lib/typescript/src/reducer.d.ts.map +1 -1
  425. package/lib/typescript/src/selectors.d.ts.map +1 -1
  426. package/lib/typescript/src/services/consent.d.ts +13 -2
  427. package/lib/typescript/src/services/consent.d.ts.map +1 -1
  428. package/lib/typescript/src/services/google-consent-mode-mapper.d.ts +66 -0
  429. package/lib/typescript/src/services/google-consent-mode-mapper.d.ts.map +1 -0
  430. package/lib/typescript/src/styles.d.ts.map +1 -1
  431. package/lib/typescript/src/types/google-consent-mode.d.ts +77 -0
  432. package/lib/typescript/src/types/google-consent-mode.d.ts.map +1 -0
  433. package/lib/typescript/src/utils/Color.d.ts.map +1 -1
  434. package/lib/typescript/src/utils/EventEmitter.d.ts.map +1 -1
  435. package/lib/typescript/src/utils/OsanoLogger.d.ts +15 -0
  436. package/lib/typescript/src/utils/OsanoLogger.d.ts.map +1 -0
  437. package/lib/typescript/src/utils/index.d.ts +1 -0
  438. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  439. package/package.json +4 -2
  440. package/src/ConsentManager.ts +131 -22
  441. package/src/ConsentUiBuilder.tsx +23 -13
  442. package/src/commands.ts +11 -8
  443. package/src/components/Button.tsx +17 -17
  444. package/src/context.ts +14 -9
  445. package/src/iab/tcf/consent.ts +11 -16
  446. package/src/iab/tcf/constants.ts +46 -0
  447. package/src/iab/tcf/iab-storage-utils.ts +166 -0
  448. package/src/iab/tcf/middleware.ts +43 -51
  449. package/src/index.tsx +77 -22
  450. package/src/locale/af.json +342 -323
  451. package/src/locale/ar.json +342 -323
  452. package/src/locale/bg.json +342 -323
  453. package/src/locale/ca.json +342 -323
  454. package/src/locale/cs.json +342 -323
  455. package/src/locale/da.json +342 -323
  456. package/src/locale/de-at.json +342 -323
  457. package/src/locale/de.json +342 -323
  458. package/src/locale/el.json +342 -323
  459. package/src/locale/en-au.json +342 -323
  460. package/src/locale/en-ca.json +342 -323
  461. package/src/locale/en-gb.json +342 -323
  462. package/src/locale/en.json +342 -323
  463. package/src/locale/es-mx.json +342 -323
  464. package/src/locale/es.json +342 -323
  465. package/src/locale/et.json +342 -323
  466. package/src/locale/fa.json +342 -323
  467. package/src/locale/fi.json +342 -323
  468. package/src/locale/fr-ca.json +342 -323
  469. package/src/locale/fr.json +342 -323
  470. package/src/locale/gd.json +342 -323
  471. package/src/locale/he.json +342 -323
  472. package/src/locale/hi.json +342 -323
  473. package/src/locale/hr.json +342 -323
  474. package/src/locale/hu.json +342 -323
  475. package/src/locale/hy.json +342 -323
  476. package/src/locale/id.json +342 -323
  477. package/src/locale/is.json +342 -323
  478. package/src/locale/it.json +342 -323
  479. package/src/locale/ja.json +342 -323
  480. package/src/locale/kk.json +342 -323
  481. package/src/locale/ko.json +342 -323
  482. package/src/locale/lt.json +342 -323
  483. package/src/locale/lv.json +342 -323
  484. package/src/locale/mi.json +342 -323
  485. package/src/locale/ms.json +342 -323
  486. package/src/locale/nb.json +342 -323
  487. package/src/locale/nl-be.json +342 -323
  488. package/src/locale/nl.json +342 -323
  489. package/src/locale/nn.json +342 -323
  490. package/src/locale/no.json +342 -323
  491. package/src/locale/pl.json +342 -323
  492. package/src/locale/pt-br.json +342 -323
  493. package/src/locale/pt.json +342 -323
  494. package/src/locale/ro.json +342 -323
  495. package/src/locale/ru.json +342 -323
  496. package/src/locale/sk.json +342 -323
  497. package/src/locale/sl.json +342 -323
  498. package/src/locale/sq.json +342 -323
  499. package/src/locale/sr.json +342 -323
  500. package/src/locale/sv.json +342 -323
  501. package/src/locale/th.json +342 -323
  502. package/src/locale/tl.json +342 -323
  503. package/src/locale/tr.json +342 -323
  504. package/src/locale/uk.json +342 -323
  505. package/src/locale/vi.json +342 -323
  506. package/src/locale/zh-hk.json +342 -323
  507. package/src/locale/zh-tw.json +342 -323
  508. package/src/locale/zh.json +342 -323
  509. package/src/locale/zu.json +342 -323
  510. package/src/native/OsanoCmp.ts +29 -0
  511. package/src/selectors.ts +1 -0
  512. package/src/services/consent.ts +75 -9
  513. package/src/services/google-consent-mode-mapper.ts +122 -0
  514. package/src/types/consent-config.d.ts +0 -3
  515. package/src/types/google-consent-mode.ts +122 -0
  516. package/src/types/index.d.ts +4 -2
  517. package/src/utils/EventEmitter.ts +1 -3
  518. package/src/utils/OsanoLogger.ts +53 -0
  519. package/src/utils/Translator.ts +15 -15
  520. package/src/utils/index.ts +2 -0
@@ -1,336 +1,355 @@
1
1
  {
2
- "buttons": {
3
- "accept": "Aanvaar",
4
- "acceptAll": "Aanvaar Almal",
5
- "deny": "Ontken",
6
- "dialog": {
7
- "denyAll": {
8
- "fr": "Gaan voort sonder om te aanvaar"
9
- },
10
- "openDrawer": {
11
- "fr": "Pas jou keuses aan"
12
- }
13
- },
14
- "denyAll": "Verwerp Almal",
15
- "managePreferences": "Bestuur voorkeure",
16
- "save": "Stoor",
17
- "storagePolicy": "Databergingsbeleid"
2
+ "buttons": {
3
+ "accept": "Aanvaar",
4
+ "acceptAll": "Aanvaar Almal",
5
+ "deny": "Ontken",
6
+ "denyNonEssential": "Ontken Nie-noodsaaklik",
7
+ "rejectNonEssential": "Verwerp Nie-noodsaaklik",
8
+ "dialog": {
9
+ "denyAll": {
10
+ "fr": "Gaan voort sonder om te aanvaar"
11
+ },
12
+ "openDrawer": {
13
+ "fr": "Pas jou keuses aan"
14
+ }
18
15
  },
19
- "categories": {
20
- "ESSENTIAL": {
21
- "label": "Noodsaaklik",
22
- "description": "Vereis om basiese webwerffunksionaliteit te aktiveer. Jy mag nie noodsaaklike koekies deaktiveer nie."
23
- },
24
- "MARKETING": {
25
- "label": "Geteikende advertensies",
26
- "description": "Word gebruik om advertensies te lewer wat meer relevant is vir jou en jou belangstellings. Kan ook gebruik word om die aantal kere wat jy 'n advertensie sien te beperk en die doeltreffendheid van advertensieveldtogte te meet. Advertensienetwerke plaas dit gewoonlik met die webwerf-operateur se toestemming."
27
- },
28
- "PERSONALIZATION": {
29
- "label": "Verpersoonliking",
30
- "description": "Laat die webwerf toe om keuses wat jy maak (soos jou gebruikersnaam, taal of die streek waarin jy is) te onthou en verbeterde, meer persoonlike kenmerke te verskaf. Byvoorbeeld, 'n webwerf kan jou van plaaslike weerberigte of verkeersnuus voorsien deur data oor jou algemene ligging te stoor."
31
- },
32
- "ANALYTICS": {
33
- "label": "Ontleding",
34
- "description": "Help die webwerf-operateur om te verstaan ​​hoe sy webwerf vaar, hoe besoekers met die webwerf omgaan en of daar tegniese probleme kan wees."
35
- },
36
- "STORAGE": {
37
- "label": "Berging",
38
- "description": "Laat die webwerf toe om data plaaslik op jou toestel te stoor. Byvoorbeeld, hierdie webwerf kan data stoor wat jou vorige keuses, soekfilters of ander inligting sal onthou wat 'n naatlose gebruikerservaring sal bied terwyl jy deur die webwerf navigeer."
39
- },
40
- "OPT_OUT": {
41
- "label": "Moenie my persoonlike inligting verkoop of deel nie",
42
- "description": "Deur die skakelaar na regs te skakel en op stoor te klik, dui jy aan dat jy nie wil hê ons moet jou persoonlike inligting verkoop of jou persoonlike inligting deel vir aanlyn-geteikende advertensie-aktiwiteite nie. Neem asseblief kennis as jy verskillende rekenaars of blaaiers gebruik, moet jy weer jou keuses aandui op elke rekenaar of blaaier wat gebruik word om toegang tot ons dienste te kry."
43
- }
16
+ "denyAll": "Verwerp Almal",
17
+ "managePreferences": "Bestuur voorkeure",
18
+ "save": "Stoor",
19
+ "storagePolicy": "Databergingsbeleid"
20
+ },
21
+ "categories": {
22
+ "ESSENTIAL": {
23
+ "label": "Noodsaaklik",
24
+ "description": "Vereis om basiese webwerffunksionaliteit te aktiveer. Jy mag nie noodsaaklike koekies deaktiveer nie."
44
25
  },
45
- "dialog": {
46
- "close": "Maak hierdie dialoog toe",
47
- "label": "Koekie toestemming banier"
26
+ "MARKETING": {
27
+ "label": "Geteikende advertensies",
28
+ "description": "Word gebruik om advertensies te lewer wat meer relevant is vir jou en jou belangstellings. Kan ook gebruik word om die aantal kere wat jy 'n advertensie sien te beperk en die doeltreffendheid van advertensieveldtogte te meet. Advertensienetwerke plaas dit gewoonlik met die webwerf-operateur se toestemming."
48
29
  },
49
- "messaging": {
50
- "poweredBy": "Aangedryf deur Osano",
51
- "default": "Hierdie webwerf gebruik tegnologieë soos webkoekies om noodsaaklike werffunksionaliteit te aktiveer, sowel as vir %{analytics}, %{personalization} en %{marketing}.",
52
- "categories": "Jy kan jou instellings enige tyd verander of die verstekinstellings aanvaar.",
53
- "cookieQuestion": "Wat is 'n koekie?",
54
- "timer": "Om meer te wete te kom, sien die volgende skakel:",
55
- "privacyPolicy": "Privaatheidsbeleid",
56
- "cookiePolicy": "Koekiebeleid",
57
- "privacyNotice": "Privaatheidskennisgewing",
58
- "cookieNotice": "Koekiekennisgewing",
59
- "moreDetails": "Meer besonderhede",
60
- "widgetAltText": "Koekievoorkeure",
61
- "usageWhat": "Om jou ervaring te verbeter, stoor ons (en ons vennote) inligting op jou terminale (koekie of ekwivalent) met jou toestemming vir al ons webwerwe en toepassings, op jou gekoppelde terminale.",
62
- "usageHow": "Ons webwerf kan hierdie koekies gebruik om:",
63
- "usageList": "Meet die gehoor van die advertensies op ons webwerf, sonder profilering\nVertoon gepersonaliseerde advertensies gebaseer op jou navigasie en jou profiel\nVerpersoonlik ons ​​redaksionele inhoud gebaseer op jou navigasie\nLaat jou toe om inhoud te deel op sosiale netwerke of platforms wat op ons webwerf teenwoordig is\nStuur vir jou advertensies gebaseer op jou ligging",
64
- "viewCookies": "Bekyk koekies",
65
- "closeButton": "Jy kan hierdie banier toemaak om voort te gaan met slegs noodsaaklike koekies.",
66
- "subjectRightsRequest": "Onderwerpregteversoek",
67
- "doNotSellOrShare": "Moenie my persoonlike inligting verkoop of deel nie",
68
- "securityPolicy": "Sekuriteitsbeleid",
69
- "imprint": "Afdruk",
70
- "googlePrivacyPolicy": "Google Privaatheidsbeleid"
30
+ "PERSONALIZATION": {
31
+ "label": "Verpersoonliking",
32
+ "description": "Laat die webwerf toe om keuses wat jy maak (soos jou gebruikersnaam, taal of die streek waarin jy is) te onthou en verbeterde, meer persoonlike kenmerke te verskaf. Byvoorbeeld, 'n webwerf kan jou van plaaslike weerberigte of verkeersnuus voorsien deur data oor jou algemene ligging te stoor."
71
33
  },
72
- "disclosure": {
73
- "day": "dag",
74
- "label": "Bergingsitems",
75
- "none": "Geen bergingitems nie",
76
- "cookie": {
77
- "purpose": "Doel",
78
- "expiry": "Vervaldatum",
79
- "name": "Naam",
80
- "classification": "Klassifikasie",
81
- "provider": "Verskaffer"
82
- },
83
- "dayPlural": "dae",
84
- "script": {
85
- "purpose": "Doel",
86
- "name": "Naam",
87
- "classification": "Klassifikasie",
88
- "provider": "Verskaffer"
89
- }
34
+ "ANALYTICS": {
35
+ "label": "Ontleding",
36
+ "description": "Help die webwerf-operateur om te verstaan ​​hoe sy webwerf vaar, hoe besoekers met die webwerf omgaan en of daar tegniese probleme kan wees."
37
+ },
38
+ "STORAGE": {
39
+ "label": "Berging",
40
+ "description": "Laat die webwerf toe om data plaaslik op jou toestel te stoor. Byvoorbeeld, hierdie webwerf kan data stoor wat jou vorige keuses, soekfilters of ander inligting sal onthou wat 'n naatlose gebruikerservaring sal bied terwyl jy deur die webwerf navigeer."
41
+ },
42
+ "OPT_OUT": {
43
+ "label": "Moenie my persoonlike inligting verkoop of deel nie",
44
+ "description": "Deur die skakelaar na regs te skakel en op stoor te klik, dui jy aan dat jy nie wil hê ons moet jou persoonlike inligting verkoop of jou persoonlike inligting deel vir aanlyn-geteikende advertensie-aktiwiteite nie. Neem asseblief kennis as jy verskillende rekenaars of blaaiers gebruik, moet jy weer jou keuses aandui op elke rekenaar of blaaier wat gebruik word om toegang tot ons dienste te kry."
45
+ }
46
+ },
47
+ "dialog": {
48
+ "close": "Maak hierdie dialoog toe",
49
+ "label": "Koekie toestemming banier"
50
+ },
51
+ "messaging": {
52
+ "poweredBy": "Aangedryf deur Osano",
53
+ "default": "Hierdie webwerf gebruik tegnologieë soos webkoekies om noodsaaklike werffunksionaliteit te aktiveer, sowel as vir %{analytics}, %{personalization} en %{marketing}.",
54
+ "categories": "Jy kan jou instellings enige tyd verander of die verstekinstellings aanvaar.",
55
+ "cookieQuestion": "Wat is 'n koekie?",
56
+ "timer": "Om meer te wete te kom, sien die volgende skakel:",
57
+ "privacyPolicy": "Privaatheidsbeleid",
58
+ "cookiePolicy": "Koekiebeleid",
59
+ "privacyNotice": "Privaatheidskennisgewing",
60
+ "cookieNotice": "Koekiekennisgewing",
61
+ "moreDetails": "Meer besonderhede",
62
+ "widgetAltText": "Koekievoorkeure",
63
+ "usageWhat": "Om jou ervaring te verbeter, stoor ons (en ons vennote) inligting op jou terminale (koekie of ekwivalent) met jou toestemming vir al ons webwerwe en toepassings, op jou gekoppelde terminale.",
64
+ "usageHow": "Ons webwerf kan hierdie koekies gebruik om:",
65
+ "usageList": "Meet die gehoor van die advertensies op ons webwerf, sonder profilering\nVertoon gepersonaliseerde advertensies gebaseer op jou navigasie en jou profiel\nVerpersoonlik ons ​​redaksionele inhoud gebaseer op jou navigasie\nLaat jou toe om inhoud te deel op sosiale netwerke of platforms wat op ons webwerf teenwoordig is\nStuur vir jou advertensies gebaseer op jou ligging",
66
+ "viewCookies": "Bekyk koekies",
67
+ "viewDisclosures": "Bekyk Openbaarmakings",
68
+ "closeButton": "Jy kan hierdie banier toemaak om voort te gaan met slegs noodsaaklike koekies.",
69
+ "subjectRightsRequest": "Onderwerpregteversoek",
70
+ "doNotSellOrShare": "Moenie my persoonlike inligting verkoop of deel nie",
71
+ "securityPolicy": "Sekuriteitsbeleid",
72
+ "imprint": "Afdruk",
73
+ "googlePrivacyPolicy": "Google Privaatheidsbeleid",
74
+ "termsAndConditions": "Bepalings en voorwaardes",
75
+ "termsOfService": "Diensbepalings"
76
+ },
77
+ "disclosure": {
78
+ "day": "dag",
79
+ "label": "Bergingsitems",
80
+ "none": "Geen bergingitems nie",
81
+ "noProvider": "Geen verskaffer gelys nie",
82
+ "cookie": {
83
+ "purpose": "Doel",
84
+ "expiry": "Vervaldatum",
85
+ "name": "Naam",
86
+ "classification": "Klassifikasie",
87
+ "provider": "Verskaffer"
88
+ },
89
+ "dayPlural": "dae",
90
+ "script": {
91
+ "purpose": "Doel",
92
+ "name": "Naam",
93
+ "classification": "Klassifikasie",
94
+ "provider": "Verskaffer"
95
+ },
96
+ "titles": {
97
+ "classification": "Klassifikasie",
98
+ "expiry": "Vervaldatum",
99
+ "name": "Naam",
100
+ "provider": "Verskaffer",
101
+ "purpose": "Doel",
102
+ "type": "Tik"
103
+ },
104
+ "types": {
105
+ "localStorage": "Plaaslike berging",
106
+ "trackingPixel": "Volg Pixel"
107
+ }
108
+ },
109
+ "drawer": {
110
+ "header": "Bergingvoorkeure",
111
+ "close": "Maak Koekievoorkeure toe",
112
+ "description": "Wanneer jy webwerwe besoek, kan hulle data oor jou stoor of ophaal met behulp van koekies en soortgelyke tegnologieë (\"koekies\"). Koekies kan nodig wees vir die basiese funksionaliteit van die webwerf sowel as ander doeleindes. Jy het die opsie om sekere soorte webkoekies te deaktiveer, alhoewel dit jou ervaring op die webwerf kan beïnvloed."
113
+ },
114
+ "doNotSell": {
115
+ "header": "Jou privaatheidskeuses",
116
+ "description": "Ons laat sekere aanlyn-advertensievennote toe om inligting van ons dienste in te samel deur middel van webkoekies en soortgelyke tegnologieë om advertensies te lewer wat meer relevant is vir jou en ons te help met advertensieverwante ontledings. Dit kan ingevolge sekere wette beskou word as \"verkoop\" of \"deel\" vir geteikende aanlyn-advertensies. Gebruik die skakelaar hieronder om van hierdie aktiwiteit te onttrek.",
117
+ "link": "Jy kan meer oor ons privaatheidspraktyke te wete kom deur ons beleide na te gaan:"
118
+ },
119
+ "aria": {
120
+ "newWindow": "Maak in 'n nuwe venster oop",
121
+ "external": "Maak 'n eksterne webwerf oop",
122
+ "externalNewWindow": "Maak 'n eksterne webwerf in 'n nuwe venster oop"
123
+ },
124
+ "iab": {
125
+ "layer1": "Ons en ons %{vendorCount} IAB TCF-vennote stoor en kry toegang tot inligting op jou toestel vir die volgende doeleindes: %{stacks}. \n\n\nPersoonlike data kan verwerk word om die volgende te doen: %{iab.specialFeatures.1.name} en %{iab.specialFeatures.2.name}. \n\n\nOns derdeparty IAB TCF-vennote kan inligting op jou toestel stoor en toegang verkry, soos IP-adres en toestelkenmerke. Ons IAB TCF-vennote kan hierdie persoonlike data verwerk op grond van wettige belang, of met jou toestemming. Jy kan jou voorkeure enige tyd verander of terugtrek deur op die koekie-ikoon of skakel te klik; as gevolg hiervan, sal jy dalk nie relevante advertensies of gepersonaliseerde inhoud sien nie.",
126
+ "basis": {
127
+ "legit": "Legal basis is legitimate interest.",
128
+ "consent": "Legal basis is consent.",
129
+ "combined": "Legal basis is legitimate interest or consent."
90
130
  },
91
131
  "drawer": {
92
- "header": "Bergingvoorkeure",
93
- "close": "Maak Koekievoorkeure toe",
94
- "description": "Wanneer jy webwerwe besoek, kan hulle data oor jou stoor of ophaal met behulp van koekies en soortgelyke tegnologieë (\"koekies\"). Koekies kan nodig wees vir die basiese funksionaliteit van die webwerf sowel as ander doeleindes. Jy het die opsie om sekere soorte webkoekies te deaktiveer, alhoewel dit jou ervaring op die webwerf kan beïnvloed."
132
+ "description": "Third-party vendors on this website may implement the following purposes, special features, and functionality based on your consent. Some Vendors are not requesting consent and are processing your data on the basis of their legitimate interest. You have the right to object to such processing by disabling the legitimate interest option below per purpose. You may also object to legitimate interest per Vendor via the Third Parties link.\n\nThe choices you make regarding the purposes and vendors listed in this notice are saved in a cookie named osano_consentmanager for a maximum duration of %{consentMaxAgeMonths} months."
133
+ },
134
+ "legal": {
135
+ "object": "Ek maak beswaar teen die verwerking van my persoonlike data vir hierdie doel op grond van wettige belang.",
136
+ "preamble": "Third-party vendors on this website may implement the following features, purposes, special features, and functionality.",
137
+ "title": "All Third Party Disclosures"
138
+ },
139
+ "vendor": {
140
+ "dataRetention": "Databehoud is %{days} dae",
141
+ "maxCookieStorage": "Maximum cookie storage",
142
+ "preamble": "Hierdie webwerf deel data met die volgende derdeparty IAB TCF-verskaffers. U kan u toestemmingsvoorkeure vir elke IAB TCF-verskaffer in hierdie afdeling verander. As jy onttrek van 'n IAB TCF-verskaffer, sal hulle nie toegelaat word om jou persoonlike data te verwerk op grond van toestemming nie. Sommige verkopers vra nie toestemming nie en verwerk jou data op grond van hul wettige belang. Jy het die reg om beswaar te maak teen sodanige verwerking deur die wettige belang-opsie hieronder te deaktiveer.",
143
+ "title": "Third Parties",
144
+ "usesNonCookieAccess": "This vendor uses other methods of storage or accessing information already stored on a user's device."
145
+ },
146
+ "terms": {
147
+ "dataCategories": "Datakategorieë:",
148
+ "illustrations": "Illustrasies:",
149
+ "legIntClaim": "Wettige belange op die spel",
150
+ "specialPurposes": "Special Purposes:",
151
+ "features": "Features:",
152
+ "specialFeatures": "Special Features:",
153
+ "legInt": "Wettige belang",
154
+ "consent": "Toestemming"
155
+ },
156
+ "partnerCount": "%{partnerCount} vennoot",
157
+ "partnerCountPlural": "%{partnerCount} vennote",
158
+ "purposes": {
159
+ "1": {
160
+ "name": "Store and/or access information on a device",
161
+ "description": "Cookies, device or similar online identifiers (e.g. login-based identifiers, randomly assigned identifiers, network based identifiers) together with other information (e.g. browser type and information, language, screen size, supported technologies etc.) can be stored or read on your device to recognise it each time it connects to an app or to a website, for one or several of the purposes presented here.",
162
+ "illustrations": {
163
+ "1": "Most purposes explained in this notice rely on the storage or accessing of information from your device when you use an app or visit a website. For example, a vendor or publisher might need to store a cookie on your device during your first visit on a website, to be able to recognise your device during your next visits (by accessing this cookie each time)."
164
+ }
165
+ },
166
+ "2": {
167
+ "name": "Use limited data to select advertising",
168
+ "description": "Advertising presented to you on this service can be based on limited data, such as the website or app you are using, your non-precise location, your device type or which content you are (or have been) interacting with (for example, to limit the number of times an ad is presented to you).",
169
+ "illustrations": {
170
+ "1": "A car manufacturer wants to promote its electric vehicles to environmentally conscious users living in the city after office hours. The advertising is presented on a page with related content (such as an article on climate change actions) after 6:30 p.m. to users whose non-precise location suggests that they are in an urban zone.",
171
+ "2": "A large producer of watercolour paints wants to carry out an online advertising campaign for its latest watercolour range, diversifying its audience to reach as many amateur and professional artists as possible and avoiding showing the ad next to mismatched content (for instance, articles about how to paint your house). The number of times that the ad has been presented to you is detected and limited, to avoid presenting it too often."
172
+ }
173
+ },
174
+ "3": {
175
+ "name": "Create profiles for personalised advertising",
176
+ "description": "Information about your activity on this service (such as forms you submit, content you look at) can be stored and combined with other information about you (for example, information from your previous activity on this service and other websites or apps) or similar users. This is then used to build or improve a profile about you (that might include possible interests and personal aspects). Your profile can be used (also later) to present advertising that appears more relevant based on your possible interests by this and other entities.",
177
+ "illustrations": {
178
+ "1": "If you read several articles about the best bike accessories to buy, this information could be used to create a profile about your interest in bike accessories. Such a profile may be used or improved later on, on the same or a different website or app to present you with advertising for a particular bike accessory brand. If you also look at a configurator for a vehicle on a luxury car manufacturer website, this information could be combined with your interest in bikes to refine your profile and make an assumption that you are interested in luxury cycling gear.",
179
+ "2": "An apparel company wishes to promote its new line of high-end baby clothes. It gets in touch with an agency that has a network of clients with high income customers (such as high-end supermarkets) and asks the agency to create profiles of young parents or couples who can be assumed to be wealthy and to have a new child, so that these can later be used to present advertising within partner apps based on those profiles."
180
+ }
181
+ },
182
+ "4": {
183
+ "name": "Use profiles to select personalised advertising",
184
+ "description": "Advertising presented to you on this service can be based on your advertising profiles, which can reflect your activity on this service or other websites or apps (like the forms you submit, content you look at), possible interests and personal aspects.",
185
+ "illustrations": {
186
+ "1": "An online retailer wants to advertise a limited sale on running shoes. It wants to target advertising to users who previously looked at running shoes on its mobile app. Tracking technologies might be used to recognise that you have previously used the mobile app to consult running shoes, in order to present you with the corresponding advertisement on the app.",
187
+ "2": "A profile created for personalised advertising in relation to a person having searched for bike accessories on a website can be used to present the relevant advertisement for bike accessories on a mobile app of another organisation."
188
+ }
189
+ },
190
+ "5": {
191
+ "name": "Create profiles to personalise content",
192
+ "description": "Information about your activity on this service (for instance, forms you submit, non-advertising content you look at) can be stored and combined with other information about you (such as your previous activity on this service or other websites or apps) or similar users. This is then used to build or improve a profile about you (which might for example include possible interests and personal aspects). Your profile can be used (also later) to present content that appears more relevant based on your possible interests, such as by adapting the order in which content is shown to you, so that it is even easier for you to find content that matches your interests.",
193
+ "illustrations": {
194
+ "1": "You read several articles on how to build a treehouse on a social media platform. This information might be added to a profile to mark your interest in content related to outdoors as well as do-it-yourself guides (with the objective of allowing the personalisation of content, so that for example you are presented with more blog posts and articles on treehouses and wood cabins in the future).",
195
+ "2": "You have viewed three videos on space exploration across different TV apps. An unrelated news platform with which you have had no contact builds a profile based on that viewing behaviour, marking space exploration as a topic of possible interest for other videos."
196
+ }
197
+ },
198
+ "6": {
199
+ "name": "Use profiles to select personalised content",
200
+ "description": "Content presented to you on this service can be based on your content personalisation profiles, which can reflect your activity on this or other services (for instance, the forms you submit, content you look at), possible interests and personal aspects, such as by adapting the order in which content is shown to you, so that it is even easier for you to find (non-advertising) content that matches your interests.",
201
+ "illustrations": {
202
+ "1": "You read articles on vegetarian food on a social media platform and then use the cooking app of an unrelated company. The profile built about you on the social media platform will be used to present you vegetarian recipes on the welcome screen of the cooking app.",
203
+ "2": "You have viewed three videos about rowing across different websites. An unrelated video sharing platform will recommend five other videos on rowing that may be of interest to you when you use your TV app, based on a profile built about you when you visited those different websites to watch online videos."
204
+ }
205
+ },
206
+ "7": {
207
+ "name": "Measure advertising performance",
208
+ "description": "Information regarding which advertising is presented to you and how you interact with it can be used to determine how well an advert has worked for you or other users and whether the goals of the advertising were reached. For instance, whether you saw an ad, whether you clicked on it, whether it led you to buy a product or visit a website, etc. This is very helpful to understand the relevance of advertising campaigns.",
209
+ "illustrations": {
210
+ "1": "You have clicked on an advertisement about a “black Friday” discount by an online shop on the website of a publisher and purchased a product. Your click will be linked to this purchase. Your interaction and that of other users will be measured to know how many clicks on the ad led to a purchase.",
211
+ "2": "You are one of very few to have clicked on an advertisement about an “international appreciation day” discount by an online gift shop within the app of a publisher. The publisher wants to have reports to understand how often a specific ad placement within the app, and notably the “international appreciation day” ad, has been viewed or clicked by you and other users, in order to help the publisher and its partners (such as agencies) optimise ad placements."
212
+ }
213
+ },
214
+ "8": {
215
+ "name": "Measure content performance",
216
+ "description": "Information regarding which content is presented to you and how you interact with it can be used to determine whether the (non-advertising) content e.g. reached its intended audience and matched your interests. For instance, whether you read an article, watch a video, listen to a podcast or look at a product description, how long you spent on this service and the web pages you visit etc. This is very helpful to understand the relevance of (non-advertising) content that is shown to you.",
217
+ "illustrations": {
218
+ "1": "You have read a blog post about hiking on a mobile app of a publisher and followed a link to a recommended and related post. Your interactions will be recorded as showing that the initial hiking post was useful to you and that it was successful in interesting you in the related post. This will be measured to know whether to produce more posts on hiking in the future and where to place them on the home screen of the mobile app.",
219
+ "2": "You were presented a video on fashion trends, but you and several other users stopped watching after 30 seconds. This information is then used to evaluate the right length of future videos on fashion trends."
220
+ }
221
+ },
222
+ "9": {
223
+ "name": "Understand audiences through statistics or combinations of data from different sources",
224
+ "description": "Reports can be generated based on the combination of data sets (like user profiles, statistics, market research, analytics data) regarding your interactions and those of other users with advertising or (non-advertising) content to identify common characteristics (for instance, to determine which target audiences are more receptive to an ad campaign or to certain contents).",
225
+ "illustrations": {
226
+ "1": "The owner of an online bookstore wants commercial reporting showing the proportion of visitors who consulted and left its site without buying, or consulted and bought the last celebrity autobiography of the month, as well as the average age and the male/female distribution of each category. Data relating to your navigation on its site and to your personal characteristics is then used and combined with other such data to produce these statistics.",
227
+ "2": "An advertiser wants to better understand the type of audience interacting with its adverts. It calls upon a research institute to compare the characteristics of users who interacted with the ad with typical attributes of users of similar platforms, across different devices. This comparison reveals to the advertiser that its ad audience is mainly accessing the adverts through mobile devices and is likely in the 45-60 age range."
228
+ }
229
+ },
230
+ "10": {
231
+ "name": "Develop and improve services",
232
+ "description": "Information about your activity on this service, such as your interaction with ads or content, can be very helpful to improve products and services and to build new products and services based on user interactions, the type of audience, etc. This specific purpose does not include the development or improvement of user profiles and identifiers.",
233
+ "illustrations": {
234
+ "1": "A technology platform working with a social media provider notices a growth in mobile app users, and sees based on their profiles that many of them are connecting through mobile connections. It uses a new technology to deliver ads that are formatted for mobile devices and that are low-bandwidth, to improve their performance.",
235
+ "2": "An advertiser is looking for a way to display ads on a new type of consumer device. It collects information regarding the way users interact with this new kind of device to determine whether it can build a new mechanism for displaying advertising on this type of device."
236
+ }
237
+ },
238
+ "11": {
239
+ "name": "Use limited data to select content",
240
+ "description": "Content presented to you on this service can be based on limited data, such as the website or app you are using, your non-precise location, your device type, or which content you are (or have been) interacting with (for example, to limit the number of times a video or an article is presented to you).",
241
+ "illustrations": {
242
+ "1": "A travel magazine has published an article on its website about the new online courses proposed by a language school, to improve travelling experiences abroad. The school’s blog posts are inserted directly at the bottom of the page, and selected on the basis of your non-precise location (for instance, blog posts explaining the course curriculum for different languages than the language of the country you are situated in).",
243
+ "2": "A sports news mobile app has started a new section of articles covering the most recent football games. Each article includes videos hosted by a separate streaming platform showcasing the highlights of each match. If you fast-forward a video, this information may be used to select a shorter video to play next."
244
+ }
245
+ }
95
246
  },
96
- "iab": {
97
- "vendor": {
98
- "dataRetention": "Databehoud is %{days} dae",
99
- "title": "Third Parties",
100
- "preamble": "Hierdie webwerf deel data met die volgende derdeparty IAB TCF-verskaffers. U kan u toestemmingsvoorkeure vir elke IAB TCF-verskaffer in hierdie afdeling verander. As jy onttrek van 'n IAB TCF-verskaffer, sal hulle nie toegelaat word om jou persoonlike data te verwerk op grond van toestemming nie. Sommige verkopers vra nie toestemming nie en verwerk jou data op grond van hul wettige belang. Jy het die reg om beswaar te maak teen sodanige verwerking deur die wettige belang-opsie hieronder te deaktiveer.",
101
- "maxCookieStorage": "Maximum cookie storage",
102
- "usesNonCookieAccess": "This vendor uses other methods of storage or accessing information already stored on a user's device."
103
- },
104
- "layer1": "Ons en ons %{vendorCount} IAB TCF-vennote stoor en kry toegang tot inligting op jou toestel vir die volgende doeleindes: %{stacks}. \n\n\nPersoonlike data kan verwerk word om die volgende te doen: %{iab.specialFeatures.1.name} en %{iab.specialFeatures.2.name}. \n\n\nOns derdeparty IAB TCF-vennote kan inligting op jou toestel stoor en toegang verkry, soos IP-adres en toestelkenmerke. Ons IAB TCF-vennote kan hierdie persoonlike data verwerk op grond van wettige belang, of met jou toestemming. Jy kan jou voorkeure enige tyd verander of terugtrek deur op die koekie-ikoon of skakel te klik; as gevolg hiervan, sal jy dalk nie relevante advertensies of gepersonaliseerde inhoud sien nie.",
105
- "legal": {
106
- "title": "All Third Party Disclosures",
107
- "preamble": "Third-party vendors on this website may implement the following features, purposes, special features, and functionality."
108
- },
109
- "terms": {
110
- "dataCategories": "Datakategorieë:",
111
- "illustrations": "Illustrasies:",
112
- "legIntClaim": "Wettige belange op die spel",
113
- "specialPurposes": "Special Purposes:",
114
- "features": "Features:",
115
- "specialFeatures": "Special Features:",
116
- "legInt": "Wettige belang",
117
- "consent": "Toestemming"
118
- },
119
- "partnerCount": "%{partnerCount} vennoot",
120
- "partnerCountPlural": "%{partnerCount} vennote",
121
- "purposes": {
122
- "1": {
123
- "name": "Store and/or access information on a device",
124
- "description": "Cookies, device or similar online identifiers (e.g. login-based identifiers, randomly assigned identifiers, network based identifiers) together with other information (e.g. browser type and information, language, screen size, supported technologies etc.) can be stored or read on your device to recognise it each time it connects to an app or to a website, for one or several of the purposes presented here.",
125
- "illustrations": {
126
- "1": "Most purposes explained in this notice rely on the storage or accessing of information from your device when you use an app or visit a website. For example, a vendor or publisher might need to store a cookie on your device during your first visit on a website, to be able to recognise your device during your next visits (by accessing this cookie each time)."
127
- }
128
- },
129
- "2": {
130
- "name": "Use limited data to select advertising",
131
- "description": "Advertising presented to you on this service can be based on limited data, such as the website or app you are using, your non-precise location, your device type or which content you are (or have been) interacting with (for example, to limit the number of times an ad is presented to you).",
132
- "illustrations": {
133
- "1": "A car manufacturer wants to promote its electric vehicles to environmentally conscious users living in the city after office hours. The advertising is presented on a page with related content (such as an article on climate change actions) after 6:30 p.m. to users whose non-precise location suggests that they are in an urban zone.",
134
- "2": "A large producer of watercolour paints wants to carry out an online advertising campaign for its latest watercolour range, diversifying its audience to reach as many amateur and professional artists as possible and avoiding showing the ad next to mismatched content (for instance, articles about how to paint your house). The number of times that the ad has been presented to you is detected and limited, to avoid presenting it too often."
135
- }
136
- },
137
- "3": {
138
- "name": "Create profiles for personalised advertising",
139
- "description": "Information about your activity on this service (such as forms you submit, content you look at) can be stored and combined with other information about you (for example, information from your previous activity on this service and other websites or apps) or similar users. This is then used to build or improve a profile about you (that might include possible interests and personal aspects). Your profile can be used (also later) to present advertising that appears more relevant based on your possible interests by this and other entities.",
140
- "illustrations": {
141
- "1": "If you read several articles about the best bike accessories to buy, this information could be used to create a profile about your interest in bike accessories. Such a profile may be used or improved later on, on the same or a different website or app to present you with advertising for a particular bike accessory brand. If you also look at a configurator for a vehicle on a luxury car manufacturer website, this information could be combined with your interest in bikes to refine your profile and make an assumption that you are interested in luxury cycling gear.",
142
- "2": "An apparel company wishes to promote its new line of high-end baby clothes. It gets in touch with an agency that has a network of clients with high income customers (such as high-end supermarkets) and asks the agency to create profiles of young parents or couples who can be assumed to be wealthy and to have a new child, so that these can later be used to present advertising within partner apps based on those profiles."
143
- }
144
- },
145
- "4": {
146
- "name": "Use profiles to select personalised advertising",
147
- "description": "Advertising presented to you on this service can be based on your advertising profiles, which can reflect your activity on this service or other websites or apps (like the forms you submit, content you look at), possible interests and personal aspects.",
148
- "illustrations": {
149
- "1": "An online retailer wants to advertise a limited sale on running shoes. It wants to target advertising to users who previously looked at running shoes on its mobile app. Tracking technologies might be used to recognise that you have previously used the mobile app to consult running shoes, in order to present you with the corresponding advertisement on the app.",
150
- "2": "A profile created for personalised advertising in relation to a person having searched for bike accessories on a website can be used to present the relevant advertisement for bike accessories on a mobile app of another organisation."
151
- }
152
- },
153
- "5": {
154
- "name": "Create profiles to personalise content",
155
- "description": "Information about your activity on this service (for instance, forms you submit, non-advertising content you look at) can be stored and combined with other information about you (such as your previous activity on this service or other websites or apps) or similar users. This is then used to build or improve a profile about you (which might for example include possible interests and personal aspects). Your profile can be used (also later) to present content that appears more relevant based on your possible interests, such as by adapting the order in which content is shown to you, so that it is even easier for you to find content that matches your interests.",
156
- "illustrations": {
157
- "1": "You read several articles on how to build a treehouse on a social media platform. This information might be added to a profile to mark your interest in content related to outdoors as well as do-it-yourself guides (with the objective of allowing the personalisation of content, so that for example you are presented with more blog posts and articles on treehouses and wood cabins in the future).",
158
- "2": "You have viewed three videos on space exploration across different TV apps. An unrelated news platform with which you have had no contact builds a profile based on that viewing behaviour, marking space exploration as a topic of possible interest for other videos."
159
- }
160
- },
161
- "6": {
162
- "name": "Use profiles to select personalised content",
163
- "description": "Content presented to you on this service can be based on your content personalisation profiles, which can reflect your activity on this or other services (for instance, the forms you submit, content you look at), possible interests and personal aspects, such as by adapting the order in which content is shown to you, so that it is even easier for you to find (non-advertising) content that matches your interests.",
164
- "illustrations": {
165
- "1": "You read articles on vegetarian food on a social media platform and then use the cooking app of an unrelated company. The profile built about you on the social media platform will be used to present you vegetarian recipes on the welcome screen of the cooking app.",
166
- "2": "You have viewed three videos about rowing across different websites. An unrelated video sharing platform will recommend five other videos on rowing that may be of interest to you when you use your TV app, based on a profile built about you when you visited those different websites to watch online videos."
167
- }
168
- },
169
- "7": {
170
- "name": "Measure advertising performance",
171
- "description": "Information regarding which advertising is presented to you and how you interact with it can be used to determine how well an advert has worked for you or other users and whether the goals of the advertising were reached. For instance, whether you saw an ad, whether you clicked on it, whether it led you to buy a product or visit a website, etc. This is very helpful to understand the relevance of advertising campaigns.",
172
- "illustrations": {
173
- "1": "You have clicked on an advertisement about a “black Friday” discount by an online shop on the website of a publisher and purchased a product. Your click will be linked to this purchase. Your interaction and that of other users will be measured to know how many clicks on the ad led to a purchase.",
174
- "2": "You are one of very few to have clicked on an advertisement about an “international appreciation day” discount by an online gift shop within the app of a publisher. The publisher wants to have reports to understand how often a specific ad placement within the app, and notably the “international appreciation day” ad, has been viewed or clicked by you and other users, in order to help the publisher and its partners (such as agencies) optimise ad placements."
175
- }
176
- },
177
- "8": {
178
- "name": "Measure content performance",
179
- "description": "Information regarding which content is presented to you and how you interact with it can be used to determine whether the (non-advertising) content e.g. reached its intended audience and matched your interests. For instance, whether you read an article, watch a video, listen to a podcast or look at a product description, how long you spent on this service and the web pages you visit etc. This is very helpful to understand the relevance of (non-advertising) content that is shown to you.",
180
- "illustrations": {
181
- "1": "You have read a blog post about hiking on a mobile app of a publisher and followed a link to a recommended and related post. Your interactions will be recorded as showing that the initial hiking post was useful to you and that it was successful in interesting you in the related post. This will be measured to know whether to produce more posts on hiking in the future and where to place them on the home screen of the mobile app.",
182
- "2": "You were presented a video on fashion trends, but you and several other users stopped watching after 30 seconds. This information is then used to evaluate the right length of future videos on fashion trends."
183
- }
184
- },
185
- "9": {
186
- "name": "Understand audiences through statistics or combinations of data from different sources",
187
- "description": "Reports can be generated based on the combination of data sets (like user profiles, statistics, market research, analytics data) regarding your interactions and those of other users with advertising or (non-advertising) content to identify common characteristics (for instance, to determine which target audiences are more receptive to an ad campaign or to certain contents).",
188
- "illustrations": {
189
- "1": "The owner of an online bookstore wants commercial reporting showing the proportion of visitors who consulted and left its site without buying, or consulted and bought the last celebrity autobiography of the month, as well as the average age and the male/female distribution of each category. Data relating to your navigation on its site and to your personal characteristics is then used and combined with other such data to produce these statistics.",
190
- "2": "An advertiser wants to better understand the type of audience interacting with its adverts. It calls upon a research institute to compare the characteristics of users who interacted with the ad with typical attributes of users of similar platforms, across different devices. This comparison reveals to the advertiser that its ad audience is mainly accessing the adverts through mobile devices and is likely in the 45-60 age range."
191
- }
192
- },
193
- "10": {
194
- "name": "Develop and improve services",
195
- "description": "Information about your activity on this service, such as your interaction with ads or content, can be very helpful to improve products and services and to build new products and services based on user interactions, the type of audience, etc. This specific purpose does not include the development or improvement of user profiles and identifiers.",
196
- "illustrations": {
197
- "1": "A technology platform working with a social media provider notices a growth in mobile app users, and sees based on their profiles that many of them are connecting through mobile connections. It uses a new technology to deliver ads that are formatted for mobile devices and that are low-bandwidth, to improve their performance.",
198
- "2": "An advertiser is looking for a way to display ads on a new type of consumer device. It collects information regarding the way users interact with this new kind of device to determine whether it can build a new mechanism for displaying advertising on this type of device."
199
- }
200
- },
201
- "11": {
202
- "name": "Use limited data to select content",
203
- "description": "Content presented to you on this service can be based on limited data, such as the website or app you are using, your non-precise location, your device type, or which content you are (or have been) interacting with (for example, to limit the number of times a video or an article is presented to you).",
204
- "illustrations": {
205
- "1": "A travel magazine has published an article on its website about the new online courses proposed by a language school, to improve travelling experiences abroad. The school’s blog posts are inserted directly at the bottom of the page, and selected on the basis of your non-precise location (for instance, blog posts explaining the course curriculum for different languages than the language of the country you are situated in).",
206
- "2": "A sports news mobile app has started a new section of articles covering the most recent football games. Each article includes videos hosted by a separate streaming platform showcasing the highlights of each match. If you fast-forward a video, this information may be used to select a shorter video to play next."
207
- }
208
- }
209
- },
210
- "specialPurposes": {
211
- "1": {
212
- "name": "Ensure security, prevent and detect fraud, and fix errors",
213
- "description": "Your data can be used to monitor for and prevent unusual and possibly fraudulent activity (for example, regarding advertising, ad clicks by bots), and ensure systems and processes work properly and securely. It can also be used to correct any problems you, the publisher or the advertiser may encounter in the delivery of content and ads and in your interaction with them.",
214
- "illustrations": {
215
- "1": "An advertising intermediary delivers ads from various advertisers to its network of partnering websites. It notices a large increase in clicks on ads relating to one advertiser, and uses data regarding the source of the clicks to determine that 80% of the clicks come from bots rather than humans."
216
- }
217
- },
218
- "2": {
219
- "name": "Deliver and present advertising and content",
220
- "description": "Certain information (like an IP address or device capabilities) is used to ensure the technical compatibility of the content or advertising, and to facilitate the transmission of the content or ad to your device.",
221
- "illustrations": {
222
- "1": "Clicking on a link in an article might normally send you to another page or part of the article. To achieve this, 1°) your browser sends a request to a server linked to the website, 2°) the server answers back (“here is the article you asked for”), using technical information automatically included in the request sent by your device, to properly display the information / images that are part of the article you asked for. Technically, such exchange of information is necessary to deliver the content that appears on your screen."
223
- }
224
- },
225
- "3": {
226
- "name": "Save and communicate privacy choices",
227
- "description": "The choices you make regarding the purposes and entities listed in this notice are saved and made available to those entities in the form of digital signals (such as a string of characters). This is necessary in order to enable both this service and those entities to respect such choices.",
228
- "illustrations": {
229
- "1": "When you visit a website and are offered a choice between consenting to the use of profiles for personalised advertising or not consenting, the choice you make is saved and made available to advertising providers, so that advertising presented to you respects that choice."
230
- }
231
- }
232
- },
233
- "features": {
234
- "1": {
235
- "name": "Match and combine data from other data sources",
236
- "description": "Information about your activity on this service may be matched and combined with other information relating to you and originating from various sources (for instance your activity on a separate online service, your use of a loyalty card in-store, or your answers to a survey), in support of the purposes explained in this notice."
237
- },
238
- "2": {
239
- "name": "Link different devices",
240
- "description": "In support of the purposes explained in this notice, your device might be considered as likely linked to other devices that belong to you or your household (for instance because you are logged in to the same service on both your phone and your computer, or because you may use the same Internet connection on both devices)."
241
- },
242
- "3": {
243
- "name": "Identify devices based on information transmitted automatically",
244
- "description": "Your device might be distinguished from other devices based on information it automatically sends when accessing the Internet (for instance, the IP address of your Internet connection or the type of browser you are using) in support of the purposes exposed in this notice."
245
- }
246
- },
247
- "specialFeatures": {
248
- "1": {
249
- "name": "Use precise geolocation data",
250
- "description": "With your acceptance, your precise location (within a radius of less than 500 metres) may be used in support of the purposes explained in this notice."
251
- },
252
- "2": {
253
- "name": "Actively scan device characteristics for identification",
254
- "description": "With your acceptance, certain characteristics specific to your device might be requested and used to distinguish it from other devices (such as the installed fonts or plugins, the resolution of your screen) in support of the purposes explained in this notice."
255
- }
256
- },
257
- "basis": {
258
- "legit": "Legal basis is legitimate interest.",
259
- "consent": "Legal basis is consent.",
260
- "combined": "Legal basis is legitimate interest or consent."
261
- },
262
- "dataCategories": {
263
- "1": {
264
- "name": "IP addresses",
265
- "description": "Your IP address is a number assigned by your Internet Service Provider to any Internet connection. It is not always specific to your device and is not always a stable identifier.\nIt is used to route information on the Internet and display online content (including ads) on your connected device."
266
- },
267
- "2": {
268
- "name": "Device characteristics",
269
- "description": "Technical characteristics about the device you are using that are not unique to you, such as the language, the time zone or the operating system."
270
- },
271
- "3": {
272
- "name": "Device identifiers",
273
- "description": "A device identifier is a unique string of characters assigned to your device or browser by means of a cookie or other storage technologies. \nIt may be created or accessed to recognise your device e.g. across web pages from the same site or across multiple sites or apps."
274
- },
275
- "4": {
276
- "name": "Probabilistic identifiers",
277
- "description": "A probabilistic identifier can be created by combining characteristics associated with your device (the type of browser or operating system used) and the IP address of the Internet connection. If you give your agreement, additional characteristics (e.g. the installed font or screen resolution) can also be combined to improve precision of the probabilistic identifier.\nSuch an identifier is considered \"probabilistic\" because several devices can share the same characteristics and Internet connection. It may be used to recognise your device across e.g. web pages from the same site or across multiple sites or apps."
278
- },
279
- "5": {
280
- "name": "Authentication-derived identifiers",
281
- "description": "Where an identifier is created on the basis of authentication data, such as contact details associated with online accounts you have created on websites or apps (e.g. e-mail address, phone number) or customer identifiers (e.g. identifier provided by your telecom operator), that identifier may be used to recognise you across websites, apps and devices when you are logged-in with the same contact details."
282
- },
283
- "6": {
284
- "name": "Browsing and interaction data",
285
- "description": "Your online activity such as the websites you visit, apps you are using, the content you search for on this service, or your interactions with content or ads, such as the number of times you have seen a specific content or ad or whether you clicked on it."
286
- },
287
- "7": {
288
- "name": "User-provided data",
289
- "description": "The information you may have provided by way of declaration via a form (e.g. feedback, a comment) or when creating an account (e.g. your age, your occupation)."
290
- },
291
- "8": {
292
- "name": "Non-precise location data",
293
- "description": "An approximation of your location, expressed as an area with a radius of at least 500 meters. Your approximate location can be deduced from e.g. the IP address of your connection."
294
- },
295
- "9": {
296
- "name": "Precise location data",
297
- "description": "Your precise location within a radius of less than 500 meters based on your GPS coordinates. It may be used only with your acceptance."
298
- },
299
- "10": {
300
- "name": "Users’ profiles",
301
- "description": "Certain characteristics (e.g. your possible interests, your purchase intentions, your consumer profile) may be inferred or modeled from your previous online activity (e.g. the content you viewed or the service you used, your time spent on various online content and services) or the information you have provided (e.g. your age, your occupation)."
302
- },
303
- "11": {
304
- "name": "Privacy choices",
305
- "description": "Your preferences regarding the processing of your data, based on the information you have received."
306
- }
307
- },
308
- "drawer": {
309
- "description": "Third-party vendors on this website may implement the following purposes, special features, and functionality based on your consent. Some Vendors are not requesting consent and are processing your data on the basis of their legitimate interest. You have the right to object to such processing by disabling the legitimate interest option below per purpose. You may also object to legitimate interest per Vendor via the Third Parties link.\n\nThe choices you make regarding the purposes and vendors listed in this notice are saved in a cookie named osano_consentmanager for a maximum duration of %{consentMaxAgeMonths} months."
310
- },
311
- "stacks": {
312
- "3": {
313
- "name": "Personalised advertising",
314
- "description": "Advertising can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising."
315
- },
316
- "20": {
317
- "name": "Advertising and content measurement, audience research, and services development",
318
- "description": "Advertising and content performance can be measured. Your activity on this service can help develop and improve products and services. Reports can be generated based on your activity and those of others."
319
- },
320
- "44": {
321
- "name": "Personalised content",
322
- "description": "Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content."
323
- }
247
+ "specialPurposes": {
248
+ "1": {
249
+ "name": "Ensure security, prevent and detect fraud, and fix errors",
250
+ "description": "Your data can be used to monitor for and prevent unusual and possibly fraudulent activity (for example, regarding advertising, ad clicks by bots), and ensure systems and processes work properly and securely. It can also be used to correct any problems you, the publisher or the advertiser may encounter in the delivery of content and ads and in your interaction with them.",
251
+ "illustrations": {
252
+ "1": "An advertising intermediary delivers ads from various advertisers to its network of partnering websites. It notices a large increase in clicks on ads relating to one advertiser, and uses data regarding the source of the clicks to determine that 80% of the clicks come from bots rather than humans."
253
+ }
254
+ },
255
+ "2": {
256
+ "name": "Deliver and present advertising and content",
257
+ "description": "Certain information (like an IP address or device capabilities) is used to ensure the technical compatibility of the content or advertising, and to facilitate the transmission of the content or ad to your device.",
258
+ "illustrations": {
259
+ "1": "Clicking on a link in an article might normally send you to another page or part of the article. To achieve this, 1°) your browser sends a request to a server linked to the website, 2°) the server answers back (“here is the article you asked for”), using technical information automatically included in the request sent by your device, to properly display the information / images that are part of the article you asked for. Technically, such exchange of information is necessary to deliver the content that appears on your screen."
324
260
  }
261
+ },
262
+ "3": {
263
+ "name": "Save and communicate privacy choices",
264
+ "description": "The choices you make regarding the purposes and entities listed in this notice are saved and made available to those entities in the form of digital signals (such as a string of characters). This is necessary in order to enable both this service and those entities to respect such choices.",
265
+ "illustrations": {
266
+ "1": "When you visit a website and are offered a choice between consenting to the use of profiles for personalised advertising or not consenting, the choice you make is saved and made available to advertising providers, so that advertising presented to you respects that choice."
267
+ }
268
+ }
269
+ },
270
+ "features": {
271
+ "1": {
272
+ "name": "Match and combine data from other data sources",
273
+ "description": "Information about your activity on this service may be matched and combined with other information relating to you and originating from various sources (for instance your activity on a separate online service, your use of a loyalty card in-store, or your answers to a survey), in support of the purposes explained in this notice."
274
+ },
275
+ "2": {
276
+ "name": "Link different devices",
277
+ "description": "In support of the purposes explained in this notice, your device might be considered as likely linked to other devices that belong to you or your household (for instance because you are logged in to the same service on both your phone and your computer, or because you may use the same Internet connection on both devices)."
278
+ },
279
+ "3": {
280
+ "name": "Identify devices based on information transmitted automatically",
281
+ "description": "Your device might be distinguished from other devices based on information it automatically sends when accessing the Internet (for instance, the IP address of your Internet connection or the type of browser you are using) in support of the purposes exposed in this notice."
282
+ }
283
+ },
284
+ "specialFeatures": {
285
+ "1": {
286
+ "name": "Use precise geolocation data",
287
+ "description": "With your acceptance, your precise location (within a radius of less than 500 metres) may be used in support of the purposes explained in this notice."
288
+ },
289
+ "2": {
290
+ "name": "Actively scan device characteristics for identification",
291
+ "description": "With your acceptance, certain characteristics specific to your device might be requested and used to distinguish it from other devices (such as the installed fonts or plugins, the resolution of your screen) in support of the purposes explained in this notice."
292
+ }
325
293
  },
326
- "aria": {
327
- "newWindow": "Maak in 'n nuwe venster oop",
328
- "external": "Maak 'n eksterne webwerf oop",
329
- "externalNewWindow": "Maak 'n eksterne webwerf in 'n nuwe venster oop"
294
+ "dataCategories": {
295
+ "1": {
296
+ "name": "IP addresses",
297
+ "description": "Your IP address is a number assigned by your Internet Service Provider to any Internet connection. It is not always specific to your device and is not always a stable identifier.\nIt is used to route information on the Internet and display online content (including ads) on your connected device."
298
+ },
299
+ "2": {
300
+ "name": "Device characteristics",
301
+ "description": "Technical characteristics about the device you are using that are not unique to you, such as the language, the time zone or the operating system."
302
+ },
303
+ "3": {
304
+ "name": "Device identifiers",
305
+ "description": "A device identifier is a unique string of characters assigned to your device or browser by means of a cookie or other storage technologies. \nIt may be created or accessed to recognise your device e.g. across web pages from the same site or across multiple sites or apps."
306
+ },
307
+ "4": {
308
+ "name": "Probabilistic identifiers",
309
+ "description": "A probabilistic identifier can be created by combining characteristics associated with your device (the type of browser or operating system used) and the IP address of the Internet connection. If you give your agreement, additional characteristics (e.g. the installed font or screen resolution) can also be combined to improve precision of the probabilistic identifier.\nSuch an identifier is considered \"probabilistic\" because several devices can share the same characteristics and Internet connection. It may be used to recognise your device across e.g. web pages from the same site or across multiple sites or apps."
310
+ },
311
+ "5": {
312
+ "name": "Authentication-derived identifiers",
313
+ "description": "Where an identifier is created on the basis of authentication data, such as contact details associated with online accounts you have created on websites or apps (e.g. e-mail address, phone number) or customer identifiers (e.g. identifier provided by your telecom operator), that identifier may be used to recognise you across websites, apps and devices when you are logged-in with the same contact details."
314
+ },
315
+ "6": {
316
+ "name": "Browsing and interaction data",
317
+ "description": "Your online activity such as the websites you visit, apps you are using, the content you search for on this service, or your interactions with content or ads, such as the number of times you have seen a specific content or ad or whether you clicked on it."
318
+ },
319
+ "7": {
320
+ "name": "User-provided data",
321
+ "description": "The information you may have provided by way of declaration via a form (e.g. feedback, a comment) or when creating an account (e.g. your age, your occupation)."
322
+ },
323
+ "8": {
324
+ "name": "Non-precise location data",
325
+ "description": "An approximation of your location, expressed as an area with a radius of at least 500 meters. Your approximate location can be deduced from e.g. the IP address of your connection."
326
+ },
327
+ "9": {
328
+ "name": "Precise location data",
329
+ "description": "Your precise location within a radius of less than 500 meters based on your GPS coordinates. It may be used only with your acceptance."
330
+ },
331
+ "10": {
332
+ "name": "Users’ profiles",
333
+ "description": "Certain characteristics (e.g. your possible interests, your purchase intentions, your consumer profile) may be inferred or modeled from your previous online activity (e.g. the content you viewed or the service you used, your time spent on various online content and services) or the information you have provided (e.g. your age, your occupation)."
334
+ },
335
+ "11": {
336
+ "name": "Privacy choices",
337
+ "description": "Your preferences regarding the processing of your data, based on the information you have received."
338
+ }
330
339
  },
331
- "doNotSell": {
332
- "header": "Jou privaatheidskeuses",
333
- "description": "Ons laat sekere aanlyn-advertensievennote toe om inligting van ons dienste in te samel deur middel van webkoekies en soortgelyke tegnologieë om advertensies te lewer wat meer relevant is vir jou en ons te help met advertensieverwante ontledings. Dit kan ingevolge sekere wette beskou word as \"verkoop\" of \"deel\" vir geteikende aanlyn-advertensies. Gebruik die skakelaar hieronder om van hierdie aktiwiteit te onttrek.",
334
- "link": "Jy kan meer oor ons privaatheidspraktyke te wete kom deur ons beleide na te gaan:"
340
+ "stacks": {
341
+ "3": {
342
+ "name": "Personalised advertising",
343
+ "description": "Advertising can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised advertising."
344
+ },
345
+ "20": {
346
+ "name": "Advertising and content measurement, audience research, and services development",
347
+ "description": "Advertising and content performance can be measured. Your activity on this service can help develop and improve products and services. Reports can be generated based on your activity and those of others."
348
+ },
349
+ "44": {
350
+ "name": "Personalised content",
351
+ "description": "Content can be personalised based on your profile. Your activity on this service can be used to build or improve a profile about you for personalised content."
352
+ }
335
353
  }
354
+ }
336
355
  }